diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 3897265..0000000 --- a/.eslintignore +++ /dev/null @@ -1,13 +0,0 @@ -.DS_Store -node_modules -/build -/.svelte-kit -/package -.env -.env.* -!.env.example - -# Ignore files for PNPM, NPM and YARN -pnpm-lock.yaml -package-lock.json -yarn.lock diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 3ccf435..0000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,20 +0,0 @@ -module.exports = { - root: true, - parser: '@typescript-eslint/parser', - extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'], - plugins: ['svelte3', '@typescript-eslint'], - ignorePatterns: ['*.cjs'], - overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }], - settings: { - 'svelte3/typescript': () => require('typescript') - }, - parserOptions: { - sourceType: 'module', - ecmaVersion: 2020 - }, - env: { - browser: true, - es2017: true, - node: true - } -}; diff --git a/.gitignore b/.gitignore index 6635cf5..bff793d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,24 @@ -.DS_Store +test-results node_modules -/build + +# Output +.output +.vercel +.netlify +.wrangler /.svelte-kit -/package +/build + +# OS +.DS_Store +Thumbs.db + +# Env .env .env.* !.env.example +!.env.test + +# Vite vite.config.js.timestamp-* vite.config.ts.timestamp-* diff --git a/.prettierignore b/.prettierignore index 3897265..ab78a95 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,13 +1,4 @@ -.DS_Store -node_modules -/build -/.svelte-kit -/package -.env -.env.* -!.env.example - -# Ignore files for PNPM, NPM and YARN -pnpm-lock.yaml +# Package Managers package-lock.json +pnpm-lock.yaml yarn.lock diff --git a/.prettierrc b/.prettierrc index a77fdde..b19073e 100644 --- a/.prettierrc +++ b/.prettierrc @@ -3,7 +3,16 @@ "singleQuote": true, "trailingComma": "none", "printWidth": 100, - "plugins": ["prettier-plugin-svelte"], - "pluginSearchDirs": ["."], - "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }] + "plugins": [ + "prettier-plugin-svelte", + "prettier-plugin-tailwindcss" + ], + "overrides": [ + { + "files": "*.svelte", + "options": { + "parser": "svelte" + } + } + ] } diff --git a/README.md b/README.md index 6066ea1..f945e28 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ # 아이템 시뮬레이터 -[itemsim.com](https://itemsim.com) +itemsim.com diff --git a/components.json b/components.json new file mode 100644 index 0000000..e1c74ec --- /dev/null +++ b/components.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://shadcn-svelte.com/schema.json", + "tailwind": { + "css": "src\\app.css", + "baseColor": "slate" + }, + "aliases": { + "components": "$lib/components", + "utils": "$lib/utils", + "ui": "$lib/components/ui", + "hooks": "$lib/hooks", + "lib": "$lib" + }, + "typescript": true, + "registry": "https://shadcn-svelte.com/registry" +} diff --git a/e2e/demo.test.ts b/e2e/demo.test.ts new file mode 100644 index 0000000..9985ce1 --- /dev/null +++ b/e2e/demo.test.ts @@ -0,0 +1,6 @@ +import { expect, test } from '@playwright/test'; + +test('home page has expected h1', async ({ page }) => { + await page.goto('/'); + await expect(page.locator('h1')).toBeVisible(); +}); diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 0000000..e9b89a2 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,39 @@ +import prettier from "eslint-config-prettier"; +import js from '@eslint/js'; +import { includeIgnoreFile } from '@eslint/compat'; +import svelte from 'eslint-plugin-svelte'; +import globals from 'globals'; +import { fileURLToPath } from 'node:url'; +import ts from 'typescript-eslint'; +import svelteConfig from './svelte.config.js'; +const gitignorePath = fileURLToPath(new URL("./.gitignore", import.meta.url)); + +export default ts.config( + includeIgnoreFile(gitignorePath), + js.configs.recommended, + ...ts.configs.recommended, + ...svelte.configs.recommended, + prettier, + ...svelte.configs['flat/prettier'], + { + languageOptions: { + globals: { + ...globals.browser, + ...globals.node + } + } + }, + { + files: ["**/*.svelte", "**/*.svelte.ts", "**/*.svelte.js"], + ignores: ["eslint.config.js", "svelte.config.js"], + + languageOptions: { + parserOptions: { + projectService: true, + extraFileExtensions: ['.svelte'], + parser: ts.parser, + svelteConfig + } + } + } +); diff --git a/package.json b/package.json index f2b890c..7310fc6 100644 --- a/package.json +++ b/package.json @@ -1,46 +1,73 @@ { "name": "itemsim", - "version": "0.0.1", "private": true, + "version": "0.0.1", "type": "module", "scripts": { "dev": "vite dev", "build": "vite build", "preview": "vite preview", - "test": "playwright test", + "prepare": "svelte-kit sync || echo ''", "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "format": "prettier --write .", + "lint": "prettier --check . && eslint .", "test:unit": "vitest", - "lint": "prettier --plugin-search-dir . --check . && eslint .", - "format": "prettier --plugin-search-dir . --write ." + "test": "npm run test:unit -- --run && npm run test:e2e", + "test:e2e": "playwright test" }, "devDependencies": { - "@playwright/test": "^1.43.1", - "@sveltejs/adapter-auto": "^2.1.1", - "@sveltejs/adapter-cloudflare": "^2.3.4", - "@sveltejs/kit": "^1.30.4", - "@typescript-eslint/eslint-plugin": "^5.62.0", - "@typescript-eslint/parser": "^5.62.0", - "carbon-components-svelte": "^0.73.5", - "carbon-icons-svelte": "^11.4.0", - "eslint": "^8.57.0", - "eslint-config-prettier": "^8.10.0", - "eslint-plugin-svelte3": "^4.0.0", - "lz-string": "^1.5.0", - "prettier": "^2.8.8", - "prettier-plugin-svelte": "^2.10.1", - "sass": "^1.75.0", - "svelte": "^3.59.2", - "svelte-check": "^3.6.9", - "tslib": "^2.6.2", - "typescript": "^5.4.5", - "vite": "^4.5.3", - "vitest": "^0.29.8" + "@eslint/compat": "^1.2.9", + "@eslint/js": "^9.27.0", + "@internationalized/date": "^3.8.1", + "@lucide/svelte": "^0.515.0", + "@playwright/test": "^1.52.0", + "@sveltejs/adapter-auto": "^4.0.0", + "@sveltejs/adapter-cloudflare": "^7.0.3", + "@sveltejs/kit": "^2.21.1", + "@sveltejs/vite-plugin-svelte": "^5.0.3", + "@tailwindcss/vite": "^4.1.7", + "@testing-library/jest-dom": "^6.6.3", + "@testing-library/svelte": "^5.2.8", + "bits-ui": "^2.9.6", + "clsx": "^2.1.1", + "eslint": "^9.27.0", + "eslint-config-prettier": "^10.1.5", + "eslint-plugin-svelte": "^3.9.0", + "globals": "^16.1.0", + "jsdom": "^26.1.0", + "mode-watcher": "^1.0.7", + "prettier": "^3.5.3", + "prettier-plugin-svelte": "^3.4.0", + "prettier-plugin-tailwindcss": "^0.6.11", + "svelte": "^5.33.1", + "svelte-check": "^4.2.1", + "svelte-sonner": "^1.0.1", + "tailwind-merge": "^3.3.0", + "tailwind-variants": "^1.0.0", + "tailwindcss": "^4.1.7", + "tw-animate-css": "^1.3.0", + "typescript": "^5.8.3", + "typescript-eslint": "^8.32.1", + "vaul-svelte": "1.0.0-next.7", + "vite": "^6.3.5", + "vitest": "^3.1.4" + }, + "pnpm": { + "onlyBuiltDependencies": [ + "esbuild" + ] }, + "packageManager": "pnpm@9.15.2+sha512.93e57b0126f0df74ce6bff29680394c0ba54ec47246b9cf321f0121d8d9bb03f750a705f24edc3c1180853afd7c2c3b94196d0a3d53d3e069d9e2793ef11f321", "dependencies": { - "@malib/gear": "^0.15.1", - "html-to-image": "^1.11.11", - "html2canvas": "^1.4.1", - "svelte-local-storage-store": "^0.4.0" + "@malib/gear": "1.0.0-next.11", + "@tanstack/svelte-query": "https://pkg.pr.new/@tanstack/svelte-query@746b9c5", + "dexie": "^4.0.11", + "es-hangul": "^2.3.3", + "html-to-image": "^1.11.13", + "korean-regexp": "^1.0.13", + "ky": "^1.8.1", + "lucide-svelte": "^0.511.0", + "virtua": "^0.41.3" } } diff --git a/playwright.config.ts b/playwright.config.ts index 80731be..db8f8c6 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -1,11 +1,10 @@ -import type { PlaywrightTestConfig } from '@playwright/test'; +import { defineConfig } from '@playwright/test'; -const config: PlaywrightTestConfig = { - webServer: { - command: 'npm run build && npm run preview', - port: 4173 - }, - testDir: 'tests' -}; +export default defineConfig({ + webServer: { + command: 'npm run build && npm run preview', + port: 4173 + }, -export default config; + testDir: 'e2e' +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3faa2f2..29ed2bf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,268 +9,617 @@ importers: .: dependencies: '@malib/gear': - specifier: ^0.15.1 - version: 0.15.1 + specifier: 1.0.0-next.11 + version: 1.0.0-next.11 + '@tanstack/svelte-query': + specifier: https://pkg.pr.new/@tanstack/svelte-query@746b9c5 + version: https://pkg.pr.new/@tanstack/svelte-query@746b9c5(svelte@5.33.1) + dexie: + specifier: ^4.0.11 + version: 4.0.11 + es-hangul: + specifier: ^2.3.3 + version: 2.3.3 html-to-image: - specifier: ^1.11.11 - version: 1.11.11 - html2canvas: - specifier: ^1.4.1 - version: 1.4.1 - svelte-local-storage-store: - specifier: ^0.4.0 - version: 0.4.0(svelte@3.59.2) + specifier: ^1.11.13 + version: 1.11.13 + korean-regexp: + specifier: ^1.0.13 + version: 1.0.13 + ky: + specifier: ^1.8.1 + version: 1.8.1 + lucide-svelte: + specifier: ^0.511.0 + version: 0.511.0(svelte@5.33.1) + virtua: + specifier: ^0.41.3 + version: 0.41.3(svelte@5.33.1) devDependencies: + '@eslint/compat': + specifier: ^1.2.9 + version: 1.2.9(eslint@9.27.0(jiti@2.4.2)) + '@eslint/js': + specifier: ^9.27.0 + version: 9.27.0 + '@internationalized/date': + specifier: ^3.8.1 + version: 3.8.1 + '@lucide/svelte': + specifier: ^0.515.0 + version: 0.515.0(svelte@5.33.1) '@playwright/test': - specifier: ^1.43.1 - version: 1.43.1 + specifier: ^1.52.0 + version: 1.52.0 '@sveltejs/adapter-auto': - specifier: ^2.1.1 - version: 2.1.1(@sveltejs/kit@1.30.4(svelte@3.59.2)(vite@4.5.3(@types/node@20.12.7)(sass@1.75.0))) + specifier: ^4.0.0 + version: 4.0.0(@sveltejs/kit@2.21.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))) '@sveltejs/adapter-cloudflare': - specifier: ^2.3.4 - version: 2.3.4(@sveltejs/kit@1.30.4(svelte@3.59.2)(vite@4.5.3(@types/node@20.12.7)(sass@1.75.0))) + specifier: ^7.0.3 + version: 7.0.3(@sveltejs/kit@2.21.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(wrangler@4.19.1(@cloudflare/workers-types@4.20250607.0)) '@sveltejs/kit': - specifier: ^1.30.4 - version: 1.30.4(svelte@3.59.2)(vite@4.5.3(@types/node@20.12.7)(sass@1.75.0)) - '@typescript-eslint/eslint-plugin': - specifier: ^5.62.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': - specifier: ^5.62.0 - version: 5.62.0(eslint@8.57.0)(typescript@5.4.5) - carbon-components-svelte: - specifier: ^0.73.5 - version: 0.73.5 - carbon-icons-svelte: - specifier: ^11.4.0 - version: 11.4.0 + specifier: ^2.21.1 + version: 2.21.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) + '@sveltejs/vite-plugin-svelte': + specifier: ^5.0.3 + version: 5.0.3(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) + '@tailwindcss/vite': + specifier: ^4.1.7 + version: 4.1.7(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) + '@testing-library/jest-dom': + specifier: ^6.6.3 + version: 6.6.3 + '@testing-library/svelte': + specifier: ^5.2.8 + version: 5.2.8(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))(vitest@3.1.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)) + bits-ui: + specifier: ^2.9.6 + version: 2.9.6(@internationalized/date@3.8.1)(svelte@5.33.1) + clsx: + specifier: ^2.1.1 + version: 2.1.1 eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^9.27.0 + version: 9.27.0(jiti@2.4.2) eslint-config-prettier: - specifier: ^8.10.0 - version: 8.10.0(eslint@8.57.0) - eslint-plugin-svelte3: - specifier: ^4.0.0 - version: 4.0.0(eslint@8.57.0)(svelte@3.59.2) - lz-string: - specifier: ^1.5.0 - version: 1.5.0 + specifier: ^10.1.5 + version: 10.1.5(eslint@9.27.0(jiti@2.4.2)) + eslint-plugin-svelte: + specifier: ^3.9.0 + version: 3.9.0(eslint@9.27.0(jiti@2.4.2))(svelte@5.33.1) + globals: + specifier: ^16.1.0 + version: 16.1.0 + jsdom: + specifier: ^26.1.0 + version: 26.1.0 + mode-watcher: + specifier: ^1.0.7 + version: 1.0.7(svelte@5.33.1) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.5.3 + version: 3.5.3 prettier-plugin-svelte: - specifier: ^2.10.1 - version: 2.10.1(prettier@2.8.8)(svelte@3.59.2) - sass: - specifier: ^1.75.0 - version: 1.75.0 + specifier: ^3.4.0 + version: 3.4.0(prettier@3.5.3)(svelte@5.33.1) + prettier-plugin-tailwindcss: + specifier: ^0.6.11 + version: 0.6.11(prettier-plugin-svelte@3.4.0(prettier@3.5.3)(svelte@5.33.1))(prettier@3.5.3) svelte: - specifier: ^3.59.2 - version: 3.59.2 + specifier: ^5.33.1 + version: 5.33.1 svelte-check: - specifier: ^3.6.9 - version: 3.6.9(postcss@8.4.38)(sass@1.75.0)(svelte@3.59.2) - tslib: - specifier: ^2.6.2 - version: 2.6.2 + specifier: ^4.2.1 + version: 4.2.1(picomatch@4.0.2)(svelte@5.33.1)(typescript@5.8.3) + svelte-sonner: + specifier: ^1.0.1 + version: 1.0.3(svelte@5.33.1) + tailwind-merge: + specifier: ^3.3.0 + version: 3.3.0 + tailwind-variants: + specifier: ^1.0.0 + version: 1.0.0(tailwindcss@4.1.7) + tailwindcss: + specifier: ^4.1.7 + version: 4.1.7 + tw-animate-css: + specifier: ^1.3.0 + version: 1.3.0 typescript: - specifier: ^5.4.5 - version: 5.4.5 + specifier: ^5.8.3 + version: 5.8.3 + typescript-eslint: + specifier: ^8.32.1 + version: 8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3) + vaul-svelte: + specifier: 1.0.0-next.7 + version: 1.0.0-next.7(svelte@5.33.1) vite: - specifier: ^4.5.3 - version: 4.5.3(@types/node@20.12.7)(sass@1.75.0) + specifier: ^6.3.5 + version: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1) vitest: - specifier: ^0.29.8 - version: 0.29.8(playwright@1.43.1)(sass@1.75.0) + specifier: ^3.1.4 + version: 3.1.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1) packages: - '@aashutoshrathi/word-wrap@1.2.6': - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} + '@adobe/css-tools@4.4.3': + resolution: {integrity: sha512-VQKMkwriZbaOgVCby1UDY/LDk5fIjhQicCvVPFqfe+69fWaPWydbWJ3wRt59/YzIwda1I81loas3oCoHxnqvdA==} + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@asamuzakjp/css-color@3.2.0': + resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==} + + '@babel/code-frame@7.27.1': + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + engines: {node: '>=6.9.0'} + + '@babel/runtime@7.27.1': + resolution: {integrity: sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==} + engines: {node: '>=6.9.0'} + + '@cloudflare/kv-asset-handler@0.4.0': + resolution: {integrity: sha512-+tv3z+SPp+gqTIcImN9o0hqE9xyfQjI1XD9pL6NuKjua9B1y7mNYv0S9cP+QEbA4ppVgGZEmKOvHX5G5Ei1CVA==} + engines: {node: '>=18.0.0'} + + '@cloudflare/unenv-preset@2.3.2': + resolution: {integrity: sha512-MtUgNl+QkQyhQvv5bbWP+BpBC1N0me4CHHuP2H4ktmOMKdB/6kkz/lo+zqiA4mEazb4y+1cwyNjVrQ2DWeE4mg==} + peerDependencies: + unenv: 2.0.0-rc.17 + workerd: ^1.20250508.0 + peerDependenciesMeta: + workerd: + optional: true + + '@cloudflare/workerd-darwin-64@1.20250525.0': + resolution: {integrity: sha512-L5l+7sSJJT2+riR5rS3Q3PKNNySPjWfRIeaNGMVRi1dPO6QPi4lwuxfRUFNoeUdilZJUVPfSZvTtj9RedsKznQ==} + engines: {node: '>=16'} + cpu: [x64] + os: [darwin] - '@cloudflare/workers-types@4.20240423.0': - resolution: {integrity: sha512-ssuccb3j+URp6mP2p0PcQE9vmS3YeKBQnALHF9P3yQfUAFozuhTsDTbqmL+zPrJvUcG7SL2xVQkNDF9QJeKDZw==} + '@cloudflare/workerd-darwin-arm64@1.20250525.0': + resolution: {integrity: sha512-Y3IbIdrF/vJWh/WBvshwcSyUh175VAiLRW7963S1dXChrZ1N5wuKGQm9xY69cIGVtitpMJWWW3jLq7J/Xxwm0Q==} + engines: {node: '>=16'} + cpu: [arm64] + os: [darwin] - '@esbuild/android-arm64@0.18.20': - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + '@cloudflare/workerd-linux-64@1.20250525.0': + resolution: {integrity: sha512-KSyQPAby+c6cpENoO0ayCQlY6QIh28l/+QID7VC1SLXfiNHy+hPNsH1vVBTST6CilHVAQSsy9tCZ9O9XECB8yg==} + engines: {node: '>=16'} + cpu: [x64] + os: [linux] + + '@cloudflare/workerd-linux-arm64@1.20250525.0': + resolution: {integrity: sha512-Nt0FUxS2kQhJUea4hMCNPaetkrAFDhPnNX/ntwcqVlGgnGt75iaAhupWJbU0GB+gIWlKeuClUUnDZqKbicoKyg==} + engines: {node: '>=16'} + cpu: [arm64] + os: [linux] + + '@cloudflare/workerd-windows-64@1.20250525.0': + resolution: {integrity: sha512-mwTj+9f3uIa4NEXR1cOa82PjLa6dbrb3J+KCVJFYIaq7e63VxEzOchCXS4tublT2pmOhmFqkgBMXrxozxNkR2Q==} + engines: {node: '>=16'} + cpu: [x64] + os: [win32] + + '@cloudflare/workers-types@4.20250607.0': + resolution: {integrity: sha512-OYmKNzC2eQy6CNj+j0go8Ut3SezjsprCgJyEaBzJql+473WAN9ndVnNZy9lj/tTyLV6wzpQkZWmRAKGDmacvkg==} + + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} + + '@csstools/color-helpers@5.0.2': + resolution: {integrity: sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==} + engines: {node: '>=18'} + + '@csstools/css-calc@2.1.3': + resolution: {integrity: sha512-XBG3talrhid44BY1x3MHzUx/aTG8+x/Zi57M4aTKK9RFB4aLlF3TTSzfzn8nWVHWL3FgAXAxmupmDd6VWww+pw==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.4 + '@csstools/css-tokenizer': ^3.0.3 + + '@csstools/css-color-parser@3.0.9': + resolution: {integrity: sha512-wILs5Zk7BU86UArYBJTPy/FMPPKVKHMj1ycCEyf3VUptol0JNRLFU/BZsJ4aiIHJEbSLiizzRrw8Pc1uAEDrXw==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.4 + '@csstools/css-tokenizer': ^3.0.3 + + '@csstools/css-parser-algorithms@3.0.4': + resolution: {integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-tokenizer': ^3.0.3 + + '@csstools/css-tokenizer@3.0.3': + resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==} + engines: {node: '>=18'} + + '@emnapi/runtime@1.7.1': + resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==} + + '@esbuild/aix-ppc64@0.25.4': + resolution: {integrity: sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.25.4': + resolution: {integrity: sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==} + engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.18.20': - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} - engines: {node: '>=12'} + '@esbuild/android-arm@0.25.4': + resolution: {integrity: sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==} + engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.18.20': - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} - engines: {node: '>=12'} + '@esbuild/android-x64@0.25.4': + resolution: {integrity: sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==} + engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.18.20': - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} - engines: {node: '>=12'} + '@esbuild/darwin-arm64@0.25.4': + resolution: {integrity: sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.18.20': - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} - engines: {node: '>=12'} + '@esbuild/darwin-x64@0.25.4': + resolution: {integrity: sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.18.20': - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} - engines: {node: '>=12'} + '@esbuild/freebsd-arm64@0.25.4': + resolution: {integrity: sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.18.20': - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} - engines: {node: '>=12'} + '@esbuild/freebsd-x64@0.25.4': + resolution: {integrity: sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.18.20': - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} - engines: {node: '>=12'} + '@esbuild/linux-arm64@0.25.4': + resolution: {integrity: sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.18.20': - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} - engines: {node: '>=12'} + '@esbuild/linux-arm@0.25.4': + resolution: {integrity: sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==} + engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.18.20': - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} - engines: {node: '>=12'} + '@esbuild/linux-ia32@0.25.4': + resolution: {integrity: sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.18.20': - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} - engines: {node: '>=12'} + '@esbuild/linux-loong64@0.25.4': + resolution: {integrity: sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.18.20': - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} - engines: {node: '>=12'} + '@esbuild/linux-mips64el@0.25.4': + resolution: {integrity: sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.18.20': - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} - engines: {node: '>=12'} + '@esbuild/linux-ppc64@0.25.4': + resolution: {integrity: sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.18.20': - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} - engines: {node: '>=12'} + '@esbuild/linux-riscv64@0.25.4': + resolution: {integrity: sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.18.20': - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} - engines: {node: '>=12'} + '@esbuild/linux-s390x@0.25.4': + resolution: {integrity: sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.18.20': - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} - engines: {node: '>=12'} + '@esbuild/linux-x64@0.25.4': + resolution: {integrity: sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==} + engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.18.20': - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} - engines: {node: '>=12'} + '@esbuild/netbsd-arm64@0.25.4': + resolution: {integrity: sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.4': + resolution: {integrity: sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-x64@0.18.20': - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} - engines: {node: '>=12'} + '@esbuild/openbsd-arm64@0.25.4': + resolution: {integrity: sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.4': + resolution: {integrity: sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.18.20': - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} - engines: {node: '>=12'} + '@esbuild/sunos-x64@0.25.4': + resolution: {integrity: sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.18.20': - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} - engines: {node: '>=12'} + '@esbuild/win32-arm64@0.25.4': + resolution: {integrity: sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.18.20': - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} - engines: {node: '>=12'} + '@esbuild/win32-ia32@0.25.4': + resolution: {integrity: sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.18.20': - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} - engines: {node: '>=12'} + '@esbuild/win32-x64@0.25.4': + resolution: {integrity: sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==} + engines: {node: '>=18'} cpu: [x64] os: [win32] - '@eslint-community/eslint-utils@4.4.0': - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + '@eslint-community/eslint-utils@4.7.0': + resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.10.0': - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/compat@1.2.9': + resolution: {integrity: sha512-gCdSY54n7k+driCadyMNv8JSPzYLeDVM/ikZRtvtROBpRdFSkS8W9A82MqsaY7lZuwL0wiapgD0NT1xT0hyJsA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^9.10.0 + peerDependenciesMeta: + eslint: + optional: true - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.20.0': + resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/config-helpers@0.2.2': + resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.14.0': + resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.3.1': + resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.27.0': + resolution: {integrity: sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.6': + resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.3.1': + resolution: {integrity: sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@fastify/busboy@2.1.1': resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} engines: {node: '>=14'} - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} + '@floating-ui/core@1.7.3': + resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} + + '@floating-ui/dom@1.7.4': + resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==} + + '@floating-ui/utils@0.2.10': + resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==} + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.0.4': + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-s390x@0.33.5': + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.33.5': + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.33.5': + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.33.5': + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-win32-ia32@0.33.5': + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + + '@internationalized/date@3.8.1': + resolution: {integrity: sha512-PgVE6B6eIZtzf9Gu5HvJxRK3ufUFz9DhspELuhW/N0GuMGMTLvPQNRkHP2hTuP9lblOk+f+1xi96sPiPXANXAA==} + + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} + + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - '@jridgewell/sourcemap-codec@1.4.15': - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@malib/gear@0.15.1': - resolution: {integrity: sha512-y4UEXh+RTz87o1Xnd+ax9155U5gP2H9ldVazvozEiQqP16qwntvLgzNwTEbXgI3hjVd3CPNcM9swJP4sQ+qP8Q==} + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + + '@lucide/svelte@0.515.0': + resolution: {integrity: sha512-CEAyqcZmNBfYzVgaRmK2RFJP5tnbXxekRyDk0XX/eZQRfsJmkDvmQwXNX8C869BgNeryzmrRyjHhUL6g9ZOHNA==} + peerDependencies: + svelte: ^5 + + '@malib/gear@1.0.0-next.11': + resolution: {integrity: sha512-PTu5nTU91DX+woKViMdWHZwyv3i5zorNc5T999UtMzJrDAZVLFG1paSmfj2+OhQCbM73WyOCZuvutOabgclpJQ==} '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -284,140 +633,365 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@playwright/test@1.43.1': - resolution: {integrity: sha512-HgtQzFgNEEo4TE22K/X7sYTYNqEMMTZmFS8kTq6m8hXj+m1D8TgwgIbumHddJa9h4yl4GkKb8/bgAl2+g7eDgA==} - engines: {node: '>=16'} + '@playwright/test@1.52.0': + resolution: {integrity: sha512-uh6W7sb55hl7D6vsAeA+V2p5JnlAqzhqFyF0VcJkKZXkgnFcVG9PziERRHQfPLfNGx1C292a4JqbWzhR8L4R1g==} + engines: {node: '>=18'} hasBin: true - '@polka/url@1.0.0-next.25': - resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} - '@sveltejs/adapter-auto@2.1.1': - resolution: {integrity: sha512-nzi6x/7/3Axh5VKQ8Eed3pYxastxoa06Y/bFhWb7h3Nu+nGRVxKAy3+hBJgmPCwWScy8n0TsstZjSVKfyrIHkg==} + '@rollup/rollup-android-arm-eabi@4.41.1': + resolution: {integrity: sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.41.1': + resolution: {integrity: sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.41.1': + resolution: {integrity: sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.41.1': + resolution: {integrity: sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.41.1': + resolution: {integrity: sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.41.1': + resolution: {integrity: sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.41.1': + resolution: {integrity: sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.41.1': + resolution: {integrity: sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.41.1': + resolution: {integrity: sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.41.1': + resolution: {integrity: sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loongarch64-gnu@4.41.1': + resolution: {integrity: sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.41.1': + resolution: {integrity: sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.41.1': + resolution: {integrity: sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.41.1': + resolution: {integrity: sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.41.1': + resolution: {integrity: sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.41.1': + resolution: {integrity: sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.41.1': + resolution: {integrity: sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.41.1': + resolution: {integrity: sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.41.1': + resolution: {integrity: sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.41.1': + resolution: {integrity: sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==} + cpu: [x64] + os: [win32] + + '@sveltejs/acorn-typescript@1.0.5': + resolution: {integrity: sha512-IwQk4yfwLdibDlrXVE04jTZYlLnwsTT2PIOQQGNLWfjavGifnk1JD1LcZjZaBTRcxZu2FfPfNLOE04DSu9lqtQ==} + peerDependencies: + acorn: ^8.9.0 + + '@sveltejs/adapter-auto@4.0.0': + resolution: {integrity: sha512-kmuYSQdD2AwThymQF0haQhM8rE5rhutQXG4LNbnbShwhMO4qQGnKaaTy+88DuNSuoQDi58+thpq8XpHc1+oEKQ==} peerDependencies: - '@sveltejs/kit': ^1.0.0 + '@sveltejs/kit': ^2.0.0 - '@sveltejs/adapter-cloudflare@2.3.4': - resolution: {integrity: sha512-+5Msbm7svrZjaBt0KapNh2zEaMRfrhbTRBWRXrFa+w+KFRQnHjFIPvWz/NQ11XKVu7dRe7mkzqvqieL2b0hpJw==} + '@sveltejs/adapter-cloudflare@7.0.3': + resolution: {integrity: sha512-hEbaEukbHuTUtq4a+CPb57YnyQdx+iWVuLZAmNzaJwGSsAgMafY+GY4UblsIACjSYpX5tZuhjBck+X5IoWLIWw==} peerDependencies: - '@sveltejs/kit': ^1.0.0 + '@sveltejs/kit': ^2.0.0 + wrangler: ^4.0.0 - '@sveltejs/kit@1.30.4': - resolution: {integrity: sha512-JSQIQT6XvdchCRQEm7BABxPC56WP5RYVONAi+09S8tmzeP43fBsRlr95bFmsTQM2RHBldfgQk+jgdnsKI75daA==} - engines: {node: ^16.14 || >=18} + '@sveltejs/kit@2.21.1': + resolution: {integrity: sha512-vLbtVwtDcK8LhJKnFkFYwM0uCdFmzioQnif0bjEYH1I24Arz22JPr/hLUiXGVYAwhu8INKx5qrdvr4tHgPwX6w==} + engines: {node: '>=18.13'} hasBin: true peerDependencies: - svelte: ^3.54.0 || ^4.0.0-next.0 || ^5.0.0-next.0 - vite: ^4.0.0 + '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0 + svelte: ^4.0.0 || ^5.0.0-next.0 + vite: ^5.0.3 || ^6.0.0 - '@sveltejs/vite-plugin-svelte-inspector@1.0.4': - resolution: {integrity: sha512-zjiuZ3yydBtwpF3bj0kQNV0YXe+iKE545QGZVTaylW3eAzFr+pJ/cwK8lZEaRp4JtaJXhD5DyWAV4AxLh6DgaQ==} - engines: {node: ^14.18.0 || >= 16} + '@sveltejs/vite-plugin-svelte-inspector@4.0.1': + resolution: {integrity: sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22} peerDependencies: - '@sveltejs/vite-plugin-svelte': ^2.2.0 - svelte: ^3.54.0 || ^4.0.0 - vite: ^4.0.0 + '@sveltejs/vite-plugin-svelte': ^5.0.0 + svelte: ^5.0.0 + vite: ^6.0.0 - '@sveltejs/vite-plugin-svelte@2.5.3': - resolution: {integrity: sha512-erhNtXxE5/6xGZz/M9eXsmI7Pxa6MS7jyTy06zN3Ck++ldrppOnOlJwHHTsMC7DHDQdgUp4NAc4cDNQ9eGdB/w==} - engines: {node: ^14.18.0 || >= 16} + '@sveltejs/vite-plugin-svelte@5.0.3': + resolution: {integrity: sha512-MCFS6CrQDu1yGwspm4qtli0e63vaPCehf6V7pIMP15AsWgMKrqDGCPFF/0kn4SP0ii4aySu4Pa62+fIRGFMjgw==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22} peerDependencies: - svelte: ^3.54.0 || ^4.0.0 || ^5.0.0-next.0 - vite: ^4.0.0 + svelte: ^5.0.0 + vite: ^6.0.0 - '@types/chai-subset@1.3.5': - resolution: {integrity: sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==} + '@swc/helpers@0.5.17': + resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} - '@types/chai@4.3.14': - resolution: {integrity: sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==} + '@tailwindcss/node@4.1.7': + resolution: {integrity: sha512-9rsOpdY9idRI2NH6CL4wORFY0+Q6fnx9XP9Ju+iq/0wJwGD5IByIgFmwVbyy4ymuyprj8Qh4ErxMKTUL4uNh3g==} - '@types/cookie@0.5.4': - resolution: {integrity: sha512-7z/eR6O859gyWIAjuvBWFzNURmf2oPBmJlfVWkwehU5nzIyjwBsTh7WMmEEV4JFnHuQ3ex4oyTvfKzcyJVDBNA==} + '@tailwindcss/oxide-android-arm64@4.1.7': + resolution: {integrity: sha512-IWA410JZ8fF7kACus6BrUwY2Z1t1hm0+ZWNEzykKmMNM09wQooOcN/VXr0p/WJdtHZ90PvJf2AIBS/Ceqx1emg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@tailwindcss/oxide-darwin-arm64@4.1.7': + resolution: {integrity: sha512-81jUw9To7fimGGkuJ2W5h3/oGonTOZKZ8C2ghm/TTxbwvfSiFSDPd6/A/KE2N7Jp4mv3Ps9OFqg2fEKgZFfsvg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.1.7': + resolution: {integrity: sha512-q77rWjEyGHV4PdDBtrzO0tgBBPlQWKY7wZK0cUok/HaGgbNKecegNxCGikuPJn5wFAlIywC3v+WMBt0PEBtwGw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] - '@types/node@20.12.7': - resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} + '@tailwindcss/oxide-freebsd-x64@4.1.7': + resolution: {integrity: sha512-RfmdbbK6G6ptgF4qqbzoxmH+PKfP4KSVs7SRlTwcbRgBwezJkAO3Qta/7gDy10Q2DcUVkKxFLXUQO6J3CRvBGw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] - '@types/pug@2.0.10': - resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==} + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.7': + resolution: {integrity: sha512-OZqsGvpwOa13lVd1z6JVwQXadEobmesxQ4AxhrwRiPuE04quvZHWn/LnihMg7/XkN+dTioXp/VMu/p6A5eZP3g==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] - '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + '@tailwindcss/oxide-linux-arm64-gnu@4.1.7': + resolution: {integrity: sha512-voMvBTnJSfKecJxGkoeAyW/2XRToLZ227LxswLAwKY7YslG/Xkw9/tJNH+3IVh5bdYzYE7DfiaPbRkSHFxY1xA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] - '@typescript-eslint/eslint-plugin@5.62.0': - resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@tailwindcss/oxide-linux-arm64-musl@4.1.7': + resolution: {integrity: sha512-PjGuNNmJeKHnP58M7XyjJyla8LPo+RmwHQpBI+W/OxqrwojyuCQ+GUtygu7jUqTEexejZHr/z3nBc/gTiXBj4A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-gnu@4.1.7': + resolution: {integrity: sha512-HMs+Va+ZR3gC3mLZE00gXxtBo3JoSQxtu9lobbZd+DmfkIxR54NO7Z+UQNPsa0P/ITn1TevtFxXTpsRU7qEvWg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.1.7': + resolution: {integrity: sha512-MHZ6jyNlutdHH8rd+YTdr3QbXrHXqwIhHw9e7yXEBcQdluGwhpQY2Eku8UZK6ReLaWtQ4gijIv5QoM5eE+qlsA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-wasm32-wasi@4.1.7': + resolution: {integrity: sha512-ANaSKt74ZRzE2TvJmUcbFQ8zS201cIPxUDm5qez5rLEwWkie2SkGtA4P+GPTj+u8N6JbPrC8MtY8RmJA35Oo+A==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.7': + resolution: {integrity: sha512-HUiSiXQ9gLJBAPCMVRk2RT1ZrBjto7WvqsPBwUrNK2BcdSxMnk19h4pjZjI7zgPhDxlAbJSumTC4ljeA9y0tEw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.1.7': + resolution: {integrity: sha512-rYHGmvoHiLJ8hWucSfSOEmdCBIGZIq7SpkPRSqLsH2Ab2YUNgKeAPT1Fi2cx3+hnYOrAb0jp9cRyode3bBW4mQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.1.7': + resolution: {integrity: sha512-5SF95Ctm9DFiUyjUPnDGkoKItPX/k+xifcQhcqX5RA85m50jw1pT/KzjdvlqxRja45Y52nR4MR9fD1JYd7f8NQ==} + engines: {node: '>= 10'} + + '@tailwindcss/vite@4.1.7': + resolution: {integrity: sha512-tYa2fO3zDe41I7WqijyVbRd8oWT0aEID1Eokz5hMT6wShLIHj3yvwj9XbfuloHP9glZ6H+aG2AN/+ZrxJ1Y5RQ==} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + vite: ^5.2.0 || ^6 - '@typescript-eslint/parser@5.62.0': - resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@tanstack/query-core@https://pkg.pr.new/TanStack/query/@tanstack/query-core@746b9c5': + resolution: {tarball: https://pkg.pr.new/TanStack/query/@tanstack/query-core@746b9c5} + version: 5.75.7 + + '@tanstack/svelte-query@https://pkg.pr.new/@tanstack/svelte-query@746b9c5': + resolution: {tarball: https://pkg.pr.new/@tanstack/svelte-query@746b9c5} + version: 5.75.7 peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + svelte: ^5.7.0 - '@typescript-eslint/scope-manager@5.62.0': - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@testing-library/dom@10.4.0': + resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} + engines: {node: '>=18'} - '@typescript-eslint/type-utils@5.62.0': - resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@testing-library/jest-dom@6.6.3': + resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==} + engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + + '@testing-library/svelte@5.2.8': + resolution: {integrity: sha512-ucQOtGsJhtawOEtUmbR4rRh53e6RbM1KUluJIXRmh6D4UzxR847iIqqjRtg9mHNFmGQ8Vkam9yVcR5d1mhIHKA==} + engines: {node: '>= 10'} peerDependencies: - eslint: '*' - typescript: '*' + svelte: ^3 || ^4 || ^5 || ^5.0.0-next.0 + vite: '*' + vitest: '*' peerDependenciesMeta: - typescript: + vite: + optional: true + vitest: optional: true - '@typescript-eslint/types@5.62.0': - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@types/aria-query@5.0.4': + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} - '@typescript-eslint/typescript-estree@5.62.0': - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@types/cookie@0.6.0': + resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} + + '@types/estree@1.0.7': + resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@typescript-eslint/eslint-plugin@8.32.1': + resolution: {integrity: sha512-6u6Plg9nP/J1GRpe/vcjjabo6Uc5YQPAMxsgQyGC/I0RuukiG1wIe3+Vtg3IrSCVJDmqK3j8adrtzXSENRtFgg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@5.62.0': - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/parser@8.32.1': + resolution: {integrity: sha512-LKMrmwCPoLhM45Z00O1ulb6jwyVr2kr3XJp+G+tSEZcbauNnScewcQwtJqXDhXeYPDEjZ8C1SjXm015CirEmGg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/visitor-keys@5.62.0': - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/scope-manager@8.32.1': + resolution: {integrity: sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/type-utils@8.32.1': + resolution: {integrity: sha512-mv9YpQGA8iIsl5KyUPi+FGLm7+bA4fgXaeRcFKRDRwDMu4iwrSHeDPipwueNXhdIIZltwCJv+NkxftECbIZWfA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' - '@ungap/structured-clone@1.2.0': - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@typescript-eslint/types@8.32.1': + resolution: {integrity: sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.32.1': + resolution: {integrity: sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/utils@8.32.1': + resolution: {integrity: sha512-DsSFNIgLSrc89gpq1LJB7Hm1YpuhK086DRDJSNrewcGvYloWW1vZLHBTIvarKZDcAORIy/uWNx8Gad+4oMpkSA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/visitor-keys@8.32.1': + resolution: {integrity: sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@vitest/expect@3.1.4': + resolution: {integrity: sha512-xkD/ljeliyaClDYqHPNCiJ0plY5YIcM0OlRiZizLhlPmpXWpxnGMyTZXOHFhFeG7w9P5PBeL4IdtJ/HeQwTbQA==} + + '@vitest/mocker@3.1.4': + resolution: {integrity: sha512-8IJ3CvwtSw/EFXqWFL8aCMu+YyYXG2WUSrQbViOZkWTKTVicVwZ/YiEZDSqD00kX+v/+W+OnxhNWoeVKorHygA==} + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 || ^6.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true - '@vitest/expect@0.29.8': - resolution: {integrity: sha512-xlcVXn5I5oTq6NiZSY3ykyWixBxr5mG8HYtjvpgg6KaqHm0mvhX18xuwl5YGxIRNt/A5jidd7CWcNHrSvgaQqQ==} + '@vitest/pretty-format@3.1.4': + resolution: {integrity: sha512-cqv9H9GvAEoTaoq+cYqUTCGscUjKqlJZC7PRwY5FMySVj5J+xOm1KQcCiYHJOEzOKRUhLH4R2pTwvFlWCEScsg==} - '@vitest/runner@0.29.8': - resolution: {integrity: sha512-FzdhnRDwEr/A3Oo1jtIk/B952BBvP32n1ObMEb23oEJNO+qO5cBet6M2XWIDQmA7BDKGKvmhUf2naXyp/2JEwQ==} + '@vitest/runner@3.1.4': + resolution: {integrity: sha512-djTeF1/vt985I/wpKVFBMWUlk/I7mb5hmD5oP8K9ACRmVXgKTae3TUOtXAEBfslNKPzUQvnKhNd34nnRSYgLNQ==} - '@vitest/spy@0.29.8': - resolution: {integrity: sha512-VdjBe9w34vOMl5I5mYEzNX8inTxrZ+tYUVk9jxaZJmHFwmDFC/GV3KBFTA/JKswr3XHvZL+FE/yq5EVhb6pSAw==} + '@vitest/snapshot@3.1.4': + resolution: {integrity: sha512-JPHf68DvuO7vilmvwdPr9TS0SuuIzHvxeaCkxYcCD4jTk67XwL45ZhEHFKIuCm8CYstgI6LZ4XbwD6ANrwMpFg==} - '@vitest/utils@0.29.8': - resolution: {integrity: sha512-qGzuf3vrTbnoY+RjjVVIBYfuWMjn3UMUqyQtdGNZ6ZIIyte7B37exj6LaVkrZiUTvzSadVvO/tJm8AEgbGCBPg==} + '@vitest/spy@3.1.4': + resolution: {integrity: sha512-Xg1bXhu+vtPXIodYN369M86K8shGLouNjoVI78g8iAq2rFoHFdajNvJJ5A/9bPMFcfQqdaCpOgWKEoMQg/s0Yg==} + + '@vitest/utils@3.1.4': + resolution: {integrity: sha512-yriMuO1cfFhmiGc8ataN51+9ooHRuURdfAZfwFd3usWynjzpLslZdYnRegTv32qdgtJTsj15FoeZe2g15fY1gg==} acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -428,11 +1002,20 @@ packages: resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} - acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} engines: {node: '>=0.4.0'} hasBin: true + acorn@8.14.1: + resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} + engines: {node: '>=0.4.0'} + hasBin: true + + agent-base@7.1.3: + resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} + engines: {node: '>= 14'} + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -440,10 +1023,6 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -452,44 +1031,49 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} + aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + + as-table@1.0.55: + resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} - assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - base64-arraybuffer@1.0.2: - resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==} - engines: {node: '>= 0.6.0'} + bits-ui@2.9.6: + resolution: {integrity: sha512-OzHktsQRsIz/hIMk5VwHo96Wpp/KY68q/ebUPUzTbvuFBrALB/X+QvO4KLgdczj5dfb3xHs9zpWq8yMH8ZbZlA==} + engines: {node: '>=20'} + peerDependencies: + '@internationalized/date': ^3.8.1 + svelte: ^5.33.0 - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} + blake3-wasm@2.1.5: + resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==} brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} @@ -499,30 +1083,33 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - carbon-components-svelte@0.73.5: - resolution: {integrity: sha512-emHxfMurN6ZiBCnPB6VErw/uKoXCuTBB70Q/woj+9DhTtKoGT1ejBZ75DUxXoDP/n7ZEGJ/y1dmqQ8xM3TJ8Hg==} - - carbon-icons-svelte@11.4.0: - resolution: {integrity: sha512-p/llZde2kP2BI9SOqM+QFKGfQnYrW+4dVxF1rAYriEADXDsjt9EYlh+KpQ5qf4JpXAq+e2+TB/r/lIG1xdUbAQ==} + chai@5.2.0: + resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} + engines: {node: '>=12'} - chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} + chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} - cli-truncate@3.1.0: - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} @@ -531,25 +1118,49 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - confbox@0.1.7: - resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} - cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - css-line-break@2.1.0: - resolution: {integrity: sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==} + css.escape@1.5.1: + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + cssstyle@4.3.1: + resolution: {integrity: sha512-ZgW+Jgdd7i52AaLYCriF8Mxqft0gD/R9i9wi6RWBhs1pqdPEzPjym7rvRKi397WmQFf3SlyUsszhw+VVCbx79Q==} + engines: {node: '>=18'} + + data-uri-to-buffer@2.0.2: + resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==} - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + data-urls@5.0.0: + resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} + engines: {node: '>=18'} + + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -557,8 +1168,11 @@ packages: supports-color: optional: true - deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + decimal.js@10.5.0: + resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} + + deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} deep-is@0.1.4: @@ -568,104 +1182,139 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - detect-indent@6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} - engines: {node: '>=8'} + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - devalue@4.3.3: - resolution: {integrity: sha512-UH8EL6H2ifcY8TbD2QsxwCC/pr5xSwPvv85LrLXVihmHVC3T3YqTCIwnR5ak0yO1KYqlxrPVOA/JVZJYPy2ATg==} + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} - diff@5.2.0: - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} - engines: {node: '>=0.3.1'} + detect-libc@2.0.4: + resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} + engines: {node: '>=8'} - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + devalue@5.1.1: + resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==} - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dexie@4.0.11: + resolution: {integrity: sha512-SOKO002EqlvBYYKQSew3iymBoN2EQ4BDw/3yprjh7kAfFzjBYkaMNa/pZvcA7HSWlcKSQb9XhPe3wKyQ0x4A8A==} - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} - es6-promise@3.3.1: - resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + dom-accessibility-api@0.6.3: + resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} - esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} - engines: {node: '>=12'} + enhanced-resolve@5.18.1: + resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} + engines: {node: '>=10.13.0'} + + entities@6.0.0: + resolution: {integrity: sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==} + engines: {node: '>=0.12'} + + es-hangul@2.3.3: + resolution: {integrity: sha512-2pykqtOg7U9hAio5E4IJzVNCkx+iEs5fkYJr+8rcUxQbPtsA0MDpsTvavIMgnDeepGrEzI6I1yIWNcmYFdyTsA==} + + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + + esbuild@0.25.4: + resolution: {integrity: sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==} + engines: {node: '>=18'} hasBin: true escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - eslint-config-prettier@8.10.0: - resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} + eslint-config-prettier@10.1.5: + resolution: {integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==} hasBin: true peerDependencies: eslint: '>=7.0.0' - eslint-plugin-svelte3@4.0.0: - resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==} + eslint-plugin-svelte@3.9.0: + resolution: {integrity: sha512-nvIUNyyPGbr5922Kd1p/jXe+FfNdVPXsxLyrrXpwfSbZZEFdAYva9O/gm2lObC/wXkQo/AUmQkAihfmNJYeCjA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: '>=8.0.0' - svelte: ^3.2.0 - - eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + eslint: ^8.57.1 || ^9.0.0 + svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + svelte: + optional: true - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.3.0: + resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.27.0: + resolution: {integrity: sha512-ixRawFQuMB9DZ7fjU3iGGganFDp3+45bPOdaRurcFHSXO1e/sYwUX/FtQZpLZJR6SjMoJH8hR2pPEAfDyCoU2Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true - esm-env@1.0.0: - resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} + esm-env@1.2.2: + resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} engines: {node: '>=0.10'} + esrap@1.4.6: + resolution: {integrity: sha512-F/D2mADJ9SHY3IwksD4DAXjTt7qt7GWUf3/8RhCNWmC/67tyb55dpimHmy7EplakFaflV0R/PC+fdSPqrRHAQw==} + esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} - estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} + exit-hook@2.2.1: + resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} + engines: {node: '>=6'} + + expect-type@1.2.1: + resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==} + engines: {node: '>=12.0.0'} + + exsolve@1.0.8: + resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} fast-json-stable-stringify@2.1.0: @@ -674,33 +1323,35 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + + fdir@6.4.4: + resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} - - flatpickr@4.6.9: - resolution: {integrity: sha512-F0azNNi8foVWKSF+8X+ZJzz8r9sE1G4hl06RyceIaLvyltKvDl6vqk9Lm/6AUUCi5HWaIjiUbk7UpeE/fOXOpw==} - - flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} fsevents@2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} @@ -712,8 +1363,8 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + get-source@2.0.12: + resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -723,22 +1374,16 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - - globalyzer@0.1.0: - resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} - - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} - globrex@0.1.2: - resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + globals@16.1.0: + resolution: {integrity: sha512-aibexHNbb/jiUSObBgpHLj+sIuUmJnYcgXBlrfsiDZ9rt4aF2TFRbyLgZ2iFQuVZ1K5Mx3FVkbKRSgKrbK3K2g==} + engines: {node: '>=18'} graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -750,49 +1395,58 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - html-to-image@1.11.11: - resolution: {integrity: sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==} + html-encoding-sniffer@4.0.0: + resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} + engines: {node: '>=18'} - html2canvas@1.4.1: - resolution: {integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==} - engines: {node: '>=8.0.0'} + html-to-image@1.11.13: + resolution: {integrity: sha512-cuOPoI7WApyhBElTTb9oqsawRvZ0rHhaHwghRLlTuffoD1B2aDemlCruLeZrUIIdvG7gs9xeELEPm6PhuASqrg==} - ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - immutable@4.3.5: - resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} + ignore@7.0.4: + resolution: {integrity: sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==} + engines: {node: '>= 4'} - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} - import-meta-resolve@4.0.0: - resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==} + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + inline-style-parser@0.2.4: + resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + is-arrayish@0.3.4: + resolution: {integrity: sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==} is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -801,17 +1455,35 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} + is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + + is-reference@3.0.3: + resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + jsdom@26.1.0: + resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==} + engines: {node: '>=18'} + peerDependencies: + canvas: ^3.0.0 + peerDependenciesMeta: + canvas: + optional: true + json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -828,13 +1500,90 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} + known-css-properties@0.36.0: + resolution: {integrity: sha512-A+9jP+IUmuQsNdsLdcg6Yt7voiMF/D4K83ew0OpJtpu+l34ef7LaohWV0Rc6KNvzw6ZDizkqfyB5JznZnzuKQA==} + + korean-regexp@1.0.13: + resolution: {integrity: sha512-U+dULDtJSZnzbV13hg2EjTaoKqXRqucDArmzb/3KX+DyP1lAzEXoTvTK992m7cmOTAJ2xrv4RueXlMBKdhJ1bQ==} + + ky@1.8.1: + resolution: {integrity: sha512-7Bp3TpsE+L+TARSnnDpk3xg8Idi8RwSLdj6CMbNWoOARIrGrbuLGusV0dYwbZOm4bB3jHNxSw8Wk/ByDqJEnDw==} + engines: {node: '>=18'} + levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - local-pkg@0.4.3: - resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} - engines: {node: '>=14'} + lightningcss-darwin-arm64@1.30.1: + resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.30.1: + resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.30.1: + resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.30.1: + resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.30.1: + resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.30.1: + resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.30.1: + resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.30.1: + resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.30.1: + resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.30.1: + resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.30.1: + resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==} + engines: {node: '>= 12.0.0'} + + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + + locate-character@3.0.0: + resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} @@ -843,90 +1592,111 @@ packages: lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + loupe@3.1.3: + resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lucide-svelte@0.511.0: + resolution: {integrity: sha512-cSBj1UPKt1EXnj3VBUidBqwHyFQ83pLYiTaQ/67Q5thnaP9IPohL2UXjqEzgSXXklYPYQKaAv+kmVdliDWFjWQ==} + peerDependencies: + svelte: ^3 || ^4 || ^5.0.0-next.42 lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true - magic-string@0.30.10: - resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} + mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} + miniflare@4.20250525.1: + resolution: {integrity: sha512-4PJlT5WA+hfclFU5Q7xnpG1G1VGYTXaf/3iu6iKQ8IsbSi9QvPTA2bSZ5goCFxmJXDjV4cxttVxB0Wl1CLuQ0w==} + engines: {node: '>=18.0.0'} + hasBin: true + minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} - mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + minizlib@3.0.2: + resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==} + engines: {node: '>= 18'} + + mkdirp@3.0.1: + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} + engines: {node: '>=10'} hasBin: true - mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + mode-watcher@1.0.7: + resolution: {integrity: sha512-ZGA7ZGdOvBJeTQkzdBOnXSgTkO6U6iIFWJoyGCTt6oHNg9XP9NBvS26De+V4W2aqI+B0yYXUskFG2VnEo3zyMQ==} + peerDependencies: + svelte: ^5.27.0 mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} - mrmime@1.0.1: - resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} engines: {node: '>=10'} - mrmime@2.0.0: - resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} - engines: {node: '>=10'} + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + mustache@4.2.0: + resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} + hasBin: true - nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} + nwsapi@2.2.20: + resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==} - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + ohash@2.0.11: + resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} - optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} - p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} @@ -935,71 +1705,157 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + path-to-regexp@6.3.0: + resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} - pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - pkg-types@1.1.0: - resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==} + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} - playwright-core@1.43.1: - resolution: {integrity: sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==} - engines: {node: '>=16'} + playwright-core@1.52.0: + resolution: {integrity: sha512-l2osTgLXSMeuLZOML9qYODUQoPPnUsKsb5/P6LJ2e6uPKXUdPK5WYhN4z03G+YNbWmGDY4YENauNu4ZKczreHg==} + engines: {node: '>=18'} hasBin: true - playwright@1.43.1: - resolution: {integrity: sha512-V7SoH0ai2kNt1Md9E3Gwas5B9m8KR2GVvwZnAI6Pg0m3sh7UvgiYhRrhsziCmqMJNouPckiOhk8T+9bSAK0VIA==} - engines: {node: '>=16'} + playwright@1.52.0: + resolution: {integrity: sha512-JAwMNMBlxJ2oD1kce4KPtMkDeKGHQstdpFPcPH3maElAXon/QZeTvtsfXmTMRyO9TslfoYOXkSsvao2nE1ilTw==} + engines: {node: '>=18'} hasBin: true - postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + postcss-load-config@3.1.4: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-safe-parser@7.0.1: + resolution: {integrity: sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==} + engines: {node: '>=18.0'} + peerDependencies: + postcss: ^8.4.31 + + postcss-scss@4.0.9: + resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.4.29 + + postcss-selector-parser@7.1.0: + resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} + engines: {node: '>=4'} + + postcss@8.5.3: + resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-svelte@2.10.1: - resolution: {integrity: sha512-Wlq7Z5v2ueCubWo0TZzKc9XHcm7TDxqcuzRuGd0gcENfzfT4JZ9yDlCbEgxWgiPmLHkBjfOtpAWkcT28MCDpUQ==} + prettier-plugin-svelte@3.4.0: + resolution: {integrity: sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ==} peerDependencies: - prettier: ^1.16.4 || ^2.0.0 - svelte: ^3.2.0 || ^4.0.0-next.0 + prettier: ^3.0.0 + svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 - prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} + prettier-plugin-tailwindcss@0.6.11: + resolution: {integrity: sha512-YxaYSIvZPAqhrrEpRtonnrXdghZg1irNg4qrjboCXrpybLWVs55cW2N3juhspVJiO0JBvYJT8SYsJpc8OQSnsA==} + engines: {node: '>=14.21.3'} + peerDependencies: + '@ianvs/prettier-plugin-sort-imports': '*' + '@prettier/plugin-pug': '*' + '@shopify/prettier-plugin-liquid': '*' + '@trivago/prettier-plugin-sort-imports': '*' + '@zackad/prettier-plugin-twig': '*' + prettier: ^3.0 + prettier-plugin-astro: '*' + prettier-plugin-css-order: '*' + prettier-plugin-import-sort: '*' + prettier-plugin-jsdoc: '*' + prettier-plugin-marko: '*' + prettier-plugin-multiline-arrays: '*' + prettier-plugin-organize-attributes: '*' + prettier-plugin-organize-imports: '*' + prettier-plugin-sort-imports: '*' + prettier-plugin-style-order: '*' + prettier-plugin-svelte: '*' + peerDependenciesMeta: + '@ianvs/prettier-plugin-sort-imports': + optional: true + '@prettier/plugin-pug': + optional: true + '@shopify/prettier-plugin-liquid': + optional: true + '@trivago/prettier-plugin-sort-imports': + optional: true + '@zackad/prettier-plugin-twig': + optional: true + prettier-plugin-astro: + optional: true + prettier-plugin-css-order: + optional: true + prettier-plugin-import-sort: + optional: true + prettier-plugin-jsdoc: + optional: true + prettier-plugin-marko: + optional: true + prettier-plugin-multiline-arrays: + optional: true + prettier-plugin-organize-attributes: + optional: true + prettier-plugin-organize-imports: + optional: true + prettier-plugin-sort-imports: + optional: true + prettier-plugin-style-order: + optional: true + prettier-plugin-svelte: + optional: true + + prettier@3.5.3: + resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} + engines: {node: '>=14'} hasBin: true pretty-format@27.5.1: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + printable-characters@1.0.42: + resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -1010,57 +1866,84 @@ packages: react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} - regexparam@2.0.2: - resolution: {integrity: sha512-A1PeDEYMrkLrfyOwv2jwihXbo9qxdGD3atBYQA9JJgreAx8/7rC6IUkWOw2NQlOxLp2wL0ifQbh1HuidDfYA6w==} + regexparam@3.0.0: + resolution: {integrity: sha512-RSYAtP31mvYLkAHrOlh25pCNQ5hWnT106VukGaaFfuJrZFkGRX5GhUAdPqpSDXxOhA2c4akmRuplv1mRqnBn6Q==} engines: {node: '>=8'} resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - hasBin: true - - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + rollup@4.41.1: + resolution: {integrity: sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - rollup@3.29.4: - resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true + rrweb-cssom@0.8.0: + resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + runed@0.23.4: + resolution: {integrity: sha512-9q8oUiBYeXIDLWNK5DfCWlkL0EW3oGbk845VdKlPeia28l751VpfesaB/+7pI6rnbx1I6rqoZ2fZxptOJLxILA==} + peerDependencies: + svelte: ^5.7.0 + + runed@0.25.0: + resolution: {integrity: sha512-7+ma4AG9FT2sWQEA0Egf6mb7PBT2vHyuHail1ie8ropfSjvZGtEAx8YTmUjv/APCsdRRxEVvArNjALk9zFSOrg==} + peerDependencies: + svelte: ^5.7.0 + + runed@0.26.0: + resolution: {integrity: sha512-qWFv0cvLVRd8pdl/AslqzvtQyEn5KaIugEernwg9G98uJVSZcs/ygvPBvF80LA46V8pwRvSKnaVLDI3+i2wubw==} + peerDependencies: + svelte: ^5.7.0 + + runed@0.29.2: + resolution: {integrity: sha512-0cq6cA6sYGZwl/FvVqjx9YN+1xEBu9sDDyuWdDW1yWX7JF2wmvmVKfH+hVCZs+csW+P3ARH92MjI3H9QTagOQA==} + peerDependencies: + svelte: ^5.7.0 + sade@1.8.1: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} - sander@0.5.1: - resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass@1.75.0: - resolution: {integrity: sha512-ShMYi3WkrDWxExyxSZPst4/okE9ts46xZmJDSawJQrnte7M1V9fScVB+uNXOVKRBt0PggHOwoZcn8mYX4trnBw==} - engines: {node: '>=14.0.0'} + saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} hasBin: true - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} engines: {node: '>=10'} hasBin: true - set-cookie-parser@2.6.0: - resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + set-cookie-parser@2.7.1: + resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} + + sharp@0.33.5: + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} @@ -1073,24 +1956,15 @@ packages: siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - sirv@2.0.4: - resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} - engines: {node: '>= 10'} - - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - - slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} + simple-swizzle@0.2.4: + resolution: {integrity: sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==} - sorcery@0.11.0: - resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==} - hasBin: true + sirv@3.0.1: + resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} + engines: {node: '>=18'} - source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} source-map@0.6.1: @@ -1100,20 +1974,15 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} - - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + stacktracey@2.1.8: + resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==} - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + std-env@3.9.0: + resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} + stoppable@1.1.0: + resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} + engines: {node: '>=4', npm: '>=6'} strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} @@ -1123,92 +1992,109 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - strip-literal@1.3.0: - resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} + style-to-object@1.0.8: + resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==} supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - svelte-check@3.6.9: - resolution: {integrity: sha512-hDQrk3L0osX07djQyMiXocKysTLfusqi8AriNcCiQxhQR49/LonYolcUGMtZ0fbUR8HTR198Prrgf52WWU9wEg==} + svelte-check@4.2.1: + resolution: {integrity: sha512-e49SU1RStvQhoipkQ/aonDhHnG3qxHSBtNfBRb9pxVXoa+N7qybAo32KgA9wEb2PCYFNaDg7bZCdhLD1vHpdYA==} + engines: {node: '>= 18.0.0'} hasBin: true peerDependencies: - svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 + svelte: ^4.0.0 || ^5.0.0-next.0 + typescript: '>=5.0.0' - svelte-hmr@0.15.3: - resolution: {integrity: sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==} - engines: {node: ^12.20 || ^14.13.1 || >= 16} + svelte-eslint-parser@1.2.0: + resolution: {integrity: sha512-mbPtajIeuiyU80BEyGvwAktBeTX7KCr5/0l+uRGLq1dafwRNrjfM5kHGJScEBlPG3ipu6dJqfW/k0/fujvIEVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - svelte: ^3.19.0 || ^4.0.0 + svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + svelte: + optional: true - svelte-local-storage-store@0.4.0: - resolution: {integrity: sha512-ctPykTt4S3BE5bF0mfV0jKiUR1qlmqLvnAkQvYHLeb9wRyO1MdIFDVI23X+TZEFleATHkTaOpYZswIvf3b2tWA==} - engines: {node: '>=0.14'} + svelte-sonner@1.0.3: + resolution: {integrity: sha512-vm/+GxgOOv2mnQYH1iUtBN/pLvFmlHthpK9YqsqIUJZbq4+HT6zopHk4S/1vHKvLTyjgo9vzqA0Z+Z2sPQ/nTQ==} peerDependencies: - svelte: ^3.48.0 + svelte: ^5.0.0 - svelte-preprocess@5.1.4: - resolution: {integrity: sha512-IvnbQ6D6Ao3Gg6ftiM5tdbR6aAETwjhHV+UKGf5bHGYR69RQvF1ho0JKPcbUON4vy4R7zom13jPjgdOWCQ5hDA==} - engines: {node: '>= 16.0.0'} + svelte-toolbelt@0.7.1: + resolution: {integrity: sha512-HcBOcR17Vx9bjaOceUvxkY3nGmbBmCBBbuWLLEWO6jtmWH8f/QoWmbyUfQZrpDINH39en1b8mptfPQT9VKQ1xQ==} + engines: {node: '>=18', pnpm: '>=8.7.0'} peerDependencies: - '@babel/core': ^7.10.2 - coffeescript: ^2.5.1 - less: ^3.11.3 || ^4.0.0 - postcss: ^7 || ^8 - postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 - pug: ^3.0.0 - sass: ^1.26.8 - stylus: ^0.55.0 - sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 - svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 - typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0' - peerDependenciesMeta: - '@babel/core': - optional: true - coffeescript: - optional: true - less: - optional: true - postcss: - optional: true - postcss-load-config: - optional: true - pug: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - typescript: - optional: true + svelte: ^5.0.0 - svelte@3.59.2: - resolution: {integrity: sha512-vzSyuGr3eEoAtT/A6bmajosJZIUWySzY2CzB3w2pgPvnkUjGqlDnsNnA0PMO+mMAhuyMul6C2uuZzY6ELSkzyA==} - engines: {node: '>= 8'} + svelte-toolbelt@0.9.3: + resolution: {integrity: sha512-HCSWxCtVmv+c6g1ACb8LTwHVbDqLKJvHpo6J8TaqwUme2hj9ATJCpjCPNISR1OCq2Q4U1KT41if9ON0isINQZw==} + engines: {node: '>=18', pnpm: '>=8.7.0'} + peerDependencies: + svelte: ^5.30.2 + + svelte@5.33.1: + resolution: {integrity: sha512-7znzaaQALL62NBzkdKV04tmYIVla8qjrW+k6GdgFZcKcj8XOb8iEjmfRPo40iaWZlKv3+uiuc0h4iaGgwoORtA==} + engines: {node: '>=18'} + + symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + + tabbable@6.2.0: + resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + + tailwind-merge@3.0.2: + resolution: {integrity: sha512-l7z+OYZ7mu3DTqrL88RiKrKIqO3NcpEO8V/Od04bNpvk0kiIFndGEoqfuzvj4yuhRkHKjRkII2z+KS2HfPcSxw==} - text-segmentation@1.0.3: - resolution: {integrity: sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==} + tailwind-merge@3.3.0: + resolution: {integrity: sha512-fyW/pEfcQSiigd5SNn0nApUOxx0zB/dm6UDU/rEwc2c3sX2smWUNbapHv+QRqLGVp9GWX3THIa7MUGPo+YkDzQ==} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + tailwind-variants@1.0.0: + resolution: {integrity: sha512-2WSbv4ulEEyuBKomOunut65D8UZwxrHoRfYnxGcQNnHqlSCp2+B7Yz2W+yrNDrxRodOXtGD/1oCcKGNBnUqMqA==} + engines: {node: '>=16.x', pnpm: '>=7.x'} + peerDependencies: + tailwindcss: '*' + + tailwindcss@4.1.7: + resolution: {integrity: sha512-kr1o/ErIdNhTz8uzAYL7TpaUuzKIE6QPQ4qmSdxnoX/lo+5wmUHQA6h3L5yIqEImSRnAAURDirLu/BgiXGPAhg==} + + tapable@2.2.2: + resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} + engines: {node: '>=6'} - tiny-glob@0.2.9: - resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} + tar@7.4.3: + resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} + engines: {node: '>=18'} - tinybench@2.8.0: - resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinypool@0.4.0: - resolution: {integrity: sha512-2ksntHOKf893wSAH4z/+JbPpi92esw8Gn9N2deXX+B0EO92hexAVI9GIZZPx7P5aYo5KULfeOSt3kMOmSOy6uA==} + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + + tinyglobby@0.2.13: + resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} + engines: {node: '>=12.0.0'} + + tinypool@1.0.2: + resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} + engines: {node: ^18.0.0 || >=20.0.0} + + tinyrainbow@2.0.0: + resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} - tinyspy@1.1.1: - resolution: {integrity: sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==} + tinyspy@3.0.2: + resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} + tldts-core@6.1.86: + resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} + + tldts@6.1.86: + resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} + hasBin: true + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -1217,108 +2103,156 @@ packages: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + tough-cookie@5.1.2: + resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} + engines: {node: '>=16'} - tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tr46@5.1.1: + resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} + engines: {node: '>=18'} - tsutils@3.21.0: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} + ts-api-utils@2.1.0: + resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} + engines: {node: '>=18.12'} peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + typescript: '>=4.8.4' + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tw-animate-css@1.3.0: + resolution: {integrity: sha512-jrJ0XenzS9KVuDThJDvnhalbl4IYiMQ/XvpA0a2FL8KmlK+6CSMviO7ROY/I7z1NnUs5NnDhlM6fXmF40xPxzw==} type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} + typescript-eslint@8.32.1: + resolution: {integrity: sha512-D7el+eaDHAmXvrZBy1zpzSNIRqnCOrkwTgZxTu3MUqRWk8k0q9m9Ho4+vPf7iHtgUfrK/o8IZaEApsxPlHTFCg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' - typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + typescript@5.8.3: + resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} engines: {node: '>=14.17'} hasBin: true - ufo@1.5.3: - resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + ufo@1.6.1: + resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - - undici@5.28.4: - resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} + undici@5.29.0: + resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} engines: {node: '>=14.0'} + unenv@2.0.0-rc.17: + resolution: {integrity: sha512-B06u0wXkEd+o5gOCMl/ZHl5cfpYbDZKAT+HWTL+Hws6jWu7dCiqBBXXXzMFcFVJb8D4ytAnYmxJA83uwOQRSsg==} + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - utrie@1.0.2: - resolution: {integrity: sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==} + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + vaul-svelte@1.0.0-next.7: + resolution: {integrity: sha512-7zN7Bi3dFQixvvbUJY9uGDe7Ws/dGZeBQR2pXdXmzQiakjrxBvWo0QrmsX3HK+VH+SZOltz378cmgmCS9f9rSg==} + engines: {node: '>=18', pnpm: '>=8.7.0'} + peerDependencies: + svelte: ^5.0.0 + + virtua@0.41.3: + resolution: {integrity: sha512-X0eG4hIsJFrmgiq5kiyxdBqu+83mn2ArO9L16flRg1cN0BrafOmRVYmYijgClKElTlhqLJ57cdGby0X6az2LGw==} + peerDependencies: + react: '>=16.14.0' + react-dom: '>=16.14.0' + solid-js: '>=1.0' + svelte: '>=5.0' + vue: '>=3.2' + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + solid-js: + optional: true + svelte: + optional: true + vue: + optional: true - vite-node@0.29.8: - resolution: {integrity: sha512-b6OtCXfk65L6SElVM20q5G546yu10/kNrhg08afEoWlFRJXFq9/6glsvSVY+aI6YeC1tu2TtAqI2jHEQmOmsFw==} - engines: {node: '>=v14.16.0'} + vite-node@3.1.4: + resolution: {integrity: sha512-6enNwYnpyDo4hEgytbmc6mYWHXDHYEn0D1/rw4Q+tnHUGtKTJsn8T1YkX6Q18wI5LCrS8CTYlBaiCqxOy2kvUA==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite@4.5.3: - resolution: {integrity: sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==} - engines: {node: ^14.18.0 || >=16.0.0} + vite@6.3.5: + resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: - '@types/node': '>= 14' + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' less: '*' lightningcss: ^1.21.0 sass: '*' + sass-embedded: '*' stylus: '*' sugarss: '*' - terser: ^5.4.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 peerDependenciesMeta: '@types/node': optional: true + jiti: + optional: true less: optional: true lightningcss: optional: true sass: optional: true + sass-embedded: + optional: true stylus: optional: true sugarss: optional: true terser: optional: true + tsx: + optional: true + yaml: + optional: true - vitefu@0.2.5: - resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} + vitefu@1.0.6: + resolution: {integrity: sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==} peerDependencies: - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 peerDependenciesMeta: vite: optional: true - vitest@0.29.8: - resolution: {integrity: sha512-JIAVi2GK5cvA6awGpH0HvH/gEG9PZ0a/WoxdiV3PmqK+3CjQMf8c+J/Vhv4mdZ2nRyXFw66sAg6qz7VNkaHfDQ==} - engines: {node: '>=v14.16.0'} + vitest@3.1.4: + resolution: {integrity: sha512-Ta56rT7uWxCSJXlBtKgIlApJnT6e6IGmTYxYcmxjJ4ujuZDI59GUQgVDObXXJujOmPDBYXHK1qmaGtneu6TNIQ==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@vitest/browser': '*' - '@vitest/ui': '*' + '@types/debug': ^4.1.12 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + '@vitest/browser': 3.1.4 + '@vitest/ui': 3.1.4 happy-dom: '*' jsdom: '*' - playwright: '*' - safaridriver: '*' - webdriverio: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true + '@types/debug': + optional: true + '@types/node': + optional: true '@vitest/browser': optional: true '@vitest/ui': @@ -1327,160 +2261,456 @@ packages: optional: true jsdom: optional: true - playwright: - optional: true - safaridriver: - optional: true - webdriverio: - optional: true + + w3c-xmlserializer@5.0.0: + resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} + engines: {node: '>=18'} + + webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + + whatwg-encoding@3.1.1: + resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} + engines: {node: '>=18'} + + whatwg-mimetype@4.0.0: + resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} + engines: {node: '>=18'} + + whatwg-url@14.2.0: + resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} + engines: {node: '>=18'} which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true - why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} engines: {node: '>=8'} hasBin: true - worktop@0.8.0-next.15: - resolution: {integrity: sha512-0ycNO52P6nVwsjr1y20zuf0nqJatAb8L7MODBfQIxbxndHV5O4s50oZZMHWhJG1RLpHwbK0Epq8aaQK4E2GlgQ==} + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + workerd@1.20250525.0: + resolution: {integrity: sha512-SXJgLREy/Aqw2J71Oah0Pbu+SShbqbTExjVQyRBTM1r7MG7fS5NUlknhnt6sikjA/t4cO09Bi8OJqHdTkrcnYQ==} + engines: {node: '>=16'} + hasBin: true + + worktop@0.8.0-next.18: + resolution: {integrity: sha512-+TvsA6VAVoMC3XDKR5MoC/qlLqDixEfOBysDEKnPIPou/NvoPWCAuXHXMsswwlvmEuvX56lQjvELLyLuzTKvRw==} engines: {node: '>=12'} - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + wrangler@4.19.1: + resolution: {integrity: sha512-b+ed2SJKauHgndl4Im1wHE+FeSSlrdlEZNuvpc8q/94k4EmRxRkXnwBAsVWuicBxG3HStFLQPGGlvL8wGKTtHw==} + engines: {node: '>=18.0.0'} + hasBin: true + peerDependencies: + '@cloudflare/workers-types': ^4.20250525.0 + peerDependenciesMeta: + '@cloudflare/workers-types': + optional: true + + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.18.2: + resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xml-name-validator@5.0.0: + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} + + xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} + youch@3.3.4: + resolution: {integrity: sha512-UeVBXie8cA35DS6+nBkls68xaBBXCye0CNznrhszZjTbRVnJKQuNsyLKBTTL4ln1o1rh2PKtv35twV7irj5SEg==} + + zimmerframe@1.1.2: + resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==} + + zod@3.22.3: + resolution: {integrity: sha512-EjIevzuJRiRPbVH4mGc8nApb/lVLKVpmUhAaR5R5doKGfAnGJ6Gr3CViAVjP+4FWSxCsybeWQdcgCtbX+7oZug==} snapshots: - '@aashutoshrathi/word-wrap@1.2.6': {} + '@adobe/css-tools@4.4.3': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + + '@asamuzakjp/css-color@3.2.0': + dependencies: + '@csstools/css-calc': 2.1.3(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-color-parser': 3.0.9(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + lru-cache: 10.4.3 + + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.27.1 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/helper-validator-identifier@7.27.1': {} + + '@babel/runtime@7.27.1': {} + + '@cloudflare/kv-asset-handler@0.4.0': + dependencies: + mime: 3.0.0 + + '@cloudflare/unenv-preset@2.3.2(unenv@2.0.0-rc.17)(workerd@1.20250525.0)': + dependencies: + unenv: 2.0.0-rc.17 + optionalDependencies: + workerd: 1.20250525.0 + + '@cloudflare/workerd-darwin-64@1.20250525.0': + optional: true + + '@cloudflare/workerd-darwin-arm64@1.20250525.0': + optional: true + + '@cloudflare/workerd-linux-64@1.20250525.0': + optional: true + + '@cloudflare/workerd-linux-arm64@1.20250525.0': + optional: true + + '@cloudflare/workerd-windows-64@1.20250525.0': + optional: true + + '@cloudflare/workers-types@4.20250607.0': {} + + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + + '@csstools/color-helpers@5.0.2': {} + + '@csstools/css-calc@2.1.3(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + + '@csstools/css-color-parser@3.0.9(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': + dependencies: + '@csstools/color-helpers': 5.0.2 + '@csstools/css-calc': 2.1.3(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) + '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) + '@csstools/css-tokenizer': 3.0.3 + + '@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)': + dependencies: + '@csstools/css-tokenizer': 3.0.3 + + '@csstools/css-tokenizer@3.0.3': {} + + '@emnapi/runtime@1.7.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@esbuild/aix-ppc64@0.25.4': + optional: true + + '@esbuild/android-arm64@0.25.4': + optional: true - '@cloudflare/workers-types@4.20240423.0': {} + '@esbuild/android-arm@0.25.4': + optional: true - '@esbuild/android-arm64@0.18.20': + '@esbuild/android-x64@0.25.4': optional: true - '@esbuild/android-arm@0.18.20': + '@esbuild/darwin-arm64@0.25.4': optional: true - '@esbuild/android-x64@0.18.20': + '@esbuild/darwin-x64@0.25.4': optional: true - '@esbuild/darwin-arm64@0.18.20': + '@esbuild/freebsd-arm64@0.25.4': optional: true - '@esbuild/darwin-x64@0.18.20': + '@esbuild/freebsd-x64@0.25.4': optional: true - '@esbuild/freebsd-arm64@0.18.20': + '@esbuild/linux-arm64@0.25.4': optional: true - '@esbuild/freebsd-x64@0.18.20': + '@esbuild/linux-arm@0.25.4': optional: true - '@esbuild/linux-arm64@0.18.20': + '@esbuild/linux-ia32@0.25.4': optional: true - '@esbuild/linux-arm@0.18.20': + '@esbuild/linux-loong64@0.25.4': optional: true - '@esbuild/linux-ia32@0.18.20': + '@esbuild/linux-mips64el@0.25.4': optional: true - '@esbuild/linux-loong64@0.18.20': + '@esbuild/linux-ppc64@0.25.4': optional: true - '@esbuild/linux-mips64el@0.18.20': + '@esbuild/linux-riscv64@0.25.4': optional: true - '@esbuild/linux-ppc64@0.18.20': + '@esbuild/linux-s390x@0.25.4': optional: true - '@esbuild/linux-riscv64@0.18.20': + '@esbuild/linux-x64@0.25.4': optional: true - '@esbuild/linux-s390x@0.18.20': + '@esbuild/netbsd-arm64@0.25.4': optional: true - '@esbuild/linux-x64@0.18.20': + '@esbuild/netbsd-x64@0.25.4': optional: true - '@esbuild/netbsd-x64@0.18.20': + '@esbuild/openbsd-arm64@0.25.4': optional: true - '@esbuild/openbsd-x64@0.18.20': + '@esbuild/openbsd-x64@0.25.4': optional: true - '@esbuild/sunos-x64@0.18.20': + '@esbuild/sunos-x64@0.25.4': optional: true - '@esbuild/win32-arm64@0.18.20': + '@esbuild/win32-arm64@0.25.4': optional: true - '@esbuild/win32-ia32@0.18.20': + '@esbuild/win32-ia32@0.25.4': optional: true - '@esbuild/win32-x64@0.18.20': + '@esbuild/win32-x64@0.25.4': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@eslint-community/eslint-utils@4.7.0(eslint@9.27.0(jiti@2.4.2))': dependencies: - eslint: 8.57.0 + eslint: 9.27.0(jiti@2.4.2) eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.10.0': {} + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/compat@1.2.9(eslint@9.27.0(jiti@2.4.2))': + optionalDependencies: + eslint: 9.27.0(jiti@2.4.2) + + '@eslint/config-array@0.20.0': + dependencies: + '@eslint/object-schema': 2.1.6 + debug: 4.4.1 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.2.2': {} + + '@eslint/core@0.14.0': + dependencies: + '@types/json-schema': 7.0.15 - '@eslint/eslintrc@2.1.4': + '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 + debug: 4.4.1 + espree: 10.3.0 + globals: 14.0.0 + ignore: 5.3.2 + import-fresh: 3.3.1 js-yaml: 4.1.0 minimatch: 3.1.2 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} + '@eslint/js@9.27.0': {} + + '@eslint/object-schema@2.1.6': {} + + '@eslint/plugin-kit@0.3.1': + dependencies: + '@eslint/core': 0.14.0 + levn: 0.4.1 '@fastify/busboy@2.1.1': {} - '@humanwhocodes/config-array@0.11.14': + '@floating-ui/core@1.7.3': dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + '@floating-ui/utils': 0.2.10 + + '@floating-ui/dom@1.7.4': + dependencies: + '@floating-ui/core': 1.7.3 + '@floating-ui/utils': 0.2.10 + + '@floating-ui/utils@0.2.10': {} + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.3': {} + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.3': {} + + '@img/sharp-darwin-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.4 + optional: true + + '@img/sharp-darwin-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.4 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-darwin-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm@1.0.5': + optional: true + + '@img/sharp-libvips-linux-s390x@1.0.4': + optional: true + + '@img/sharp-libvips-linux-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + optional: true + + '@img/sharp-linux-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.4 + optional: true + + '@img/sharp-linux-arm@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.5 + optional: true + + '@img/sharp-linux-s390x@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.4 + optional: true + + '@img/sharp-linux-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + optional: true + + '@img/sharp-wasm32@0.33.5': + dependencies: + '@emnapi/runtime': 1.7.1 + optional: true + + '@img/sharp-win32-ia32@0.33.5': + optional: true + + '@img/sharp-win32-x64@0.33.5': + optional: true + + '@internationalized/date@3.8.1': + dependencies: + '@swc/helpers': 0.5.17 + + '@isaacs/fs-minipass@4.0.1': + dependencies: + minipass: 7.1.2 + + '@jridgewell/gen-mapping@0.3.8': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/resolve-uri@3.1.2': {} - '@jridgewell/sourcemap-codec@1.4.15': {} + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@lucide/svelte@0.515.0(svelte@5.33.1)': + dependencies: + svelte: 5.33.1 - '@malib/gear@0.15.1': {} + '@malib/gear@1.0.0-next.11': {} '@nodelib/fs.scandir@2.1.5': dependencies: @@ -1492,203 +2722,377 @@ snapshots: '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 + fastq: 1.19.1 - '@playwright/test@1.43.1': + '@playwright/test@1.52.0': dependencies: - playwright: 1.43.1 + playwright: 1.52.0 + + '@polka/url@1.0.0-next.29': {} + + '@rollup/rollup-android-arm-eabi@4.41.1': + optional: true + + '@rollup/rollup-android-arm64@4.41.1': + optional: true + + '@rollup/rollup-darwin-arm64@4.41.1': + optional: true + + '@rollup/rollup-darwin-x64@4.41.1': + optional: true + + '@rollup/rollup-freebsd-arm64@4.41.1': + optional: true + + '@rollup/rollup-freebsd-x64@4.41.1': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.41.1': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.41.1': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.41.1': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.41.1': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.41.1': + optional: true - '@polka/url@1.0.0-next.25': {} + '@rollup/rollup-linux-powerpc64le-gnu@4.41.1': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.41.1': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.41.1': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.41.1': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.41.1': + optional: true + + '@rollup/rollup-linux-x64-musl@4.41.1': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.41.1': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.41.1': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.41.1': + optional: true + + '@sveltejs/acorn-typescript@1.0.5(acorn@8.14.1)': + dependencies: + acorn: 8.14.1 - '@sveltejs/adapter-auto@2.1.1(@sveltejs/kit@1.30.4(svelte@3.59.2)(vite@4.5.3(@types/node@20.12.7)(sass@1.75.0)))': + '@sveltejs/adapter-auto@4.0.0(@sveltejs/kit@2.21.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))': dependencies: - '@sveltejs/kit': 1.30.4(svelte@3.59.2)(vite@4.5.3(@types/node@20.12.7)(sass@1.75.0)) - import-meta-resolve: 4.0.0 + '@sveltejs/kit': 2.21.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) + import-meta-resolve: 4.1.0 - '@sveltejs/adapter-cloudflare@2.3.4(@sveltejs/kit@1.30.4(svelte@3.59.2)(vite@4.5.3(@types/node@20.12.7)(sass@1.75.0)))': + '@sveltejs/adapter-cloudflare@7.0.3(@sveltejs/kit@2.21.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(wrangler@4.19.1(@cloudflare/workers-types@4.20250607.0))': dependencies: - '@cloudflare/workers-types': 4.20240423.0 - '@sveltejs/kit': 1.30.4(svelte@3.59.2)(vite@4.5.3(@types/node@20.12.7)(sass@1.75.0)) - esbuild: 0.18.20 - worktop: 0.8.0-next.15 + '@cloudflare/workers-types': 4.20250607.0 + '@sveltejs/kit': 2.21.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) + worktop: 0.8.0-next.18 + wrangler: 4.19.1(@cloudflare/workers-types@4.20250607.0) - '@sveltejs/kit@1.30.4(svelte@3.59.2)(vite@4.5.3(@types/node@20.12.7)(sass@1.75.0))': + '@sveltejs/kit@2.21.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 2.5.3(svelte@3.59.2)(vite@4.5.3(@types/node@20.12.7)(sass@1.75.0)) - '@types/cookie': 0.5.4 - cookie: 0.5.0 - devalue: 4.3.3 - esm-env: 1.0.0 + '@sveltejs/acorn-typescript': 1.0.5(acorn@8.14.1) + '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) + '@types/cookie': 0.6.0 + acorn: 8.14.1 + cookie: 0.6.0 + devalue: 5.1.1 + esm-env: 1.2.2 kleur: 4.1.5 - magic-string: 0.30.10 - mrmime: 1.0.1 + magic-string: 0.30.17 + mrmime: 2.0.1 sade: 1.8.1 - set-cookie-parser: 2.6.0 - sirv: 2.0.4 - svelte: 3.59.2 - tiny-glob: 0.2.9 - undici: 5.28.4 - vite: 4.5.3(@types/node@20.12.7)(sass@1.75.0) - transitivePeerDependencies: - - supports-color + set-cookie-parser: 2.7.1 + sirv: 3.0.1 + svelte: 5.33.1 + vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1) - '@sveltejs/vite-plugin-svelte-inspector@1.0.4(@sveltejs/vite-plugin-svelte@2.5.3(svelte@3.59.2)(vite@4.5.3(@types/node@20.12.7)(sass@1.75.0)))(svelte@3.59.2)(vite@4.5.3(@types/node@20.12.7)(sass@1.75.0))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 2.5.3(svelte@3.59.2)(vite@4.5.3(@types/node@20.12.7)(sass@1.75.0)) - debug: 4.3.4 - svelte: 3.59.2 - vite: 4.5.3(@types/node@20.12.7)(sass@1.75.0) + '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) + debug: 4.4.1 + svelte: 5.33.1 + vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@2.5.3(svelte@3.59.2)(vite@4.5.3(@types/node@20.12.7)(sass@1.75.0))': + '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 1.0.4(@sveltejs/vite-plugin-svelte@2.5.3(svelte@3.59.2)(vite@4.5.3(@types/node@20.12.7)(sass@1.75.0)))(svelte@3.59.2)(vite@4.5.3(@types/node@20.12.7)(sass@1.75.0)) - debug: 4.3.4 + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) + debug: 4.4.1 deepmerge: 4.3.1 kleur: 4.1.5 - magic-string: 0.30.10 - svelte: 3.59.2 - svelte-hmr: 0.15.3(svelte@3.59.2) - vite: 4.5.3(@types/node@20.12.7)(sass@1.75.0) - vitefu: 0.2.5(vite@4.5.3(@types/node@20.12.7)(sass@1.75.0)) + magic-string: 0.30.17 + svelte: 5.33.1 + vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1) + vitefu: 1.0.6(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) transitivePeerDependencies: - supports-color - '@types/chai-subset@1.3.5': + '@swc/helpers@0.5.17': + dependencies: + tslib: 2.8.1 + + '@tailwindcss/node@4.1.7': dependencies: - '@types/chai': 4.3.14 + '@ampproject/remapping': 2.3.0 + enhanced-resolve: 5.18.1 + jiti: 2.4.2 + lightningcss: 1.30.1 + magic-string: 0.30.17 + source-map-js: 1.2.1 + tailwindcss: 4.1.7 + + '@tailwindcss/oxide-android-arm64@4.1.7': + optional: true - '@types/chai@4.3.14': {} + '@tailwindcss/oxide-darwin-arm64@4.1.7': + optional: true - '@types/cookie@0.5.4': {} + '@tailwindcss/oxide-darwin-x64@4.1.7': + optional: true - '@types/json-schema@7.0.15': {} + '@tailwindcss/oxide-freebsd-x64@4.1.7': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.7': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.7': + optional: true - '@types/node@20.12.7': + '@tailwindcss/oxide-linux-arm64-musl@4.1.7': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.1.7': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.1.7': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.1.7': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.7': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.1.7': + optional: true + + '@tailwindcss/oxide@4.1.7': dependencies: - undici-types: 5.26.5 + detect-libc: 2.0.4 + tar: 7.4.3 + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.1.7 + '@tailwindcss/oxide-darwin-arm64': 4.1.7 + '@tailwindcss/oxide-darwin-x64': 4.1.7 + '@tailwindcss/oxide-freebsd-x64': 4.1.7 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.7 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.7 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.7 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.7 + '@tailwindcss/oxide-linux-x64-musl': 4.1.7 + '@tailwindcss/oxide-wasm32-wasi': 4.1.7 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.7 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.7 + + '@tailwindcss/vite@4.1.7(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))': + dependencies: + '@tailwindcss/node': 4.1.7 + '@tailwindcss/oxide': 4.1.7 + tailwindcss: 4.1.7 + vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1) - '@types/pug@2.0.10': {} + '@tanstack/query-core@https://pkg.pr.new/TanStack/query/@tanstack/query-core@746b9c5': {} - '@types/semver@7.5.8': {} + '@tanstack/svelte-query@https://pkg.pr.new/@tanstack/svelte-query@746b9c5(svelte@5.33.1)': + dependencies: + '@tanstack/query-core': https://pkg.pr.new/TanStack/query/@tanstack/query-core@746b9c5 + svelte: 5.33.1 - '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': + '@testing-library/dom@10.4.0': dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) - debug: 4.3.4 - eslint: 8.57.0 - graphemer: 1.4.0 - ignore: 5.3.1 - natural-compare-lite: 1.4.0 - semver: 7.6.0 - tsutils: 3.21.0(typescript@5.4.5) + '@babel/code-frame': 7.27.1 + '@babel/runtime': 7.27.1 + '@types/aria-query': 5.0.4 + aria-query: 5.3.0 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + + '@testing-library/jest-dom@6.6.3': + dependencies: + '@adobe/css-tools': 4.4.3 + aria-query: 5.3.2 + chalk: 3.0.0 + css.escape: 1.5.1 + dom-accessibility-api: 0.6.3 + lodash: 4.17.21 + redent: 3.0.0 + + '@testing-library/svelte@5.2.8(svelte@5.33.1)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))(vitest@3.1.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1))': + dependencies: + '@testing-library/dom': 10.4.0 + svelte: 5.33.1 optionalDependencies: - typescript: 5.4.5 + vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1) + vitest: 3.1.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1) + + '@types/aria-query@5.0.4': {} + + '@types/cookie@0.6.0': {} + + '@types/estree@1.0.7': {} + + '@types/json-schema@7.0.15': {} + + '@typescript-eslint/eslint-plugin@8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.32.1 + '@typescript-eslint/type-utils': 8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.32.1 + eslint: 9.27.0(jiti@2.4.2) + graphemer: 1.4.0 + ignore: 7.0.4 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) - debug: 4.3.4 - eslint: 8.57.0 - optionalDependencies: - typescript: 5.4.5 + '@typescript-eslint/scope-manager': 8.32.1 + '@typescript-eslint/types': 8.32.1 + '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.32.1 + debug: 4.4.1 + eslint: 9.27.0(jiti@2.4.2) + typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@5.62.0': + '@typescript-eslint/scope-manager@8.32.1': dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 + '@typescript-eslint/types': 8.32.1 + '@typescript-eslint/visitor-keys': 8.32.1 - '@typescript-eslint/type-utils@5.62.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/type-utils@8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) - debug: 4.3.4 - eslint: 8.57.0 - tsutils: 3.21.0(typescript@5.4.5) - optionalDependencies: - typescript: 5.4.5 + '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3) + debug: 4.4.1 + eslint: 9.27.0(jiti@2.4.2) + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@5.62.0': {} + '@typescript-eslint/types@8.32.1': {} - '@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5)': + '@typescript-eslint/typescript-estree@8.32.1(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.4 - globby: 11.1.0 + '@typescript-eslint/types': 8.32.1 + '@typescript-eslint/visitor-keys': 8.32.1 + debug: 4.4.1 + fast-glob: 3.3.3 is-glob: 4.0.3 - semver: 7.6.0 - tsutils: 3.21.0(typescript@5.4.5) - optionalDependencies: - typescript: 5.4.5 + minimatch: 9.0.5 + semver: 7.7.2 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5)': + '@typescript-eslint/utils@8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) - eslint: 8.57.0 - eslint-scope: 5.1.1 - semver: 7.6.0 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.27.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.32.1 + '@typescript-eslint/types': 8.32.1 + '@typescript-eslint/typescript-estree': 8.32.1(typescript@5.8.3) + eslint: 9.27.0(jiti@2.4.2) + typescript: 5.8.3 transitivePeerDependencies: - supports-color - - typescript - '@typescript-eslint/visitor-keys@5.62.0': + '@typescript-eslint/visitor-keys@8.32.1': dependencies: - '@typescript-eslint/types': 5.62.0 - eslint-visitor-keys: 3.4.3 + '@typescript-eslint/types': 8.32.1 + eslint-visitor-keys: 4.2.0 + + '@vitest/expect@3.1.4': + dependencies: + '@vitest/spy': 3.1.4 + '@vitest/utils': 3.1.4 + chai: 5.2.0 + tinyrainbow: 2.0.0 - '@ungap/structured-clone@1.2.0': {} + '@vitest/mocker@3.1.4(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))': + dependencies: + '@vitest/spy': 3.1.4 + estree-walker: 3.0.3 + magic-string: 0.30.17 + optionalDependencies: + vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1) - '@vitest/expect@0.29.8': + '@vitest/pretty-format@3.1.4': dependencies: - '@vitest/spy': 0.29.8 - '@vitest/utils': 0.29.8 - chai: 4.4.1 + tinyrainbow: 2.0.0 - '@vitest/runner@0.29.8': + '@vitest/runner@3.1.4': dependencies: - '@vitest/utils': 0.29.8 - p-limit: 4.0.0 - pathe: 1.1.2 + '@vitest/utils': 3.1.4 + pathe: 2.0.3 - '@vitest/spy@0.29.8': + '@vitest/snapshot@3.1.4': dependencies: - tinyspy: 1.1.1 + '@vitest/pretty-format': 3.1.4 + magic-string: 0.30.17 + pathe: 2.0.3 - '@vitest/utils@0.29.8': + '@vitest/spy@3.1.4': dependencies: - cli-truncate: 3.1.0 - diff: 5.2.0 - loupe: 2.3.7 - pretty-format: 27.5.1 + tinyspy: 3.0.2 - acorn-jsx@5.3.2(acorn@8.11.3): + '@vitest/utils@3.1.4': dependencies: - acorn: 8.11.3 + '@vitest/pretty-format': 3.1.4 + loupe: 3.1.3 + tinyrainbow: 2.0.0 + + acorn-jsx@5.3.2(acorn@8.14.1): + dependencies: + acorn: 8.14.1 acorn-walk@8.3.2: {} - acorn@8.11.3: {} + acorn@8.14.0: {} + + acorn@8.14.1: {} + + agent-base@7.1.3: {} ajv@6.12.6: dependencies: @@ -1699,89 +3103,87 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.0.1: {} - ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 ansi-styles@5.2.0: {} - ansi-styles@6.2.1: {} + argparse@2.0.1: {} - anymatch@3.1.3: + aria-query@5.3.0: dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 + dequal: 2.0.3 - argparse@2.0.1: {} + aria-query@5.3.2: {} - array-union@2.1.0: {} + as-table@1.0.55: + dependencies: + printable-characters: 1.0.42 + + assertion-error@2.0.1: {} - assertion-error@1.1.0: {} + axobject-query@4.1.0: {} balanced-match@1.0.2: {} - base64-arraybuffer@1.0.2: {} + bits-ui@2.9.6(@internationalized/date@3.8.1)(svelte@5.33.1): + dependencies: + '@floating-ui/core': 1.7.3 + '@floating-ui/dom': 1.7.4 + '@internationalized/date': 3.8.1 + esm-env: 1.2.2 + runed: 0.29.2(svelte@5.33.1) + svelte: 5.33.1 + svelte-toolbelt: 0.9.3(svelte@5.33.1) + tabbable: 6.2.0 - binary-extensions@2.3.0: {} + blake3-wasm@2.1.5: {} brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - braces@3.0.2: + brace-expansion@2.0.1: dependencies: - fill-range: 7.0.1 + balanced-match: 1.0.2 - buffer-crc32@0.2.13: {} + braces@3.0.3: + dependencies: + fill-range: 7.1.1 cac@6.7.14: {} callsites@3.1.0: {} - carbon-components-svelte@0.73.5: + chai@5.2.0: dependencies: - flatpickr: 4.6.9 - - carbon-icons-svelte@11.4.0: {} + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.3 + pathval: 2.0.0 - chai@4.4.1: + chalk@3.0.0: dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 + ansi-styles: 4.3.0 + supports-color: 7.2.0 chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - check-error@1.0.3: - dependencies: - get-func-name: 2.0.2 + check-error@2.1.1: {} - chokidar@3.6.0: + chokidar@4.0.3: dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 + readdirp: 4.1.2 - cli-truncate@3.1.0: - dependencies: - slice-ansi: 5.0.0 - string-width: 5.1.2 + chownr@3.0.0: {} + + clsx@2.1.1: {} color-convert@2.0.1: dependencies: @@ -1789,190 +3191,247 @@ snapshots: color-name@1.1.4: {} + color-string@1.9.1: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.4 + + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + concat-map@0.0.1: {} - confbox@0.1.7: {} + cookie@0.6.0: {} - cookie@0.5.0: {} + cookie@0.7.2: {} - cross-spawn@7.0.3: + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - css-line-break@2.1.0: + css.escape@1.5.1: {} + + cssesc@3.0.0: {} + + cssstyle@4.3.1: dependencies: - utrie: 1.0.2 + '@asamuzakjp/css-color': 3.2.0 + rrweb-cssom: 0.8.0 + + data-uri-to-buffer@2.0.2: {} - debug@4.3.4: + data-urls@5.0.0: dependencies: - ms: 2.1.2 + whatwg-mimetype: 4.0.0 + whatwg-url: 14.2.0 - deep-eql@4.1.3: + debug@4.4.1: dependencies: - type-detect: 4.0.8 + ms: 2.1.3 + + decimal.js@10.5.0: {} + + deep-eql@5.0.2: {} deep-is@0.1.4: {} deepmerge@4.3.1: {} - detect-indent@6.1.0: {} + defu@6.1.4: {} - devalue@4.3.3: {} + dequal@2.0.3: {} - diff@5.2.0: {} + detect-libc@2.0.4: {} - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 + detect-libc@2.1.2: {} + + devalue@5.1.1: {} - doctrine@3.0.0: + dexie@4.0.11: {} + + dom-accessibility-api@0.5.16: {} + + dom-accessibility-api@0.6.3: {} + + enhanced-resolve@5.18.1: dependencies: - esutils: 2.0.3 + graceful-fs: 4.2.11 + tapable: 2.2.2 - eastasianwidth@0.2.0: {} + entities@6.0.0: {} - emoji-regex@9.2.2: {} + es-hangul@2.3.3: {} - es6-promise@3.3.1: {} + es-module-lexer@1.7.0: {} - esbuild@0.18.20: + esbuild@0.25.4: optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 + '@esbuild/aix-ppc64': 0.25.4 + '@esbuild/android-arm': 0.25.4 + '@esbuild/android-arm64': 0.25.4 + '@esbuild/android-x64': 0.25.4 + '@esbuild/darwin-arm64': 0.25.4 + '@esbuild/darwin-x64': 0.25.4 + '@esbuild/freebsd-arm64': 0.25.4 + '@esbuild/freebsd-x64': 0.25.4 + '@esbuild/linux-arm': 0.25.4 + '@esbuild/linux-arm64': 0.25.4 + '@esbuild/linux-ia32': 0.25.4 + '@esbuild/linux-loong64': 0.25.4 + '@esbuild/linux-mips64el': 0.25.4 + '@esbuild/linux-ppc64': 0.25.4 + '@esbuild/linux-riscv64': 0.25.4 + '@esbuild/linux-s390x': 0.25.4 + '@esbuild/linux-x64': 0.25.4 + '@esbuild/netbsd-arm64': 0.25.4 + '@esbuild/netbsd-x64': 0.25.4 + '@esbuild/openbsd-arm64': 0.25.4 + '@esbuild/openbsd-x64': 0.25.4 + '@esbuild/sunos-x64': 0.25.4 + '@esbuild/win32-arm64': 0.25.4 + '@esbuild/win32-ia32': 0.25.4 + '@esbuild/win32-x64': 0.25.4 escape-string-regexp@4.0.0: {} - eslint-config-prettier@8.10.0(eslint@8.57.0): - dependencies: - eslint: 8.57.0 - - eslint-plugin-svelte3@4.0.0(eslint@8.57.0)(svelte@3.59.2): + eslint-config-prettier@10.1.5(eslint@9.27.0(jiti@2.4.2)): dependencies: - eslint: 8.57.0 - svelte: 3.59.2 + eslint: 9.27.0(jiti@2.4.2) - eslint-scope@5.1.1: + eslint-plugin-svelte@3.9.0(eslint@9.27.0(jiti@2.4.2))(svelte@5.33.1): dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.27.0(jiti@2.4.2)) + '@jridgewell/sourcemap-codec': 1.5.0 + eslint: 9.27.0(jiti@2.4.2) + esutils: 2.0.3 + globals: 16.1.0 + known-css-properties: 0.36.0 + postcss: 8.5.3 + postcss-load-config: 3.1.4(postcss@8.5.3) + postcss-safe-parser: 7.0.1(postcss@8.5.3) + semver: 7.7.2 + svelte-eslint-parser: 1.2.0(svelte@5.33.1) + optionalDependencies: + svelte: 5.33.1 + transitivePeerDependencies: + - ts-node - eslint-scope@7.2.2: + eslint-scope@8.3.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint@8.57.0: + eslint-visitor-keys@4.2.0: {} + + eslint@9.27.0(jiti@2.4.2): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.27.0(jiti@2.4.2)) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.20.0 + '@eslint/config-helpers': 0.2.2 + '@eslint/core': 0.14.0 + '@eslint/eslintrc': 3.3.1 + '@eslint/js': 9.27.0 + '@eslint/plugin-kit': 0.3.1 + '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.7 + '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 + cross-spawn: 7.0.6 + debug: 4.4.1 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 + eslint-scope: 8.3.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 - strip-ansi: 6.0.1 - text-table: 0.2.0 + optionator: 0.9.4 + optionalDependencies: + jiti: 2.4.2 transitivePeerDependencies: - supports-color - esm-env@1.0.0: {} + esm-env@1.2.2: {} - espree@9.6.1: + espree@10.3.0: dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) + eslint-visitor-keys: 4.2.0 - esquery@1.5.0: + esquery@1.6.0: dependencies: estraverse: 5.3.0 + esrap@1.4.6: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + esrecurse@4.3.0: dependencies: estraverse: 5.3.0 - estraverse@4.3.0: {} - estraverse@5.3.0: {} + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.7 + esutils@2.0.3: {} + exit-hook@2.2.1: {} + + expect-type@1.2.1: {} + + exsolve@1.0.8: {} + fast-deep-equal@3.1.3: {} - fast-glob@3.3.2: + fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} - fastq@1.17.1: + fastq@1.19.1: dependencies: - reusify: 1.0.4 + reusify: 1.1.0 - file-entry-cache@6.0.1: + fdir@6.4.4(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -1981,17 +3440,12 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: - flatted: 3.3.1 + flatted: 3.3.3 keyv: 4.5.4 - rimraf: 3.0.2 - - flatpickr@4.6.9: {} - - flatted@3.3.1: {} - fs.realpath@1.0.0: {} + flatted@3.3.3: {} fsevents@2.3.2: optional: true @@ -1999,7 +3453,10 @@ snapshots: fsevents@2.3.3: optional: true - get-func-name@2.0.2: {} + get-source@2.0.12: + dependencies: + data-uri-to-buffer: 2.0.2 + source-map: 0.6.1 glob-parent@5.1.2: dependencies: @@ -2009,31 +3466,11 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@7.2.3: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - - globals@13.24.0: - dependencies: - type-fest: 0.20.2 - - globalyzer@0.1.0: {} + glob-to-regexp@0.4.1: {} - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.1 - merge2: 1.4.1 - slash: 3.0.0 + globals@14.0.0: {} - globrex@0.1.2: {} + globals@16.1.0: {} graceful-fs@4.2.11: {} @@ -2041,55 +3478,100 @@ snapshots: has-flag@4.0.0: {} - html-to-image@1.11.11: {} + html-encoding-sniffer@4.0.0: + dependencies: + whatwg-encoding: 3.1.1 + + html-to-image@1.11.13: {} + + http-proxy-agent@7.0.2: + dependencies: + agent-base: 7.1.3 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.3 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color - html2canvas@1.4.1: + iconv-lite@0.6.3: dependencies: - css-line-break: 2.1.0 - text-segmentation: 1.0.3 + safer-buffer: 2.1.2 - ignore@5.3.1: {} + ignore@5.3.2: {} - immutable@4.3.5: {} + ignore@7.0.4: {} - import-fresh@3.3.0: + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - import-meta-resolve@4.0.0: {} + import-meta-resolve@4.1.0: {} imurmurhash@0.1.4: {} - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 + indent-string@4.0.0: {} - inherits@2.0.4: {} + inline-style-parser@0.2.4: {} - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 + is-arrayish@0.3.4: {} is-extglob@2.1.1: {} - is-fullwidth-code-point@4.0.0: {} - is-glob@4.0.3: dependencies: is-extglob: 2.1.1 is-number@7.0.0: {} - is-path-inside@3.0.3: {} + is-potential-custom-element-name@1.0.1: {} + + is-reference@3.0.3: + dependencies: + '@types/estree': 1.0.7 isexe@2.0.0: {} + jiti@2.4.2: {} + + js-tokens@4.0.0: {} + js-yaml@4.1.0: dependencies: argparse: 2.0.1 + jsdom@26.1.0: + dependencies: + cssstyle: 4.3.1 + data-urls: 5.0.0 + decimal.js: 10.5.0 + html-encoding-sniffer: 4.0.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.20 + parse5: 7.3.0 + rrweb-cssom: 0.8.0 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 5.1.2 + w3c-xmlserializer: 5.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 3.1.1 + whatwg-mimetype: 4.0.0 + whatwg-url: 14.2.0 + ws: 8.18.2 + xml-name-validator: 5.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + json-buffer@3.0.1: {} json-schema-traverse@0.4.1: {} @@ -2102,12 +3584,65 @@ snapshots: kleur@4.1.5: {} + known-css-properties@0.36.0: {} + + korean-regexp@1.0.13: {} + + ky@1.8.1: {} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - local-pkg@0.4.3: {} + lightningcss-darwin-arm64@1.30.1: + optional: true + + lightningcss-darwin-x64@1.30.1: + optional: true + + lightningcss-freebsd-x64@1.30.1: + optional: true + + lightningcss-linux-arm-gnueabihf@1.30.1: + optional: true + + lightningcss-linux-arm64-gnu@1.30.1: + optional: true + + lightningcss-linux-arm64-musl@1.30.1: + optional: true + + lightningcss-linux-x64-gnu@1.30.1: + optional: true + + lightningcss-linux-x64-musl@1.30.1: + optional: true + + lightningcss-win32-arm64-msvc@1.30.1: + optional: true + + lightningcss-win32-x64-msvc@1.30.1: + optional: true + + lightningcss@1.30.1: + dependencies: + detect-libc: 2.0.4 + optionalDependencies: + lightningcss-darwin-arm64: 1.30.1 + lightningcss-darwin-x64: 1.30.1 + lightningcss-freebsd-x64: 1.30.1 + lightningcss-linux-arm-gnueabihf: 1.30.1 + lightningcss-linux-arm64-gnu: 1.30.1 + lightningcss-linux-arm64-musl: 1.30.1 + lightningcss-linux-x64-gnu: 1.30.1 + lightningcss-linux-x64-musl: 1.30.1 + lightningcss-win32-arm64-msvc: 1.30.1 + lightningcss-win32-x64-msvc: 1.30.1 + + lilconfig@2.1.0: {} + + locate-character@3.0.0: {} locate-path@6.0.0: dependencies: @@ -2115,83 +3650,102 @@ snapshots: lodash.merge@4.6.2: {} - loupe@2.3.7: - dependencies: - get-func-name: 2.0.2 + lodash@4.17.21: {} + + loupe@3.1.3: {} + + lru-cache@10.4.3: {} - lru-cache@6.0.0: + lucide-svelte@0.511.0(svelte@5.33.1): dependencies: - yallist: 4.0.0 + svelte: 5.33.1 lz-string@1.5.0: {} - magic-string@0.30.10: + magic-string@0.30.17: dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 merge2@1.4.1: {} - micromatch@4.0.5: + micromatch@4.0.8: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 + mime@3.0.0: {} + min-indent@1.0.1: {} + miniflare@4.20250525.1: + dependencies: + '@cspotcode/source-map-support': 0.8.1 + acorn: 8.14.0 + acorn-walk: 8.3.2 + exit-hook: 2.2.1 + glob-to-regexp: 0.4.1 + sharp: 0.33.5 + stoppable: 1.1.0 + undici: 5.29.0 + workerd: 1.20250525.0 + ws: 8.18.0 + youch: 3.3.4 + zod: 3.22.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 - minimist@1.2.8: {} + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minipass@7.1.2: {} - mkdirp@0.5.6: + minizlib@3.0.2: dependencies: - minimist: 1.2.8 + minipass: 7.1.2 + + mkdirp@3.0.1: {} - mlly@1.6.1: + mode-watcher@1.0.7(svelte@5.33.1): dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.1.0 - ufo: 1.5.3 + runed: 0.25.0(svelte@5.33.1) + svelte: 5.33.1 + svelte-toolbelt: 0.7.1(svelte@5.33.1) mri@1.2.0: {} - mrmime@1.0.1: {} + mrmime@2.0.1: {} - mrmime@2.0.0: {} + ms@2.1.3: {} - ms@2.1.2: {} + mustache@4.2.0: {} - nanoid@3.3.7: {} - - natural-compare-lite@1.4.0: {} + nanoid@3.3.11: {} natural-compare@1.4.0: {} - normalize-path@3.0.0: {} + nwsapi@2.2.20: {} - once@1.4.0: - dependencies: - wrappy: 1.0.2 + ohash@2.0.11: {} - optionator@0.9.3: + optionator@0.9.4: dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.5 p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - p-limit@4.0.0: - dependencies: - yocto-queue: 1.0.0 - p-locate@5.0.0: dependencies: p-limit: 3.1.0 @@ -2200,50 +3754,74 @@ snapshots: dependencies: callsites: 3.1.0 - path-exists@4.0.0: {} + parse5@7.3.0: + dependencies: + entities: 6.0.0 - path-is-absolute@1.0.1: {} + path-exists@4.0.0: {} path-key@3.1.1: {} - path-type@4.0.0: {} + path-to-regexp@6.3.0: {} - pathe@1.1.2: {} + pathe@2.0.3: {} - pathval@1.1.1: {} + pathval@2.0.0: {} - picocolors@1.0.0: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} - pkg-types@1.1.0: - dependencies: - confbox: 0.1.7 - mlly: 1.6.1 - pathe: 1.1.2 + picomatch@4.0.2: {} - playwright-core@1.43.1: {} + playwright-core@1.52.0: {} - playwright@1.43.1: + playwright@1.52.0: dependencies: - playwright-core: 1.43.1 + playwright-core: 1.52.0 optionalDependencies: fsevents: 2.3.2 - postcss@8.4.38: + postcss-load-config@3.1.4(postcss@8.5.3): + dependencies: + lilconfig: 2.1.0 + yaml: 1.10.2 + optionalDependencies: + postcss: 8.5.3 + + postcss-safe-parser@7.0.1(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + + postcss-scss@4.0.9(postcss@8.5.3): + dependencies: + postcss: 8.5.3 + + postcss-selector-parser@7.1.0: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss@8.5.3: dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.2.0 + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 prelude-ls@1.2.1: {} - prettier-plugin-svelte@2.10.1(prettier@2.8.8)(svelte@3.59.2): + prettier-plugin-svelte@3.4.0(prettier@3.5.3)(svelte@5.33.1): + dependencies: + prettier: 3.5.3 + svelte: 5.33.1 + + prettier-plugin-tailwindcss@0.6.11(prettier-plugin-svelte@3.4.0(prettier@3.5.3)(svelte@5.33.1))(prettier@3.5.3): dependencies: - prettier: 2.8.8 - svelte: 3.59.2 + prettier: 3.5.3 + optionalDependencies: + prettier-plugin-svelte: 3.4.0(prettier@3.5.3)(svelte@5.33.1) - prettier@2.8.8: {} + prettier@3.5.3: {} pretty-format@27.5.1: dependencies: @@ -2251,60 +3829,120 @@ snapshots: ansi-styles: 5.2.0 react-is: 17.0.2 + printable-characters@1.0.42: {} + punycode@2.3.1: {} queue-microtask@1.2.3: {} react-is@17.0.2: {} - readdirp@3.6.0: + readdirp@4.1.2: {} + + redent@3.0.0: dependencies: - picomatch: 2.3.1 + indent-string: 4.0.0 + strip-indent: 3.0.0 - regexparam@2.0.2: {} + regexparam@3.0.0: {} resolve-from@4.0.0: {} - reusify@1.0.4: {} + reusify@1.1.0: {} - rimraf@2.7.1: + rollup@4.41.1: dependencies: - glob: 7.2.3 - - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - - rollup@3.29.4: + '@types/estree': 1.0.7 optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.41.1 + '@rollup/rollup-android-arm64': 4.41.1 + '@rollup/rollup-darwin-arm64': 4.41.1 + '@rollup/rollup-darwin-x64': 4.41.1 + '@rollup/rollup-freebsd-arm64': 4.41.1 + '@rollup/rollup-freebsd-x64': 4.41.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.41.1 + '@rollup/rollup-linux-arm-musleabihf': 4.41.1 + '@rollup/rollup-linux-arm64-gnu': 4.41.1 + '@rollup/rollup-linux-arm64-musl': 4.41.1 + '@rollup/rollup-linux-loongarch64-gnu': 4.41.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.41.1 + '@rollup/rollup-linux-riscv64-gnu': 4.41.1 + '@rollup/rollup-linux-riscv64-musl': 4.41.1 + '@rollup/rollup-linux-s390x-gnu': 4.41.1 + '@rollup/rollup-linux-x64-gnu': 4.41.1 + '@rollup/rollup-linux-x64-musl': 4.41.1 + '@rollup/rollup-win32-arm64-msvc': 4.41.1 + '@rollup/rollup-win32-ia32-msvc': 4.41.1 + '@rollup/rollup-win32-x64-msvc': 4.41.1 fsevents: 2.3.3 + rrweb-cssom@0.8.0: {} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - sade@1.8.1: + runed@0.23.4(svelte@5.33.1): dependencies: - mri: 1.2.0 + esm-env: 1.2.2 + svelte: 5.33.1 - sander@0.5.1: + runed@0.25.0(svelte@5.33.1): dependencies: - es6-promise: 3.3.1 - graceful-fs: 4.2.11 - mkdirp: 0.5.6 - rimraf: 2.7.1 + esm-env: 1.2.2 + svelte: 5.33.1 + + runed@0.26.0(svelte@5.33.1): + dependencies: + esm-env: 1.2.2 + svelte: 5.33.1 + + runed@0.29.2(svelte@5.33.1): + dependencies: + esm-env: 1.2.2 + svelte: 5.33.1 - sass@1.75.0: + sade@1.8.1: dependencies: - chokidar: 3.6.0 - immutable: 4.3.5 - source-map-js: 1.2.0 + mri: 1.2.0 + + safer-buffer@2.1.2: {} - semver@7.6.0: + saxes@6.0.0: dependencies: - lru-cache: 6.0.0 + xmlchars: 2.2.0 + + semver@7.7.2: {} + + semver@7.7.3: {} - set-cookie-parser@2.6.0: {} + set-cookie-parser@2.7.1: {} + + sharp@0.33.5: + dependencies: + color: 4.2.3 + detect-libc: 2.1.2 + semver: 7.7.3 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.5 + '@img/sharp-darwin-x64': 0.33.5 + '@img/sharp-libvips-darwin-arm64': 1.0.4 + '@img/sharp-libvips-darwin-x64': 1.0.4 + '@img/sharp-libvips-linux-arm': 1.0.5 + '@img/sharp-libvips-linux-arm64': 1.0.4 + '@img/sharp-libvips-linux-s390x': 1.0.4 + '@img/sharp-libvips-linux-x64': 1.0.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + '@img/sharp-linux-arm': 0.33.5 + '@img/sharp-linux-arm64': 0.33.5 + '@img/sharp-linux-s390x': 0.33.5 + '@img/sharp-linux-x64': 0.33.5 + '@img/sharp-linuxmusl-arm64': 0.33.5 + '@img/sharp-linuxmusl-x64': 0.33.5 + '@img/sharp-wasm32': 0.33.5 + '@img/sharp-win32-ia32': 0.33.5 + '@img/sharp-win32-x64': 0.33.5 shebang-command@2.0.0: dependencies: @@ -2314,47 +3952,30 @@ snapshots: siginfo@2.0.0: {} - sirv@2.0.4: - dependencies: - '@polka/url': 1.0.0-next.25 - mrmime: 2.0.0 - totalist: 3.0.1 - - slash@3.0.0: {} - - slice-ansi@5.0.0: + simple-swizzle@0.2.4: dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 4.0.0 + is-arrayish: 0.3.4 - sorcery@0.11.0: + sirv@3.0.1: dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - buffer-crc32: 0.2.13 - minimist: 1.2.8 - sander: 0.5.1 + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 - source-map-js@1.2.0: {} + source-map-js@1.2.1: {} source-map@0.6.1: {} stackback@0.0.2: {} - std-env@3.7.0: {} - - string-width@5.1.2: + stacktracey@2.1.8: dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 + as-table: 1.0.55 + get-source: 2.0.12 - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 + std-env@3.9.0: {} - strip-ansi@7.1.0: - dependencies: - ansi-regex: 6.0.1 + stoppable@1.1.0: {} strip-indent@3.0.0: dependencies: @@ -2362,75 +3983,119 @@ snapshots: strip-json-comments@3.1.1: {} - strip-literal@1.3.0: + style-to-object@1.0.8: dependencies: - acorn: 8.11.3 + inline-style-parser: 0.2.4 supports-color@7.2.0: dependencies: has-flag: 4.0.0 - svelte-check@3.6.9(postcss@8.4.38)(sass@1.75.0)(svelte@3.59.2): + svelte-check@4.2.1(picomatch@4.0.2)(svelte@5.33.1)(typescript@5.8.3): dependencies: '@jridgewell/trace-mapping': 0.3.25 - chokidar: 3.6.0 - fast-glob: 3.3.2 - import-fresh: 3.3.0 - picocolors: 1.0.0 + chokidar: 4.0.3 + fdir: 6.4.4(picomatch@4.0.2) + picocolors: 1.1.1 sade: 1.8.1 - svelte: 3.59.2 - svelte-preprocess: 5.1.4(postcss@8.4.38)(sass@1.75.0)(svelte@3.59.2)(typescript@5.4.5) - typescript: 5.4.5 + svelte: 5.33.1 + typescript: 5.8.3 transitivePeerDependencies: - - '@babel/core' - - coffeescript - - less - - postcss - - postcss-load-config - - pug - - sass - - stylus - - sugarss + - picomatch - svelte-hmr@0.15.3(svelte@3.59.2): + svelte-eslint-parser@1.2.0(svelte@5.33.1): dependencies: - svelte: 3.59.2 + eslint-scope: 8.3.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 + postcss: 8.5.3 + postcss-scss: 4.0.9(postcss@8.5.3) + postcss-selector-parser: 7.1.0 + optionalDependencies: + svelte: 5.33.1 - svelte-local-storage-store@0.4.0(svelte@3.59.2): + svelte-sonner@1.0.3(svelte@5.33.1): dependencies: - svelte: 3.59.2 + runed: 0.26.0(svelte@5.33.1) + svelte: 5.33.1 - svelte-preprocess@5.1.4(postcss@8.4.38)(sass@1.75.0)(svelte@3.59.2)(typescript@5.4.5): + svelte-toolbelt@0.7.1(svelte@5.33.1): dependencies: - '@types/pug': 2.0.10 - detect-indent: 6.1.0 - magic-string: 0.30.10 - sorcery: 0.11.0 - strip-indent: 3.0.0 - svelte: 3.59.2 - optionalDependencies: - postcss: 8.4.38 - sass: 1.75.0 - typescript: 5.4.5 + clsx: 2.1.1 + runed: 0.23.4(svelte@5.33.1) + style-to-object: 1.0.8 + svelte: 5.33.1 + + svelte-toolbelt@0.9.3(svelte@5.33.1): + dependencies: + clsx: 2.1.1 + runed: 0.29.2(svelte@5.33.1) + style-to-object: 1.0.8 + svelte: 5.33.1 + + svelte@5.33.1: + dependencies: + '@ampproject/remapping': 2.3.0 + '@jridgewell/sourcemap-codec': 1.5.0 + '@sveltejs/acorn-typescript': 1.0.5(acorn@8.14.1) + '@types/estree': 1.0.7 + acorn: 8.14.1 + aria-query: 5.3.2 + axobject-query: 4.1.0 + clsx: 2.1.1 + esm-env: 1.2.2 + esrap: 1.4.6 + is-reference: 3.0.3 + locate-character: 3.0.0 + magic-string: 0.30.17 + zimmerframe: 1.1.2 + + symbol-tree@3.2.4: {} + + tabbable@6.2.0: {} + + tailwind-merge@3.0.2: {} + + tailwind-merge@3.3.0: {} + + tailwind-variants@1.0.0(tailwindcss@4.1.7): + dependencies: + tailwind-merge: 3.0.2 + tailwindcss: 4.1.7 - svelte@3.59.2: {} + tailwindcss@4.1.7: {} - text-segmentation@1.0.3: + tapable@2.2.2: {} + + tar@7.4.3: dependencies: - utrie: 1.0.2 + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.2 + minizlib: 3.0.2 + mkdirp: 3.0.1 + yallist: 5.0.0 + + tinybench@2.9.0: {} - text-table@0.2.0: {} + tinyexec@0.3.2: {} - tiny-glob@0.2.9: + tinyglobby@0.2.13: dependencies: - globalyzer: 0.1.0 - globrex: 0.1.2 + fdir: 6.4.4(picomatch@4.0.2) + picomatch: 4.0.2 + + tinypool@1.0.2: {} + + tinyrainbow@2.0.0: {} - tinybench@2.8.0: {} + tinyspy@3.0.2: {} - tinypool@0.4.0: {} + tldts-core@6.1.86: {} - tinyspy@1.1.1: {} + tldts@6.1.86: + dependencies: + tldts-core: 6.1.86 to-regex-range@5.0.1: dependencies: @@ -2438,128 +4103,223 @@ snapshots: totalist@3.0.1: {} - tslib@1.14.1: {} + tough-cookie@5.1.2: + dependencies: + tldts: 6.1.86 - tslib@2.6.2: {} + tr46@5.1.1: + dependencies: + punycode: 2.3.1 - tsutils@3.21.0(typescript@5.4.5): + ts-api-utils@2.1.0(typescript@5.8.3): dependencies: - tslib: 1.14.1 - typescript: 5.4.5 + typescript: 5.8.3 + + tslib@2.8.1: {} + + tw-animate-css@1.3.0: {} type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - type-detect@4.0.8: {} - - type-fest@0.20.2: {} - - typescript@5.4.5: {} + typescript-eslint@8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.32.1(@typescript-eslint/parser@8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.32.1(eslint@9.27.0(jiti@2.4.2))(typescript@5.8.3) + eslint: 9.27.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color - ufo@1.5.3: {} + typescript@5.8.3: {} - undici-types@5.26.5: {} + ufo@1.6.1: {} - undici@5.28.4: + undici@5.29.0: dependencies: '@fastify/busboy': 2.1.1 + unenv@2.0.0-rc.17: + dependencies: + defu: 6.1.4 + exsolve: 1.0.8 + ohash: 2.0.11 + pathe: 2.0.3 + ufo: 1.6.1 + uri-js@4.4.1: dependencies: punycode: 2.3.1 - utrie@1.0.2: + util-deprecate@1.0.2: {} + + vaul-svelte@1.0.0-next.7(svelte@5.33.1): dependencies: - base64-arraybuffer: 1.0.2 + runed: 0.23.4(svelte@5.33.1) + svelte: 5.33.1 + svelte-toolbelt: 0.7.1(svelte@5.33.1) + + virtua@0.41.3(svelte@5.33.1): + optionalDependencies: + svelte: 5.33.1 - vite-node@0.29.8(@types/node@20.12.7)(sass@1.75.0): + vite-node@3.1.4(jiti@2.4.2)(lightningcss@1.30.1): dependencies: cac: 6.7.14 - debug: 4.3.4 - mlly: 1.6.1 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 4.5.3(@types/node@20.12.7)(sass@1.75.0) + debug: 4.4.1 + es-module-lexer: 1.7.0 + pathe: 2.0.3 + vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1) transitivePeerDependencies: - '@types/node' + - jiti - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color - terser + - tsx + - yaml - vite@4.5.3(@types/node@20.12.7)(sass@1.75.0): + vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1): dependencies: - esbuild: 0.18.20 - postcss: 8.4.38 - rollup: 3.29.4 + esbuild: 0.25.4 + fdir: 6.4.4(picomatch@4.0.2) + picomatch: 4.0.2 + postcss: 8.5.3 + rollup: 4.41.1 + tinyglobby: 0.2.13 optionalDependencies: - '@types/node': 20.12.7 fsevents: 2.3.3 - sass: 1.75.0 + jiti: 2.4.2 + lightningcss: 1.30.1 - vitefu@0.2.5(vite@4.5.3(@types/node@20.12.7)(sass@1.75.0)): + vitefu@1.0.6(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)): optionalDependencies: - vite: 4.5.3(@types/node@20.12.7)(sass@1.75.0) - - vitest@0.29.8(playwright@1.43.1)(sass@1.75.0): - dependencies: - '@types/chai': 4.3.14 - '@types/chai-subset': 1.3.5 - '@types/node': 20.12.7 - '@vitest/expect': 0.29.8 - '@vitest/runner': 0.29.8 - '@vitest/spy': 0.29.8 - '@vitest/utils': 0.29.8 - acorn: 8.11.3 - acorn-walk: 8.3.2 - cac: 6.7.14 - chai: 4.4.1 - debug: 4.3.4 - local-pkg: 0.4.3 - pathe: 1.1.2 - picocolors: 1.0.0 - source-map: 0.6.1 - std-env: 3.7.0 - strip-literal: 1.3.0 - tinybench: 2.8.0 - tinypool: 0.4.0 - tinyspy: 1.1.1 - vite: 4.5.3(@types/node@20.12.7)(sass@1.75.0) - vite-node: 0.29.8(@types/node@20.12.7)(sass@1.75.0) - why-is-node-running: 2.2.2 + vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1) + + vitest@3.1.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1): + dependencies: + '@vitest/expect': 3.1.4 + '@vitest/mocker': 3.1.4(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) + '@vitest/pretty-format': 3.1.4 + '@vitest/runner': 3.1.4 + '@vitest/snapshot': 3.1.4 + '@vitest/spy': 3.1.4 + '@vitest/utils': 3.1.4 + chai: 5.2.0 + debug: 4.4.1 + expect-type: 1.2.1 + magic-string: 0.30.17 + pathe: 2.0.3 + std-env: 3.9.0 + tinybench: 2.9.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.13 + tinypool: 1.0.2 + tinyrainbow: 2.0.0 + vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1) + vite-node: 3.1.4(jiti@2.4.2)(lightningcss@1.30.1) + why-is-node-running: 2.3.0 optionalDependencies: - playwright: 1.43.1 + jsdom: 26.1.0 transitivePeerDependencies: + - jiti - less - lightningcss + - msw - sass + - sass-embedded - stylus - sugarss - supports-color - terser + - tsx + - yaml + + w3c-xmlserializer@5.0.0: + dependencies: + xml-name-validator: 5.0.0 + + webidl-conversions@7.0.0: {} + + whatwg-encoding@3.1.1: + dependencies: + iconv-lite: 0.6.3 + + whatwg-mimetype@4.0.0: {} + + whatwg-url@14.2.0: + dependencies: + tr46: 5.1.1 + webidl-conversions: 7.0.0 which@2.0.2: dependencies: isexe: 2.0.0 - why-is-node-running@2.2.2: + why-is-node-running@2.3.0: dependencies: siginfo: 2.0.0 stackback: 0.0.2 - worktop@0.8.0-next.15: + word-wrap@1.2.5: {} + + workerd@1.20250525.0: + optionalDependencies: + '@cloudflare/workerd-darwin-64': 1.20250525.0 + '@cloudflare/workerd-darwin-arm64': 1.20250525.0 + '@cloudflare/workerd-linux-64': 1.20250525.0 + '@cloudflare/workerd-linux-arm64': 1.20250525.0 + '@cloudflare/workerd-windows-64': 1.20250525.0 + + worktop@0.8.0-next.18: dependencies: - mrmime: 1.0.1 - regexparam: 2.0.2 + mrmime: 2.0.1 + regexparam: 3.0.0 + + wrangler@4.19.1(@cloudflare/workers-types@4.20250607.0): + dependencies: + '@cloudflare/kv-asset-handler': 0.4.0 + '@cloudflare/unenv-preset': 2.3.2(unenv@2.0.0-rc.17)(workerd@1.20250525.0) + blake3-wasm: 2.1.5 + esbuild: 0.25.4 + miniflare: 4.20250525.1 + path-to-regexp: 6.3.0 + unenv: 2.0.0-rc.17 + workerd: 1.20250525.0 + optionalDependencies: + '@cloudflare/workers-types': 4.20250607.0 + fsevents: 2.3.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + ws@8.18.0: {} + + ws@8.18.2: {} + + xml-name-validator@5.0.0: {} - wrappy@1.0.2: {} + xmlchars@2.2.0: {} - yallist@4.0.0: {} + yallist@5.0.0: {} + + yaml@1.10.2: {} yocto-queue@0.1.0: {} - yocto-queue@1.0.0: {} + youch@3.3.4: + dependencies: + cookie: 0.7.2 + mustache: 4.2.0 + stacktracey: 2.1.8 + + zimmerframe@1.1.2: {} + + zod@3.22.3: {} diff --git a/src/app.css b/src/app.css index deed894..7ae514a 100644 --- a/src/app.css +++ b/src/app.css @@ -1,94 +1,133 @@ -@font-face { - font-family: 'NEXON Lv1 Gothic OTF'; - src: url('/fonts/NEXON\ Lv1\ Gothic\ Low\ OTF\ Light.woff'); - font-weight: 300; - font-style: normal; -} +@import 'tailwindcss'; -@font-face { - font-family: 'NEXON Lv1 Gothic OTF'; - src: url('/fonts/NEXON\ Lv1\ Gothic\ Low\ OTF.woff'); - font-weight: 400; - font-style: normal; -} +@import 'tw-animate-css'; -@font-face { - font-family: 'NEXON Lv1 Gothic OTF'; - src: url('/fonts/NEXON\ Lv1\ Gothic\ Low\ OTF\ Bold.woff'); - font-weight: 700; - font-style: normal; -} +@custom-variant dark (&:is(.dark *)); -html body { - font-family: 'NEXON Lv1 Gothic OTF', sans-serif; +:root { + --radius: 0.625rem; + --background: oklch(1 0 0); + --foreground: oklch(0.145 0 0); + --card: oklch(1 0 0); + --card-foreground: oklch(0.145 0 0); + --popover: oklch(1 0 0); + --popover-foreground: oklch(0.145 0 0); + --primary: oklch(0.205 0 0); + --primary-foreground: oklch(0.985 0 0); + --secondary: oklch(0.97 0 0); + --secondary-foreground: oklch(0.205 0 0); + --muted: oklch(0.97 0 0); + --muted-foreground: oklch(0.556 0 0); + --accent: oklch(0.97 0 0); + --accent-foreground: oklch(0.205 0 0); + --destructive: oklch(0.577 0.245 27.325); + --border: oklch(0.922 0 0); + --input: oklch(0.922 0 0); + --ring: oklch(0.708 0 0); + --chart-1: oklch(0.646 0.222 41.116); + --chart-2: oklch(0.6 0.118 184.704); + --chart-3: oklch(0.398 0.07 227.392); + --chart-4: oklch(0.828 0.189 84.429); + --chart-5: oklch(0.769 0.188 70.08); + --sidebar: oklch(0.985 0 0); + --sidebar-foreground: oklch(0.145 0 0); + --sidebar-primary: oklch(0.205 0 0); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.97 0 0); + --sidebar-accent-foreground: oklch(0.205 0 0); + --sidebar-border: oklch(0.922 0 0); + --sidebar-ring: oklch(0.708 0 0); } -.bx--number input[type=number] { - font-family: 'NEXON Lv1 Gothic OTF', sans-serif; +.dark { + --background: oklch(0.145 0 0); + --foreground: oklch(0.985 0 0); + --card: oklch(0.205 0 0); + --card-foreground: oklch(0.985 0 0); + --popover: oklch(0.205 0 0); + --popover-foreground: oklch(0.985 0 0); + --primary: oklch(0.922 0 0); + --primary-foreground: oklch(0.205 0 0); + --secondary: oklch(0.269 0 0); + --secondary-foreground: oklch(0.985 0 0); + --muted: oklch(0.269 0 0); + --muted-foreground: oklch(0.708 0 0); + --accent: oklch(0.269 0 0); + --accent-foreground: oklch(0.985 0 0); + --destructive: oklch(0.704 0.191 22.216); + --border: oklch(1 0 0 / 10%); + --input: oklch(1 0 0 / 15%); + --ring: oklch(0.556 0 0); + --chart-1: oklch(0.488 0.243 264.376); + --chart-2: oklch(0.696 0.17 162.48); + --chart-3: oklch(0.769 0.188 70.08); + --chart-4: oklch(0.627 0.265 303.9); + --chart-5: oklch(0.645 0.246 16.439); + --sidebar: oklch(0.205 0 0); + --sidebar-foreground: oklch(0.985 0 0); + --sidebar-primary: oklch(0.488 0.243 264.376); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.269 0 0); + --sidebar-accent-foreground: oklch(0.985 0 0); + --sidebar-border: oklch(1 0 0 / 10%); + --sidebar-ring: oklch(0.556 0 0); } -.bx--modal { - align-items: start; +@theme inline { + --radius-sm: calc(var(--radius) - 4px); + --radius-md: calc(var(--radius) - 2px); + --radius-lg: var(--radius); + --radius-xl: calc(var(--radius) + 4px); + --color-background: var(--background); + --color-foreground: var(--foreground); + --color-card: var(--card); + --color-card-foreground: var(--card-foreground); + --color-popover: var(--popover); + --color-popover-foreground: var(--popover-foreground); + --color-primary: var(--primary); + --color-primary-foreground: var(--primary-foreground); + --color-secondary: var(--secondary); + --color-secondary-foreground: var(--secondary-foreground); + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); + --color-destructive: var(--destructive); + --color-border: var(--border); + --color-input: var(--input); + --color-ring: var(--ring); + --color-chart-1: var(--chart-1); + --color-chart-2: var(--chart-2); + --color-chart-3: var(--chart-3); + --color-chart-4: var(--chart-4); + --color-chart-5: var(--chart-5); + --color-sidebar: var(--sidebar); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-ring: var(--sidebar-ring); } -@media (min-width: 42rem) { - .bx--modal-container { - margin-top: 5vh; - } -} -@media (min-width: 66rem) { - .bx--modal-container { - margin-top: 8vh; +@layer base { + * { + @apply border-border outline-ring/50; } -} -@media (min-width: 82rem) { - .bx--modal-container { - margin-top: 5vh; + body { + @apply bg-background text-foreground; } -} - -/* fix complex input display bug inside modal */ -.bx--modal .bx--search button::before, -.bx--modal .bx--number button::before, -.bx--modal .bx--number button::after { - background-color: transparent; -} -/* selected file default bg is same as modal bg */ -.bx--modal .bx--file__selected-file { - background-color: var(--cds-field-02); -} - -.bx--modal-content p, -.bx--modal-content__regular-content { - padding-right: var(--cds-spacing-05); - line-height: var(--cds-body-short-01-line-height, 1.28572); -} - -/* remove modal content outline */ -.bx--modal-content:focus { - outline: none; -} - -/* fix modal bottom gradient */ -.bx--modal-content--overflow-indicator { - background-image: linear-gradient(to bottom, transparent, var(--cds-ui-01, #f4f4f4)); -} - -/* show checkmark in front of gear icons */ -.bx--tile__checkmark { - z-index: 100; -} - -.bx--tile { - min-width: 0; - min-height: 0; -} - -.string-match--highlight { - background-color: var(--cds-highlight); + body { + font-family: 'Pretendard Variable', sans-serif; + } } -.icon--disabled { - filter: grayscale(1) contrast(0.5) brightness(1.3); +@font-face { + font-family: 'Pretendard Variable'; + font-weight: 45 920; + font-style: normal; + font-display: swap; + src: url('/fonts/PretendardVariable.woff2') format('woff2-variations'); } diff --git a/src/app.d.ts b/src/app.d.ts index 9c89678..da08e6d 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -1,19 +1,12 @@ -// See https://kit.svelte.dev/docs/types#app +// See https://svelte.dev/docs/kit/types#app.d.ts // for information about these interfaces declare global { namespace App { // interface Error {} // interface Locals {} // interface PageData {} - interface Platform { - env: { - COUNTER: DurableObjectNamespace; - }; - context: { - waitUntil(promise: Promise): void; - }; - caches: CacheStorage & { default: Cache }; - } + // interface PageState {} + // interface Platform {} } } diff --git a/src/app.html b/src/app.html index d4bfb03..77a5ff5 100644 --- a/src/app.html +++ b/src/app.html @@ -1,26 +1,12 @@ - + - - 아이템 시뮬레이터 - - - + %sveltekit.head% -
%sveltekit.body%
- - - diff --git a/src/index.test.ts b/src/index.test.ts deleted file mode 100644 index e07cbbd..0000000 --- a/src/index.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { describe, it, expect } from 'vitest'; - -describe('sum test', () => { - it('adds 1 + 2 to equal 3', () => { - expect(1 + 2).toBe(3); - }); -}); diff --git a/src/lib/api/endpoints/exclusive-equip.ts b/src/lib/api/endpoints/exclusive-equip.ts new file mode 100644 index 0000000..00b8c4d --- /dev/null +++ b/src/lib/api/endpoints/exclusive-equip.ts @@ -0,0 +1,16 @@ +import ky from 'ky'; +import { env } from '$lib/config/env'; + +export interface ExclusiveEquipData { + [id: number]: ExclusiveEquip; +} + +export interface ExclusiveEquip { + itemIds: number[]; + names: string[]; +} + + +export async function getExclusiveEquips(): Promise { + return await ky.get(new URL('/exclusive-equips', env.API_URL)).json(); +} diff --git a/src/lib/api/endpoints/gear.ts b/src/lib/api/endpoints/gear.ts new file mode 100644 index 0000000..77e0962 --- /dev/null +++ b/src/lib/api/endpoints/gear.ts @@ -0,0 +1,59 @@ +import { migrate, type GearData } from '@malib/gear'; +import ky from 'ky'; +import { env } from '$lib/config/env'; +import { GEAR_VERSION } from '$lib/config/constant'; + +export function getGearSearchUrl(name: string, type?: number) { + if (type) { + return new URL(`/gears/search?query=${name}&type=${type}`, env.API_URL); + } else { + return new URL(`/gears/search?query=${name}`, env.API_URL); + } +} + +export async function getGearSearch(name: string, type?: number) { + name = name.trim(); + if (!name) { + return []; + } + return await ky.get(getGearSearchUrl(name, type)).json(); +} + +export function getGearDataUrl(id: number) { + return new URL(`/gears/${id}`, env.API_URL); +} + +export function getGearData(id: number) { + return ky.get(getGearDataUrl(id)).json().then(data => migrate(data, GEAR_VERSION) as GearData); +} + +export function getGearDatasUrl(ids: number[]) { + return new URL(`/gears?id=${ids.join(',')}`, env.API_URL); +} + +export async function getGearDatas(ids: number[]) { + if (ids.length === 0) { + return []; + } + return (await ky.get(getGearDatasUrl(ids)).json()).map(data => migrate(data, GEAR_VERSION) as GearData); +} + +export interface SearchGearSummary { + id: number; + name: string; + icon: string; + highlight: string; +} +export function getGearIconUrl(iconId: string) { + return new URL(`/gears/icon/${iconId}.png`, env.IMAGE_URL).toString(); +} + +export function getGearIconOriginUrl(iconId: string) { + return new URL(`/gears/${iconId}/icon/origin`, env.API_URL).toString(); +} + +export async function getGearIconOrigin(iconId: string) { + const url = getGearIconOriginUrl(iconId); + const response = await fetch(url, { cache: 'force-cache' }); + return (await response.json()) as [number, number]; +} diff --git a/src/lib/api/endpoints/item.ts b/src/lib/api/endpoints/item.ts new file mode 100644 index 0000000..04b9396 --- /dev/null +++ b/src/lib/api/endpoints/item.ts @@ -0,0 +1,14 @@ +import { env } from '$lib/config/env'; + +export function getItemRawIconUrl(iconId: string) { + return new URL(`/items/iconRaw/${iconId}.png`, env.IMAGE_URL).toString(); +} +export function getItemRawIconOriginUrl(iconId: string) { + return new URL(`/items/${iconId}/raw-icon/origin`, env.API_URL).toString(); +} + +export async function getItemRawIconOrigin(iconId: string) { + const url = getItemRawIconOriginUrl(iconId); + const response = await fetch(url, { cache: 'force-cache' }); + return (await response.json()) as [number, number]; +} diff --git a/src/lib/api/endpoints/set-item.ts b/src/lib/api/endpoints/set-item.ts new file mode 100644 index 0000000..cd64285 --- /dev/null +++ b/src/lib/api/endpoints/set-item.ts @@ -0,0 +1,20 @@ +import ky from 'ky'; +import { env } from '$lib/config/env'; +import type { GearOption } from '@malib/gear'; + +export interface SetItemData { + [setItemId: number]: SetItem; +} + +export interface SetItem { + name: string; + itemIds: number[]; + effects?: Record; + jokerPossible?: boolean; + zeroWeaponJokerPossible?: boolean; +} + + +export async function getSetItems(): Promise { + return await ky.get(new URL('/set-items', env.API_URL)).json(); +} diff --git a/src/lib/api/index.ts b/src/lib/api/index.ts new file mode 100644 index 0000000..885e290 --- /dev/null +++ b/src/lib/api/index.ts @@ -0,0 +1,4 @@ +export * from './endpoints/gear'; +export * from './endpoints/item'; +export * from './endpoints/set-item'; +export * from './endpoints/exclusive-equip'; diff --git a/src/lib/assets/tooltip-images/exceptional/exceptional.webp b/src/lib/assets/tooltip-images/exceptional/exceptional.webp new file mode 100644 index 0000000..ce630a2 Binary files /dev/null and b/src/lib/assets/tooltip-images/exceptional/exceptional.webp differ diff --git a/src/lib/assets/tooltip-images/frame/bottom.webp b/src/lib/assets/tooltip-images/frame/bottom.webp new file mode 100644 index 0000000..7e67ca9 Binary files /dev/null and b/src/lib/assets/tooltip-images/frame/bottom.webp differ diff --git a/src/lib/assets/tooltip-images/frame/cover.webp b/src/lib/assets/tooltip-images/frame/cover.webp new file mode 100644 index 0000000..3471505 Binary files /dev/null and b/src/lib/assets/tooltip-images/frame/cover.webp differ diff --git a/src/lib/assets/tooltip-images/frame/dotline.webp b/src/lib/assets/tooltip-images/frame/dotline.webp new file mode 100644 index 0000000..bde4413 Binary files /dev/null and b/src/lib/assets/tooltip-images/frame/dotline.webp differ diff --git a/src/lib/assets/tooltip-images/frame/line.webp b/src/lib/assets/tooltip-images/frame/line.webp new file mode 100644 index 0000000..f54c5bc Binary files /dev/null and b/src/lib/assets/tooltip-images/frame/line.webp differ diff --git a/src/lib/assets/tooltip-images/frame/top.webp b/src/lib/assets/tooltip-images/frame/top.webp new file mode 100644 index 0000000..bcc879e Binary files /dev/null and b/src/lib/assets/tooltip-images/frame/top.webp differ diff --git a/src/lib/assets/tooltip-images/index.ts b/src/lib/assets/tooltip-images/index.ts new file mode 100644 index 0000000..b5c3c4e --- /dev/null +++ b/src/lib/assets/tooltip-images/index.ts @@ -0,0 +1,410 @@ +import { default as exceptionalIcon } from './exceptional/exceptional.webp'; + +import { default as frameTop } from './frame/top.webp'; +import { default as frameLine } from './frame/line.webp'; +import { default as frameDotline } from './frame/dotline.webp'; +import { default as frameBottom } from './frame/bottom.webp'; +import { default as frameCover } from './frame/cover.webp'; + +import { default as iconBase } from './itemIcon/base.webp'; +import { default as iconShade } from './itemIcon/shade.webp'; +import { default as iconCover } from './itemIcon/cover.webp'; +import { default as iconDotNew } from './itemIcon/new.webp'; +import { default as iconDotOld } from './itemIcon/old.webp'; +import { default as iconBorderRare } from './itemIcon/rare.webp'; +import { default as iconBorderEpic } from './itemIcon/epic.webp'; +import { default as iconBorderUnique } from './itemIcon/unique.webp'; +import { default as iconBorderLegendary } from './itemIcon/legendary.webp'; +import { default as iconBorderUnknown } from './itemIcon/unknown.webp'; + +import { default as jobDisable0 } from './job/disable/0.webp'; +import { default as jobDisable1 } from './job/disable/1.webp'; +import { default as jobDisable2 } from './job/disable/2.webp'; +import { default as jobDisable3 } from './job/disable/3.webp'; +import { default as jobDisable4 } from './job/disable/4.webp'; +import { default as jobDisable5 } from './job/disable/5.webp'; +import { default as jobEnable0 } from './job/enable/0.webp'; +import { default as jobEnable1 } from './job/enable/1.webp'; +import { default as jobEnable2 } from './job/enable/2.webp'; +import { default as jobEnable3 } from './job/enable/3.webp'; +import { default as jobEnable4 } from './job/enable/4.webp'; +import { default as jobEnable5 } from './job/enable/5.webp'; +import { default as jobNormal } from './job/normal.webp'; +import { default as jobExpand } from './job/expand.webp'; + +import { default as numberCan0 } from './number/can/0.webp'; +import { default as numberCan1 } from './number/can/1.webp'; +import { default as numberCan2 } from './number/can/2.webp'; +import { default as numberCan3 } from './number/can/3.webp'; +import { default as numberCan4 } from './number/can/4.webp'; +import { default as numberCan5 } from './number/can/5.webp'; +import { default as numberCan6 } from './number/can/6.webp'; +import { default as numberCan7 } from './number/can/7.webp'; +import { default as numberCan8 } from './number/can/8.webp'; +import { default as numberCan9 } from './number/can/9.webp'; +import { default as numberCanClose } from './number/can/close.webp'; +import { default as numberCanMinus } from './number/can/minus.webp'; +import { default as numberCanNone } from './number/can/none.webp'; +import { default as numberCanOpen } from './number/can/open.webp'; +import { default as numberCanPercent } from './number/can/percent.webp'; +import { default as numberCanPlus } from './number/can/plus.webp'; +import { default as numberCanReqDex } from './number/can/reqDEX.webp'; +import { default as numberCanReqInt } from './number/can/reqINT.webp'; +import { default as numberCanReqLev } from './number/can/reqLEV.webp'; +import { default as numberCanReqLuk } from './number/can/reqLUK.webp'; +import { default as numberCanReqPop } from './number/can/reqPOP.webp'; +import { default as numberCanReqStr } from './number/can/reqSTR.webp'; +import { default as numberCannot0 } from './number/cannot/0.webp'; +import { default as numberCannot1 } from './number/cannot/1.webp'; +import { default as numberCannot2 } from './number/cannot/2.webp'; +import { default as numberCannot3 } from './number/cannot/3.webp'; +import { default as numberCannot4 } from './number/cannot/4.webp'; +import { default as numberCannot5 } from './number/cannot/5.webp'; +import { default as numberCannot6 } from './number/cannot/6.webp'; +import { default as numberCannot7 } from './number/cannot/7.webp'; +import { default as numberCannot8 } from './number/cannot/8.webp'; +import { default as numberCannot9 } from './number/cannot/9.webp'; +import { default as numberCannotMinus } from './number/cannot/minus.webp'; +import { default as numberCannotNone } from './number/cannot/none.webp'; +import { default as numberCannotPercent } from './number/cannot/percent.webp'; +import { default as numberCannotPlus } from './number/cannot/plus.webp'; +import { default as numberCannotReqDex } from './number/cannot/reqDEX.webp'; +import { default as numberCannotReqInt } from './number/cannot/reqINT.webp'; +import { default as numberCannotReqLev } from './number/cannot/reqLEV.webp'; +import { default as numberCannotReqLuk } from './number/cannot/reqLUK.webp'; +import { default as numberCannotReqPop } from './number/cannot/reqPOP.webp'; +import { default as numberCannotReqStr } from './number/cannot/reqSTR.webp'; +import { default as numberDisabled0 } from './number/disabled/0.webp'; +import { default as numberDisabled1 } from './number/disabled/1.webp'; +import { default as numberDisabled2 } from './number/disabled/2.webp'; +import { default as numberDisabled3 } from './number/disabled/3.webp'; +import { default as numberDisabled4 } from './number/disabled/4.webp'; +import { default as numberDisabled5 } from './number/disabled/5.webp'; +import { default as numberDisabled6 } from './number/disabled/6.webp'; +import { default as numberDisabled7 } from './number/disabled/7.webp'; +import { default as numberDisabled8 } from './number/disabled/8.webp'; +import { default as numberDisabled9 } from './number/disabled/9.webp'; +import { default as numberDisabledMinus } from './number/disabled/minus.webp'; +import { default as numberDisabledNone } from './number/disabled/none.webp'; +import { default as numberDisabledPercent } from './number/disabled/percent.webp'; +import { default as numberDisabledPlus } from './number/disabled/plus.webp'; +import { default as numberDisabledReqDex } from './number/disabled/reqDEX.webp'; +import { default as numberDisabledReqInt } from './number/disabled/reqINT.webp'; +import { default as numberDisabledReqLev } from './number/disabled/reqLEV.webp'; +import { default as numberDisabledReqLuk } from './number/disabled/reqLUK.webp'; +import { default as numberDisabledReqPop } from './number/disabled/reqPOP.webp'; +import { default as numberDisabledReqStr } from './number/disabled/reqSTR.webp'; +import { default as numberLookahead0 } from './number/lookahead/0.webp'; +import { default as numberLookahead1 } from './number/lookahead/1.webp'; +import { default as numberLookahead2 } from './number/lookahead/2.webp'; +import { default as numberLookahead3 } from './number/lookahead/3.webp'; +import { default as numberLookahead4 } from './number/lookahead/4.webp'; +import { default as numberLookahead5 } from './number/lookahead/5.webp'; +import { default as numberLookahead6 } from './number/lookahead/6.webp'; +import { default as numberLookahead7 } from './number/lookahead/7.webp'; +import { default as numberLookahead8 } from './number/lookahead/8.webp'; +import { default as numberLookahead9 } from './number/lookahead/9.webp'; +import { default as numberLookaheadMinus } from './number/lookahead/minus.webp'; +import { default as numberLookaheadNone } from './number/lookahead/none.webp'; +import { default as numberLookaheadPercent } from './number/lookahead/percent.webp'; +import { default as numberLookaheadPlus } from './number/lookahead/plus.webp'; +import { default as numberYellow0 } from './number/yellow/0.webp'; +import { default as numberYellow1 } from './number/yellow/1.webp'; +import { default as numberYellow2 } from './number/yellow/2.webp'; +import { default as numberYellow3 } from './number/yellow/3.webp'; +import { default as numberYellow4 } from './number/yellow/4.webp'; +import { default as numberYellow5 } from './number/yellow/5.webp'; +import { default as numberYellow6 } from './number/yellow/6.webp'; +import { default as numberYellow7 } from './number/yellow/7.webp'; +import { default as numberYellow8 } from './number/yellow/8.webp'; +import { default as numberYellow9 } from './number/yellow/9.webp'; +import { default as numberYellowMinus } from './number/yellow/minus.webp'; +import { default as numberYellowNone } from './number/yellow/none.webp'; +import { default as numberYellowPercent } from './number/yellow/percent.webp'; +import { default as numberYellowPlus } from './number/yellow/plus.webp'; + +import { default as potentialIconNormal } from './potential/normal.webp'; +import { default as potentialIconRare } from './potential/rare.webp'; +import { default as potentialIconEpic } from './potential/epic.webp'; +import { default as potentialIconUnique } from './potential/unique.webp'; +import { default as potentialIconLegendary } from './potential/legendary.webp'; + +import { default as yellowStar } from './star/yellow.webp'; +import { default as blueStar } from './star/blue.webp'; +import { default as emptyStar } from './star/empty.webp'; + +import { default as incline0 } from './summary/incline/0.webp'; +import { default as incline1 } from './summary/incline/1.webp'; +import { default as incline2 } from './summary/incline/2.webp'; +import { default as incline3 } from './summary/incline/3.webp'; +import { default as incline4 } from './summary/incline/4.webp'; +import { default as incline5 } from './summary/incline/5.webp'; +import { default as incline6 } from './summary/incline/6.webp'; +import { default as incline7 } from './summary/incline/7.webp'; +import { default as incline8 } from './summary/incline/8.webp'; +import { default as incline9 } from './summary/incline/9.webp'; +import { default as inclinePlus } from './summary/incline/plus.webp'; + +import { default as incline0_10digit } from './summary/incline_10digit/0.webp'; +import { default as incline1_10digit } from './summary/incline_10digit/1.webp'; +import { default as incline2_10digit } from './summary/incline_10digit/2.webp'; +import { default as incline3_10digit } from './summary/incline_10digit/3.webp'; +import { default as incline4_10digit } from './summary/incline_10digit/4.webp'; +import { default as incline5_10digit } from './summary/incline_10digit/5.webp'; +import { default as incline6_10digit } from './summary/incline_10digit/6.webp'; +import { default as incline7_10digit } from './summary/incline_10digit/7.webp'; +import { default as incline8_10digit } from './summary/incline_10digit/8.webp'; +import { default as incline9_10digit } from './summary/incline_10digit/9.webp'; +import { default as inclinePlus_10digit } from './summary/incline_10digit/plus.webp'; + +import { default as incline0_8digit } from './summary/incline_8digit/0.webp'; +import { default as incline1_8digit } from './summary/incline_8digit/1.webp'; +import { default as incline2_8digit } from './summary/incline_8digit/2.webp'; +import { default as incline3_8digit } from './summary/incline_8digit/3.webp'; +import { default as incline4_8digit } from './summary/incline_8digit/4.webp'; +import { default as incline5_8digit } from './summary/incline_8digit/5.webp'; +import { default as incline6_8digit } from './summary/incline_8digit/6.webp'; +import { default as incline7_8digit } from './summary/incline_8digit/7.webp'; +import { default as incline8_8digit } from './summary/incline_8digit/8.webp'; +import { default as incline9_8digit } from './summary/incline_8digit/9.webp'; +import { default as inclinePlus_8digit } from './summary/incline_8digit/plus.webp'; + +import { default as decline0 } from './summary/decline/0.webp'; +import { default as decline1 } from './summary/decline/1.webp'; +import { default as decline2 } from './summary/decline/2.webp'; +import { default as decline3 } from './summary/decline/3.webp'; +import { default as decline4 } from './summary/decline/4.webp'; +import { default as decline5 } from './summary/decline/5.webp'; +import { default as decline6 } from './summary/decline/6.webp'; +import { default as decline7 } from './summary/decline/7.webp'; +import { default as decline8 } from './summary/decline/8.webp'; +import { default as decline9 } from './summary/decline/9.webp'; +import { default as declineMinus } from './summary/decline/minus.webp'; + +import { default as decline0_10digit } from './summary/decline_10digit/0.webp'; +import { default as decline1_10digit } from './summary/decline_10digit/1.webp'; +import { default as decline2_10digit } from './summary/decline_10digit/2.webp'; +import { default as decline3_10digit } from './summary/decline_10digit/3.webp'; +import { default as decline4_10digit } from './summary/decline_10digit/4.webp'; +import { default as decline5_10digit } from './summary/decline_10digit/5.webp'; +import { default as decline6_10digit } from './summary/decline_10digit/6.webp'; +import { default as decline7_10digit } from './summary/decline_10digit/7.webp'; +import { default as decline8_10digit } from './summary/decline_10digit/8.webp'; +import { default as decline9_10digit } from './summary/decline_10digit/9.webp'; +import { default as declineMinus_10digit } from './summary/decline_10digit/minus.webp'; + +import { default as decline0_8digit } from './summary/decline_8digit/0.webp'; +import { default as decline1_8digit } from './summary/decline_8digit/1.webp'; +import { default as decline2_8digit } from './summary/decline_8digit/2.webp'; +import { default as decline3_8digit } from './summary/decline_8digit/3.webp'; +import { default as decline4_8digit } from './summary/decline_8digit/4.webp'; +import { default as decline5_8digit } from './summary/decline_8digit/5.webp'; +import { default as decline6_8digit } from './summary/decline_8digit/6.webp'; +import { default as decline7_8digit } from './summary/decline_8digit/7.webp'; +import { default as decline8_8digit } from './summary/decline_8digit/8.webp'; +import { default as decline9_8digit } from './summary/decline_8digit/9.webp'; +import { default as declineMinus_8digit } from './summary/decline_8digit/minus.webp'; + +import { default as summaryIconBdr } from './summary/icon/bdr.webp'; +import { default as summaryIconIgpddr } from './summary/icon/igpddr.webp'; +import { default as summaryIconPdd } from './summary/icon/pdd.webp'; + +export const tooltipImages = { + exceptionalIcon, + frameTop, + frameLine, + frameDotline, + frameBottom, + frameCover, + iconBase, + iconShade, + iconCover, + iconDotNew, + iconDotOld, + iconBorderRare, + iconBorderEpic, + iconBorderUnique, + iconBorderLegendary, + iconBorderUnknown, + jobDisable0, + jobDisable1, + jobDisable2, + jobDisable3, + jobDisable4, + jobDisable5, + jobEnable0, + jobEnable1, + jobEnable2, + jobEnable3, + jobEnable4, + jobEnable5, + jobNormal, + jobExpand, + numberCan0, + numberCan1, + numberCan2, + numberCan3, + numberCan4, + numberCan5, + numberCan6, + numberCan7, + numberCan8, + numberCan9, + numberCanClose, + numberCanMinus, + numberCanNone, + numberCanOpen, + numberCanPercent, + numberCanPlus, + numberCanReqDex, + numberCanReqInt, + numberCanReqLev, + numberCanReqLuk, + numberCanReqPop, + numberCanReqStr, + numberCannot0, + numberCannot1, + numberCannot2, + numberCannot3, + numberCannot4, + numberCannot5, + numberCannot6, + numberCannot7, + numberCannot8, + numberCannot9, + numberCannotMinus, + numberCannotNone, + numberCannotPercent, + numberCannotPlus, + numberCannotReqDex, + numberCannotReqInt, + numberCannotReqLev, + numberCannotReqLuk, + numberCannotReqPop, + numberCannotReqStr, + numberDisabled0, + numberDisabled1, + numberDisabled2, + numberDisabled3, + numberDisabled4, + numberDisabled5, + numberDisabled6, + numberDisabled7, + numberDisabled8, + numberDisabled9, + numberDisabledMinus, + numberDisabledNone, + numberDisabledPercent, + numberDisabledPlus, + numberDisabledReqDex, + numberDisabledReqInt, + numberDisabledReqLev, + numberDisabledReqLuk, + numberDisabledReqPop, + numberDisabledReqStr, + numberLookahead0, + numberLookahead1, + numberLookahead2, + numberLookahead3, + numberLookahead4, + numberLookahead5, + numberLookahead6, + numberLookahead7, + numberLookahead8, + numberLookahead9, + numberLookaheadMinus, + numberLookaheadNone, + numberLookaheadPercent, + numberLookaheadPlus, + numberYellow0, + numberYellow1, + numberYellow2, + numberYellow3, + numberYellow4, + numberYellow5, + numberYellow6, + numberYellow7, + numberYellow8, + numberYellow9, + numberYellowMinus, + numberYellowNone, + numberYellowPercent, + numberYellowPlus, + potentialIconNormal, + potentialIconRare, + potentialIconEpic, + potentialIconUnique, + potentialIconLegendary, + yellowStar, + blueStar, + emptyStar, + incline0, + incline1, + incline2, + incline3, + incline4, + incline5, + incline6, + incline7, + incline8, + incline9, + inclinePlus, + incline0_10digit, + incline1_10digit, + incline2_10digit, + incline3_10digit, + incline4_10digit, + incline5_10digit, + incline6_10digit, + incline7_10digit, + incline8_10digit, + incline9_10digit, + inclinePlus_10digit, + incline0_8digit, + incline1_8digit, + incline2_8digit, + incline3_8digit, + incline4_8digit, + incline5_8digit, + incline6_8digit, + incline7_8digit, + incline8_8digit, + incline9_8digit, + inclinePlus_8digit, + decline0, + decline1, + decline2, + decline3, + decline4, + decline5, + decline6, + decline7, + decline8, + decline9, + declineMinus, + decline0_10digit, + decline1_10digit, + decline2_10digit, + decline3_10digit, + decline4_10digit, + decline5_10digit, + decline6_10digit, + decline7_10digit, + decline8_10digit, + decline9_10digit, + declineMinus_10digit, + decline0_8digit, + decline1_8digit, + decline2_8digit, + decline3_8digit, + decline4_8digit, + decline5_8digit, + decline6_8digit, + decline7_8digit, + decline8_8digit, + decline9_8digit, + declineMinus_8digit, + summaryIconBdr, + summaryIconIgpddr, + summaryIconPdd +}; diff --git a/src/lib/assets/tooltip-images/itemIcon/base.webp b/src/lib/assets/tooltip-images/itemIcon/base.webp new file mode 100644 index 0000000..5b1ff59 Binary files /dev/null and b/src/lib/assets/tooltip-images/itemIcon/base.webp differ diff --git a/src/lib/assets/tooltip-images/itemIcon/cover.webp b/src/lib/assets/tooltip-images/itemIcon/cover.webp new file mode 100644 index 0000000..35bb44b Binary files /dev/null and b/src/lib/assets/tooltip-images/itemIcon/cover.webp differ diff --git a/src/lib/assets/tooltip-images/itemIcon/epic.webp b/src/lib/assets/tooltip-images/itemIcon/epic.webp new file mode 100644 index 0000000..f6c1c08 Binary files /dev/null and b/src/lib/assets/tooltip-images/itemIcon/epic.webp differ diff --git a/src/lib/assets/tooltip-images/itemIcon/legendary.webp b/src/lib/assets/tooltip-images/itemIcon/legendary.webp new file mode 100644 index 0000000..e141982 Binary files /dev/null and b/src/lib/assets/tooltip-images/itemIcon/legendary.webp differ diff --git a/src/lib/assets/tooltip-images/itemIcon/new.webp b/src/lib/assets/tooltip-images/itemIcon/new.webp new file mode 100644 index 0000000..bbd3e3d Binary files /dev/null and b/src/lib/assets/tooltip-images/itemIcon/new.webp differ diff --git a/src/lib/assets/tooltip-images/itemIcon/old.webp b/src/lib/assets/tooltip-images/itemIcon/old.webp new file mode 100644 index 0000000..97b323a Binary files /dev/null and b/src/lib/assets/tooltip-images/itemIcon/old.webp differ diff --git a/src/lib/assets/tooltip-images/itemIcon/rare.webp b/src/lib/assets/tooltip-images/itemIcon/rare.webp new file mode 100644 index 0000000..d214869 Binary files /dev/null and b/src/lib/assets/tooltip-images/itemIcon/rare.webp differ diff --git a/src/lib/assets/tooltip-images/itemIcon/shade.webp b/src/lib/assets/tooltip-images/itemIcon/shade.webp new file mode 100644 index 0000000..a591266 Binary files /dev/null and b/src/lib/assets/tooltip-images/itemIcon/shade.webp differ diff --git a/src/lib/assets/tooltip-images/itemIcon/unique.webp b/src/lib/assets/tooltip-images/itemIcon/unique.webp new file mode 100644 index 0000000..c338524 Binary files /dev/null and b/src/lib/assets/tooltip-images/itemIcon/unique.webp differ diff --git a/src/lib/assets/tooltip-images/itemIcon/unknown.webp b/src/lib/assets/tooltip-images/itemIcon/unknown.webp new file mode 100644 index 0000000..8e4716f Binary files /dev/null and b/src/lib/assets/tooltip-images/itemIcon/unknown.webp differ diff --git a/src/lib/assets/tooltip-images/job/disable/0.webp b/src/lib/assets/tooltip-images/job/disable/0.webp new file mode 100644 index 0000000..13448da Binary files /dev/null and b/src/lib/assets/tooltip-images/job/disable/0.webp differ diff --git a/src/lib/assets/tooltip-images/job/disable/1.webp b/src/lib/assets/tooltip-images/job/disable/1.webp new file mode 100644 index 0000000..104aac3 Binary files /dev/null and b/src/lib/assets/tooltip-images/job/disable/1.webp differ diff --git a/src/lib/assets/tooltip-images/job/disable/2.webp b/src/lib/assets/tooltip-images/job/disable/2.webp new file mode 100644 index 0000000..b87d157 Binary files /dev/null and b/src/lib/assets/tooltip-images/job/disable/2.webp differ diff --git a/src/lib/assets/tooltip-images/job/disable/3.webp b/src/lib/assets/tooltip-images/job/disable/3.webp new file mode 100644 index 0000000..fc77d74 Binary files /dev/null and b/src/lib/assets/tooltip-images/job/disable/3.webp differ diff --git a/src/lib/assets/tooltip-images/job/disable/4.webp b/src/lib/assets/tooltip-images/job/disable/4.webp new file mode 100644 index 0000000..5a08829 Binary files /dev/null and b/src/lib/assets/tooltip-images/job/disable/4.webp differ diff --git a/src/lib/assets/tooltip-images/job/disable/5.webp b/src/lib/assets/tooltip-images/job/disable/5.webp new file mode 100644 index 0000000..5f421d6 Binary files /dev/null and b/src/lib/assets/tooltip-images/job/disable/5.webp differ diff --git a/src/lib/assets/tooltip-images/job/enable/0.webp b/src/lib/assets/tooltip-images/job/enable/0.webp new file mode 100644 index 0000000..92b0d3f Binary files /dev/null and b/src/lib/assets/tooltip-images/job/enable/0.webp differ diff --git a/src/lib/assets/tooltip-images/job/enable/1.webp b/src/lib/assets/tooltip-images/job/enable/1.webp new file mode 100644 index 0000000..05f9464 Binary files /dev/null and b/src/lib/assets/tooltip-images/job/enable/1.webp differ diff --git a/src/lib/assets/tooltip-images/job/enable/2.webp b/src/lib/assets/tooltip-images/job/enable/2.webp new file mode 100644 index 0000000..16cf676 Binary files /dev/null and b/src/lib/assets/tooltip-images/job/enable/2.webp differ diff --git a/src/lib/assets/tooltip-images/job/enable/3.webp b/src/lib/assets/tooltip-images/job/enable/3.webp new file mode 100644 index 0000000..dd7287a Binary files /dev/null and b/src/lib/assets/tooltip-images/job/enable/3.webp differ diff --git a/src/lib/assets/tooltip-images/job/enable/4.webp b/src/lib/assets/tooltip-images/job/enable/4.webp new file mode 100644 index 0000000..a3d5575 Binary files /dev/null and b/src/lib/assets/tooltip-images/job/enable/4.webp differ diff --git a/src/lib/assets/tooltip-images/job/enable/5.webp b/src/lib/assets/tooltip-images/job/enable/5.webp new file mode 100644 index 0000000..a6c6ec5 Binary files /dev/null and b/src/lib/assets/tooltip-images/job/enable/5.webp differ diff --git a/src/lib/assets/tooltip-images/job/expand.webp b/src/lib/assets/tooltip-images/job/expand.webp new file mode 100644 index 0000000..51560fc Binary files /dev/null and b/src/lib/assets/tooltip-images/job/expand.webp differ diff --git a/src/lib/assets/tooltip-images/job/normal.webp b/src/lib/assets/tooltip-images/job/normal.webp new file mode 100644 index 0000000..e74050f Binary files /dev/null and b/src/lib/assets/tooltip-images/job/normal.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/0.webp b/src/lib/assets/tooltip-images/number/can/0.webp new file mode 100644 index 0000000..7d3354f Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/0.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/1.webp b/src/lib/assets/tooltip-images/number/can/1.webp new file mode 100644 index 0000000..29a84e1 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/1.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/2.webp b/src/lib/assets/tooltip-images/number/can/2.webp new file mode 100644 index 0000000..cbd9685 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/2.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/3.webp b/src/lib/assets/tooltip-images/number/can/3.webp new file mode 100644 index 0000000..0682d41 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/3.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/4.webp b/src/lib/assets/tooltip-images/number/can/4.webp new file mode 100644 index 0000000..45fbaa1 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/4.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/5.webp b/src/lib/assets/tooltip-images/number/can/5.webp new file mode 100644 index 0000000..9a5e333 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/5.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/6.webp b/src/lib/assets/tooltip-images/number/can/6.webp new file mode 100644 index 0000000..a13c675 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/6.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/7.webp b/src/lib/assets/tooltip-images/number/can/7.webp new file mode 100644 index 0000000..835a400 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/7.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/8.webp b/src/lib/assets/tooltip-images/number/can/8.webp new file mode 100644 index 0000000..1133df6 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/8.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/9.webp b/src/lib/assets/tooltip-images/number/can/9.webp new file mode 100644 index 0000000..5bc45ea Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/9.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/close.webp b/src/lib/assets/tooltip-images/number/can/close.webp new file mode 100644 index 0000000..0aa3bca Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/close.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/minus.webp b/src/lib/assets/tooltip-images/number/can/minus.webp new file mode 100644 index 0000000..dff6881 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/minus.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/none.webp b/src/lib/assets/tooltip-images/number/can/none.webp new file mode 100644 index 0000000..dff6881 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/none.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/open.webp b/src/lib/assets/tooltip-images/number/can/open.webp new file mode 100644 index 0000000..5b65c54 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/open.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/percent.webp b/src/lib/assets/tooltip-images/number/can/percent.webp new file mode 100644 index 0000000..323391a Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/percent.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/plus.webp b/src/lib/assets/tooltip-images/number/can/plus.webp new file mode 100644 index 0000000..49b3e87 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/plus.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/reqDEX.webp b/src/lib/assets/tooltip-images/number/can/reqDEX.webp new file mode 100644 index 0000000..e6f88c8 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/reqDEX.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/reqINT.webp b/src/lib/assets/tooltip-images/number/can/reqINT.webp new file mode 100644 index 0000000..170696c Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/reqINT.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/reqLEV.webp b/src/lib/assets/tooltip-images/number/can/reqLEV.webp new file mode 100644 index 0000000..c5d12b3 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/reqLEV.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/reqLUK.webp b/src/lib/assets/tooltip-images/number/can/reqLUK.webp new file mode 100644 index 0000000..05fafe2 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/reqLUK.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/reqPOP.webp b/src/lib/assets/tooltip-images/number/can/reqPOP.webp new file mode 100644 index 0000000..c52f1aa Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/reqPOP.webp differ diff --git a/src/lib/assets/tooltip-images/number/can/reqSTR.webp b/src/lib/assets/tooltip-images/number/can/reqSTR.webp new file mode 100644 index 0000000..c4395ff Binary files /dev/null and b/src/lib/assets/tooltip-images/number/can/reqSTR.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/0.webp b/src/lib/assets/tooltip-images/number/cannot/0.webp new file mode 100644 index 0000000..8cc62c5 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/0.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/1.webp b/src/lib/assets/tooltip-images/number/cannot/1.webp new file mode 100644 index 0000000..d919347 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/1.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/2.webp b/src/lib/assets/tooltip-images/number/cannot/2.webp new file mode 100644 index 0000000..0d2bc03 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/2.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/3.webp b/src/lib/assets/tooltip-images/number/cannot/3.webp new file mode 100644 index 0000000..4a93b13 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/3.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/4.webp b/src/lib/assets/tooltip-images/number/cannot/4.webp new file mode 100644 index 0000000..fb0e2ca Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/4.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/5.webp b/src/lib/assets/tooltip-images/number/cannot/5.webp new file mode 100644 index 0000000..40ada9d Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/5.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/6.webp b/src/lib/assets/tooltip-images/number/cannot/6.webp new file mode 100644 index 0000000..5d46bc4 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/6.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/7.webp b/src/lib/assets/tooltip-images/number/cannot/7.webp new file mode 100644 index 0000000..74f88ac Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/7.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/8.webp b/src/lib/assets/tooltip-images/number/cannot/8.webp new file mode 100644 index 0000000..4d58696 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/8.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/9.webp b/src/lib/assets/tooltip-images/number/cannot/9.webp new file mode 100644 index 0000000..080ad9a Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/9.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/minus.webp b/src/lib/assets/tooltip-images/number/cannot/minus.webp new file mode 100644 index 0000000..ee5f7f9 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/minus.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/none.webp b/src/lib/assets/tooltip-images/number/cannot/none.webp new file mode 100644 index 0000000..ee5f7f9 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/none.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/percent.webp b/src/lib/assets/tooltip-images/number/cannot/percent.webp new file mode 100644 index 0000000..ad0a6e3 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/percent.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/plus.webp b/src/lib/assets/tooltip-images/number/cannot/plus.webp new file mode 100644 index 0000000..1ec829a Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/plus.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/reqDEX.webp b/src/lib/assets/tooltip-images/number/cannot/reqDEX.webp new file mode 100644 index 0000000..6de3d55 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/reqDEX.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/reqINT.webp b/src/lib/assets/tooltip-images/number/cannot/reqINT.webp new file mode 100644 index 0000000..ad4ddb2 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/reqINT.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/reqLEV.webp b/src/lib/assets/tooltip-images/number/cannot/reqLEV.webp new file mode 100644 index 0000000..70e6d26 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/reqLEV.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/reqLUK.webp b/src/lib/assets/tooltip-images/number/cannot/reqLUK.webp new file mode 100644 index 0000000..073e8a7 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/reqLUK.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/reqPOP.webp b/src/lib/assets/tooltip-images/number/cannot/reqPOP.webp new file mode 100644 index 0000000..e0b6b00 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/reqPOP.webp differ diff --git a/src/lib/assets/tooltip-images/number/cannot/reqSTR.webp b/src/lib/assets/tooltip-images/number/cannot/reqSTR.webp new file mode 100644 index 0000000..f0b80ac Binary files /dev/null and b/src/lib/assets/tooltip-images/number/cannot/reqSTR.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/0.webp b/src/lib/assets/tooltip-images/number/disabled/0.webp new file mode 100644 index 0000000..71088a0 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/0.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/1.webp b/src/lib/assets/tooltip-images/number/disabled/1.webp new file mode 100644 index 0000000..5665d6d Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/1.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/2.webp b/src/lib/assets/tooltip-images/number/disabled/2.webp new file mode 100644 index 0000000..89ae063 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/2.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/3.webp b/src/lib/assets/tooltip-images/number/disabled/3.webp new file mode 100644 index 0000000..1cfe88c Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/3.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/4.webp b/src/lib/assets/tooltip-images/number/disabled/4.webp new file mode 100644 index 0000000..e85de7b Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/4.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/5.webp b/src/lib/assets/tooltip-images/number/disabled/5.webp new file mode 100644 index 0000000..51af897 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/5.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/6.webp b/src/lib/assets/tooltip-images/number/disabled/6.webp new file mode 100644 index 0000000..d6cc158 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/6.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/7.webp b/src/lib/assets/tooltip-images/number/disabled/7.webp new file mode 100644 index 0000000..2fbe7c0 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/7.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/8.webp b/src/lib/assets/tooltip-images/number/disabled/8.webp new file mode 100644 index 0000000..fdb1eb3 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/8.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/9.webp b/src/lib/assets/tooltip-images/number/disabled/9.webp new file mode 100644 index 0000000..cdbaadc Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/9.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/minus.webp b/src/lib/assets/tooltip-images/number/disabled/minus.webp new file mode 100644 index 0000000..f6baacb Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/minus.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/none.webp b/src/lib/assets/tooltip-images/number/disabled/none.webp new file mode 100644 index 0000000..f6baacb Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/none.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/percent.webp b/src/lib/assets/tooltip-images/number/disabled/percent.webp new file mode 100644 index 0000000..3df6511 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/percent.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/plus.webp b/src/lib/assets/tooltip-images/number/disabled/plus.webp new file mode 100644 index 0000000..187e5d0 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/plus.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/reqDEX.webp b/src/lib/assets/tooltip-images/number/disabled/reqDEX.webp new file mode 100644 index 0000000..c64ee55 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/reqDEX.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/reqINT.webp b/src/lib/assets/tooltip-images/number/disabled/reqINT.webp new file mode 100644 index 0000000..4e042d7 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/reqINT.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/reqLEV.webp b/src/lib/assets/tooltip-images/number/disabled/reqLEV.webp new file mode 100644 index 0000000..2d008fa Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/reqLEV.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/reqLUK.webp b/src/lib/assets/tooltip-images/number/disabled/reqLUK.webp new file mode 100644 index 0000000..f18eb9f Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/reqLUK.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/reqPOP.webp b/src/lib/assets/tooltip-images/number/disabled/reqPOP.webp new file mode 100644 index 0000000..f7b809a Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/reqPOP.webp differ diff --git a/src/lib/assets/tooltip-images/number/disabled/reqSTR.webp b/src/lib/assets/tooltip-images/number/disabled/reqSTR.webp new file mode 100644 index 0000000..9151e33 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/disabled/reqSTR.webp differ diff --git a/src/lib/assets/tooltip-images/number/lookahead/0.webp b/src/lib/assets/tooltip-images/number/lookahead/0.webp new file mode 100644 index 0000000..6e43d28 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/lookahead/0.webp differ diff --git a/src/lib/assets/tooltip-images/number/lookahead/1.webp b/src/lib/assets/tooltip-images/number/lookahead/1.webp new file mode 100644 index 0000000..b24dae3 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/lookahead/1.webp differ diff --git a/src/lib/assets/tooltip-images/number/lookahead/2.webp b/src/lib/assets/tooltip-images/number/lookahead/2.webp new file mode 100644 index 0000000..277504b Binary files /dev/null and b/src/lib/assets/tooltip-images/number/lookahead/2.webp differ diff --git a/src/lib/assets/tooltip-images/number/lookahead/3.webp b/src/lib/assets/tooltip-images/number/lookahead/3.webp new file mode 100644 index 0000000..775eb38 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/lookahead/3.webp differ diff --git a/src/lib/assets/tooltip-images/number/lookahead/4.webp b/src/lib/assets/tooltip-images/number/lookahead/4.webp new file mode 100644 index 0000000..16d5c9c Binary files /dev/null and b/src/lib/assets/tooltip-images/number/lookahead/4.webp differ diff --git a/src/lib/assets/tooltip-images/number/lookahead/5.webp b/src/lib/assets/tooltip-images/number/lookahead/5.webp new file mode 100644 index 0000000..5337e96 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/lookahead/5.webp differ diff --git a/src/lib/assets/tooltip-images/number/lookahead/6.webp b/src/lib/assets/tooltip-images/number/lookahead/6.webp new file mode 100644 index 0000000..e01f69e Binary files /dev/null and b/src/lib/assets/tooltip-images/number/lookahead/6.webp differ diff --git a/src/lib/assets/tooltip-images/number/lookahead/7.webp b/src/lib/assets/tooltip-images/number/lookahead/7.webp new file mode 100644 index 0000000..9b65ee4 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/lookahead/7.webp differ diff --git a/src/lib/assets/tooltip-images/number/lookahead/8.webp b/src/lib/assets/tooltip-images/number/lookahead/8.webp new file mode 100644 index 0000000..469c003 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/lookahead/8.webp differ diff --git a/src/lib/assets/tooltip-images/number/lookahead/9.webp b/src/lib/assets/tooltip-images/number/lookahead/9.webp new file mode 100644 index 0000000..15788fc Binary files /dev/null and b/src/lib/assets/tooltip-images/number/lookahead/9.webp differ diff --git a/src/lib/assets/tooltip-images/number/lookahead/minus.webp b/src/lib/assets/tooltip-images/number/lookahead/minus.webp new file mode 100644 index 0000000..da5d6bb Binary files /dev/null and b/src/lib/assets/tooltip-images/number/lookahead/minus.webp differ diff --git a/src/lib/assets/tooltip-images/number/lookahead/none.webp b/src/lib/assets/tooltip-images/number/lookahead/none.webp new file mode 100644 index 0000000..da5d6bb Binary files /dev/null and b/src/lib/assets/tooltip-images/number/lookahead/none.webp differ diff --git a/src/lib/assets/tooltip-images/number/lookahead/percent.webp b/src/lib/assets/tooltip-images/number/lookahead/percent.webp new file mode 100644 index 0000000..eab30e4 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/lookahead/percent.webp differ diff --git a/src/lib/assets/tooltip-images/number/lookahead/plus.webp b/src/lib/assets/tooltip-images/number/lookahead/plus.webp new file mode 100644 index 0000000..0651be4 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/lookahead/plus.webp differ diff --git a/src/lib/assets/tooltip-images/number/yellow/0.webp b/src/lib/assets/tooltip-images/number/yellow/0.webp new file mode 100644 index 0000000..f66a48d Binary files /dev/null and b/src/lib/assets/tooltip-images/number/yellow/0.webp differ diff --git a/src/lib/assets/tooltip-images/number/yellow/1.webp b/src/lib/assets/tooltip-images/number/yellow/1.webp new file mode 100644 index 0000000..03ee713 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/yellow/1.webp differ diff --git a/src/lib/assets/tooltip-images/number/yellow/2.webp b/src/lib/assets/tooltip-images/number/yellow/2.webp new file mode 100644 index 0000000..290f9a5 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/yellow/2.webp differ diff --git a/src/lib/assets/tooltip-images/number/yellow/3.webp b/src/lib/assets/tooltip-images/number/yellow/3.webp new file mode 100644 index 0000000..b645686 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/yellow/3.webp differ diff --git a/src/lib/assets/tooltip-images/number/yellow/4.webp b/src/lib/assets/tooltip-images/number/yellow/4.webp new file mode 100644 index 0000000..3af0187 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/yellow/4.webp differ diff --git a/src/lib/assets/tooltip-images/number/yellow/5.webp b/src/lib/assets/tooltip-images/number/yellow/5.webp new file mode 100644 index 0000000..b9bbaf2 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/yellow/5.webp differ diff --git a/src/lib/assets/tooltip-images/number/yellow/6.webp b/src/lib/assets/tooltip-images/number/yellow/6.webp new file mode 100644 index 0000000..8953fea Binary files /dev/null and b/src/lib/assets/tooltip-images/number/yellow/6.webp differ diff --git a/src/lib/assets/tooltip-images/number/yellow/7.webp b/src/lib/assets/tooltip-images/number/yellow/7.webp new file mode 100644 index 0000000..012b144 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/yellow/7.webp differ diff --git a/src/lib/assets/tooltip-images/number/yellow/8.webp b/src/lib/assets/tooltip-images/number/yellow/8.webp new file mode 100644 index 0000000..d580645 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/yellow/8.webp differ diff --git a/src/lib/assets/tooltip-images/number/yellow/9.webp b/src/lib/assets/tooltip-images/number/yellow/9.webp new file mode 100644 index 0000000..9c46664 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/yellow/9.webp differ diff --git a/src/lib/assets/tooltip-images/number/yellow/minus.webp b/src/lib/assets/tooltip-images/number/yellow/minus.webp new file mode 100644 index 0000000..70f5896 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/yellow/minus.webp differ diff --git a/src/lib/assets/tooltip-images/number/yellow/none.webp b/src/lib/assets/tooltip-images/number/yellow/none.webp new file mode 100644 index 0000000..70f5896 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/yellow/none.webp differ diff --git a/src/lib/assets/tooltip-images/number/yellow/percent.webp b/src/lib/assets/tooltip-images/number/yellow/percent.webp new file mode 100644 index 0000000..333ea7c Binary files /dev/null and b/src/lib/assets/tooltip-images/number/yellow/percent.webp differ diff --git a/src/lib/assets/tooltip-images/number/yellow/plus.webp b/src/lib/assets/tooltip-images/number/yellow/plus.webp new file mode 100644 index 0000000..29d8424 Binary files /dev/null and b/src/lib/assets/tooltip-images/number/yellow/plus.webp differ diff --git a/src/lib/assets/tooltip-images/potential/epic.webp b/src/lib/assets/tooltip-images/potential/epic.webp new file mode 100644 index 0000000..450567d Binary files /dev/null and b/src/lib/assets/tooltip-images/potential/epic.webp differ diff --git a/src/lib/assets/tooltip-images/potential/legendary.webp b/src/lib/assets/tooltip-images/potential/legendary.webp new file mode 100644 index 0000000..949cea3 Binary files /dev/null and b/src/lib/assets/tooltip-images/potential/legendary.webp differ diff --git a/src/lib/assets/tooltip-images/potential/normal.webp b/src/lib/assets/tooltip-images/potential/normal.webp new file mode 100644 index 0000000..9f364e2 Binary files /dev/null and b/src/lib/assets/tooltip-images/potential/normal.webp differ diff --git a/src/lib/assets/tooltip-images/potential/rare.webp b/src/lib/assets/tooltip-images/potential/rare.webp new file mode 100644 index 0000000..5dfaf13 Binary files /dev/null and b/src/lib/assets/tooltip-images/potential/rare.webp differ diff --git a/src/lib/assets/tooltip-images/potential/unique.webp b/src/lib/assets/tooltip-images/potential/unique.webp new file mode 100644 index 0000000..7ddc327 Binary files /dev/null and b/src/lib/assets/tooltip-images/potential/unique.webp differ diff --git a/src/lib/assets/tooltip-images/star/blue.webp b/src/lib/assets/tooltip-images/star/blue.webp new file mode 100644 index 0000000..a42642d Binary files /dev/null and b/src/lib/assets/tooltip-images/star/blue.webp differ diff --git a/src/lib/assets/tooltip-images/star/empty.webp b/src/lib/assets/tooltip-images/star/empty.webp new file mode 100644 index 0000000..a496231 Binary files /dev/null and b/src/lib/assets/tooltip-images/star/empty.webp differ diff --git a/src/lib/assets/tooltip-images/star/yellow.webp b/src/lib/assets/tooltip-images/star/yellow.webp new file mode 100644 index 0000000..bfd4bef Binary files /dev/null and b/src/lib/assets/tooltip-images/star/yellow.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline/0.webp b/src/lib/assets/tooltip-images/summary/decline/0.webp new file mode 100644 index 0000000..87a3144 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline/0.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline/1.webp b/src/lib/assets/tooltip-images/summary/decline/1.webp new file mode 100644 index 0000000..23c42d7 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline/1.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline/2.webp b/src/lib/assets/tooltip-images/summary/decline/2.webp new file mode 100644 index 0000000..2e002c0 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline/2.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline/3.webp b/src/lib/assets/tooltip-images/summary/decline/3.webp new file mode 100644 index 0000000..a7df99d Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline/3.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline/4.webp b/src/lib/assets/tooltip-images/summary/decline/4.webp new file mode 100644 index 0000000..72d6e62 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline/4.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline/5.webp b/src/lib/assets/tooltip-images/summary/decline/5.webp new file mode 100644 index 0000000..19d4ba0 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline/5.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline/6.webp b/src/lib/assets/tooltip-images/summary/decline/6.webp new file mode 100644 index 0000000..e802a28 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline/6.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline/7.webp b/src/lib/assets/tooltip-images/summary/decline/7.webp new file mode 100644 index 0000000..d7fb48d Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline/7.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline/8.webp b/src/lib/assets/tooltip-images/summary/decline/8.webp new file mode 100644 index 0000000..7604cd9 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline/8.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline/9.webp b/src/lib/assets/tooltip-images/summary/decline/9.webp new file mode 100644 index 0000000..c546801 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline/9.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline/minus.webp b/src/lib/assets/tooltip-images/summary/decline/minus.webp new file mode 100644 index 0000000..b6fb7c8 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline/minus.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_10digit/0.webp b/src/lib/assets/tooltip-images/summary/decline_10digit/0.webp new file mode 100644 index 0000000..9cd6bbf Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_10digit/0.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_10digit/1.webp b/src/lib/assets/tooltip-images/summary/decline_10digit/1.webp new file mode 100644 index 0000000..b2e05bc Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_10digit/1.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_10digit/2.webp b/src/lib/assets/tooltip-images/summary/decline_10digit/2.webp new file mode 100644 index 0000000..d14edc8 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_10digit/2.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_10digit/3.webp b/src/lib/assets/tooltip-images/summary/decline_10digit/3.webp new file mode 100644 index 0000000..178170a Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_10digit/3.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_10digit/4.webp b/src/lib/assets/tooltip-images/summary/decline_10digit/4.webp new file mode 100644 index 0000000..6737bf7 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_10digit/4.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_10digit/5.webp b/src/lib/assets/tooltip-images/summary/decline_10digit/5.webp new file mode 100644 index 0000000..9efba87 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_10digit/5.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_10digit/6.webp b/src/lib/assets/tooltip-images/summary/decline_10digit/6.webp new file mode 100644 index 0000000..884d458 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_10digit/6.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_10digit/7.webp b/src/lib/assets/tooltip-images/summary/decline_10digit/7.webp new file mode 100644 index 0000000..0d320ec Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_10digit/7.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_10digit/8.webp b/src/lib/assets/tooltip-images/summary/decline_10digit/8.webp new file mode 100644 index 0000000..1c887fb Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_10digit/8.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_10digit/9.webp b/src/lib/assets/tooltip-images/summary/decline_10digit/9.webp new file mode 100644 index 0000000..46993a5 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_10digit/9.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_10digit/minus.webp b/src/lib/assets/tooltip-images/summary/decline_10digit/minus.webp new file mode 100644 index 0000000..3339de7 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_10digit/minus.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_8digit/0.webp b/src/lib/assets/tooltip-images/summary/decline_8digit/0.webp new file mode 100644 index 0000000..bf811c5 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_8digit/0.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_8digit/1.webp b/src/lib/assets/tooltip-images/summary/decline_8digit/1.webp new file mode 100644 index 0000000..8d9b7a0 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_8digit/1.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_8digit/2.webp b/src/lib/assets/tooltip-images/summary/decline_8digit/2.webp new file mode 100644 index 0000000..176eecd Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_8digit/2.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_8digit/3.webp b/src/lib/assets/tooltip-images/summary/decline_8digit/3.webp new file mode 100644 index 0000000..e8f725d Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_8digit/3.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_8digit/4.webp b/src/lib/assets/tooltip-images/summary/decline_8digit/4.webp new file mode 100644 index 0000000..7af8fdb Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_8digit/4.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_8digit/5.webp b/src/lib/assets/tooltip-images/summary/decline_8digit/5.webp new file mode 100644 index 0000000..12a5575 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_8digit/5.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_8digit/6.webp b/src/lib/assets/tooltip-images/summary/decline_8digit/6.webp new file mode 100644 index 0000000..d236a46 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_8digit/6.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_8digit/7.webp b/src/lib/assets/tooltip-images/summary/decline_8digit/7.webp new file mode 100644 index 0000000..7462684 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_8digit/7.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_8digit/8.webp b/src/lib/assets/tooltip-images/summary/decline_8digit/8.webp new file mode 100644 index 0000000..4c3f2d8 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_8digit/8.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_8digit/9.webp b/src/lib/assets/tooltip-images/summary/decline_8digit/9.webp new file mode 100644 index 0000000..7576b48 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_8digit/9.webp differ diff --git a/src/lib/assets/tooltip-images/summary/decline_8digit/minus.webp b/src/lib/assets/tooltip-images/summary/decline_8digit/minus.webp new file mode 100644 index 0000000..11547d6 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/decline_8digit/minus.webp differ diff --git a/src/lib/assets/tooltip-images/summary/icon/bdr.webp b/src/lib/assets/tooltip-images/summary/icon/bdr.webp new file mode 100644 index 0000000..47315ce Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/icon/bdr.webp differ diff --git a/src/lib/assets/tooltip-images/summary/icon/igpddr.webp b/src/lib/assets/tooltip-images/summary/icon/igpddr.webp new file mode 100644 index 0000000..9384634 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/icon/igpddr.webp differ diff --git a/src/lib/assets/tooltip-images/summary/icon/pdd.webp b/src/lib/assets/tooltip-images/summary/icon/pdd.webp new file mode 100644 index 0000000..4bfe277 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/icon/pdd.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline/0.webp b/src/lib/assets/tooltip-images/summary/incline/0.webp new file mode 100644 index 0000000..dc1f879 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline/0.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline/1.webp b/src/lib/assets/tooltip-images/summary/incline/1.webp new file mode 100644 index 0000000..2a839f1 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline/1.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline/2.webp b/src/lib/assets/tooltip-images/summary/incline/2.webp new file mode 100644 index 0000000..485bb95 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline/2.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline/3.webp b/src/lib/assets/tooltip-images/summary/incline/3.webp new file mode 100644 index 0000000..dcfd8fe Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline/3.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline/4.webp b/src/lib/assets/tooltip-images/summary/incline/4.webp new file mode 100644 index 0000000..d5bafc6 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline/4.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline/5.webp b/src/lib/assets/tooltip-images/summary/incline/5.webp new file mode 100644 index 0000000..543bff9 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline/5.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline/6.webp b/src/lib/assets/tooltip-images/summary/incline/6.webp new file mode 100644 index 0000000..cc8a337 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline/6.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline/7.webp b/src/lib/assets/tooltip-images/summary/incline/7.webp new file mode 100644 index 0000000..1faf146 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline/7.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline/8.webp b/src/lib/assets/tooltip-images/summary/incline/8.webp new file mode 100644 index 0000000..18f0f18 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline/8.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline/9.webp b/src/lib/assets/tooltip-images/summary/incline/9.webp new file mode 100644 index 0000000..7c7b882 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline/9.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline/plus.webp b/src/lib/assets/tooltip-images/summary/incline/plus.webp new file mode 100644 index 0000000..986d623 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline/plus.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_10digit/0.webp b/src/lib/assets/tooltip-images/summary/incline_10digit/0.webp new file mode 100644 index 0000000..821ad4f Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_10digit/0.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_10digit/1.webp b/src/lib/assets/tooltip-images/summary/incline_10digit/1.webp new file mode 100644 index 0000000..5f96384 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_10digit/1.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_10digit/2.webp b/src/lib/assets/tooltip-images/summary/incline_10digit/2.webp new file mode 100644 index 0000000..be7b30e Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_10digit/2.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_10digit/3.webp b/src/lib/assets/tooltip-images/summary/incline_10digit/3.webp new file mode 100644 index 0000000..e4ccae4 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_10digit/3.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_10digit/4.webp b/src/lib/assets/tooltip-images/summary/incline_10digit/4.webp new file mode 100644 index 0000000..80f6db7 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_10digit/4.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_10digit/5.webp b/src/lib/assets/tooltip-images/summary/incline_10digit/5.webp new file mode 100644 index 0000000..d0b1f75 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_10digit/5.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_10digit/6.webp b/src/lib/assets/tooltip-images/summary/incline_10digit/6.webp new file mode 100644 index 0000000..ca22031 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_10digit/6.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_10digit/7.webp b/src/lib/assets/tooltip-images/summary/incline_10digit/7.webp new file mode 100644 index 0000000..494f442 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_10digit/7.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_10digit/8.webp b/src/lib/assets/tooltip-images/summary/incline_10digit/8.webp new file mode 100644 index 0000000..78f0d41 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_10digit/8.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_10digit/9.webp b/src/lib/assets/tooltip-images/summary/incline_10digit/9.webp new file mode 100644 index 0000000..a1f5de5 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_10digit/9.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_10digit/plus.webp b/src/lib/assets/tooltip-images/summary/incline_10digit/plus.webp new file mode 100644 index 0000000..07ffad1 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_10digit/plus.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_8digit/0.webp b/src/lib/assets/tooltip-images/summary/incline_8digit/0.webp new file mode 100644 index 0000000..e86856e Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_8digit/0.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_8digit/1.webp b/src/lib/assets/tooltip-images/summary/incline_8digit/1.webp new file mode 100644 index 0000000..f548b09 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_8digit/1.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_8digit/2.webp b/src/lib/assets/tooltip-images/summary/incline_8digit/2.webp new file mode 100644 index 0000000..abe887b Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_8digit/2.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_8digit/3.webp b/src/lib/assets/tooltip-images/summary/incline_8digit/3.webp new file mode 100644 index 0000000..0e600d4 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_8digit/3.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_8digit/4.webp b/src/lib/assets/tooltip-images/summary/incline_8digit/4.webp new file mode 100644 index 0000000..d9b0457 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_8digit/4.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_8digit/5.webp b/src/lib/assets/tooltip-images/summary/incline_8digit/5.webp new file mode 100644 index 0000000..62a1527 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_8digit/5.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_8digit/6.webp b/src/lib/assets/tooltip-images/summary/incline_8digit/6.webp new file mode 100644 index 0000000..399ac03 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_8digit/6.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_8digit/7.webp b/src/lib/assets/tooltip-images/summary/incline_8digit/7.webp new file mode 100644 index 0000000..85cae03 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_8digit/7.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_8digit/8.webp b/src/lib/assets/tooltip-images/summary/incline_8digit/8.webp new file mode 100644 index 0000000..42f6f50 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_8digit/8.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_8digit/9.webp b/src/lib/assets/tooltip-images/summary/incline_8digit/9.webp new file mode 100644 index 0000000..d5b1122 Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_8digit/9.webp differ diff --git a/src/lib/assets/tooltip-images/summary/incline_8digit/plus.webp b/src/lib/assets/tooltip-images/summary/incline_8digit/plus.webp new file mode 100644 index 0000000..21b087e Binary files /dev/null and b/src/lib/assets/tooltip-images/summary/incline_8digit/plus.webp differ diff --git a/src/lib/assets/tooltip2-images/bonusStat/0.png b/src/lib/assets/tooltip2-images/bonusStat/0.png new file mode 100644 index 0000000..d0b07eb Binary files /dev/null and b/src/lib/assets/tooltip2-images/bonusStat/0.png differ diff --git a/src/lib/assets/tooltip2-images/bonusStat/1.png b/src/lib/assets/tooltip2-images/bonusStat/1.png new file mode 100644 index 0000000..5c959d4 Binary files /dev/null and b/src/lib/assets/tooltip2-images/bonusStat/1.png differ diff --git a/src/lib/assets/tooltip2-images/bonusStat/2.png b/src/lib/assets/tooltip2-images/bonusStat/2.png new file mode 100644 index 0000000..70715b6 Binary files /dev/null and b/src/lib/assets/tooltip2-images/bonusStat/2.png differ diff --git a/src/lib/assets/tooltip2-images/bonusStat/3.png b/src/lib/assets/tooltip2-images/bonusStat/3.png new file mode 100644 index 0000000..b2d485e Binary files /dev/null and b/src/lib/assets/tooltip2-images/bonusStat/3.png differ diff --git a/src/lib/assets/tooltip2-images/bonusStat/4.png b/src/lib/assets/tooltip2-images/bonusStat/4.png new file mode 100644 index 0000000..23043be Binary files /dev/null and b/src/lib/assets/tooltip2-images/bonusStat/4.png differ diff --git a/src/lib/assets/tooltip2-images/bonusStat/5.png b/src/lib/assets/tooltip2-images/bonusStat/5.png new file mode 100644 index 0000000..86d9ee8 Binary files /dev/null and b/src/lib/assets/tooltip2-images/bonusStat/5.png differ diff --git a/src/lib/assets/tooltip2-images/bonusStat/6.png b/src/lib/assets/tooltip2-images/bonusStat/6.png new file mode 100644 index 0000000..0616464 Binary files /dev/null and b/src/lib/assets/tooltip2-images/bonusStat/6.png differ diff --git a/src/lib/assets/tooltip2-images/bonusStat/7.png b/src/lib/assets/tooltip2-images/bonusStat/7.png new file mode 100644 index 0000000..bdde17c Binary files /dev/null and b/src/lib/assets/tooltip2-images/bonusStat/7.png differ diff --git a/src/lib/assets/tooltip2-images/bonusStat/8.png b/src/lib/assets/tooltip2-images/bonusStat/8.png new file mode 100644 index 0000000..6ae1079 Binary files /dev/null and b/src/lib/assets/tooltip2-images/bonusStat/8.png differ diff --git a/src/lib/assets/tooltip2-images/bonusStat/9.png b/src/lib/assets/tooltip2-images/bonusStat/9.png new file mode 100644 index 0000000..edc88e4 Binary files /dev/null and b/src/lib/assets/tooltip2-images/bonusStat/9.png differ diff --git a/src/lib/assets/tooltip2-images/category/c.png b/src/lib/assets/tooltip2-images/category/c.png new file mode 100644 index 0000000..732c924 Binary files /dev/null and b/src/lib/assets/tooltip2-images/category/c.png differ diff --git a/src/lib/assets/tooltip2-images/category/e.png b/src/lib/assets/tooltip2-images/category/e.png new file mode 100644 index 0000000..6f148b4 Binary files /dev/null and b/src/lib/assets/tooltip2-images/category/e.png differ diff --git a/src/lib/assets/tooltip2-images/category/w.png b/src/lib/assets/tooltip2-images/category/w.png new file mode 100644 index 0000000..c4d3b55 Binary files /dev/null and b/src/lib/assets/tooltip2-images/category/w.png differ diff --git a/src/lib/assets/tooltip2-images/exceptional/normal.png b/src/lib/assets/tooltip2-images/exceptional/normal.png new file mode 100644 index 0000000..dae6d4f Binary files /dev/null and b/src/lib/assets/tooltip2-images/exceptional/normal.png differ diff --git a/src/lib/assets/tooltip2-images/frame/btm.png b/src/lib/assets/tooltip2-images/frame/btm.png new file mode 100644 index 0000000..e7b0778 Binary files /dev/null and b/src/lib/assets/tooltip2-images/frame/btm.png differ diff --git a/src/lib/assets/tooltip2-images/frame/line.png b/src/lib/assets/tooltip2-images/frame/line.png new file mode 100644 index 0000000..d5d96c9 Binary files /dev/null and b/src/lib/assets/tooltip2-images/frame/line.png differ diff --git a/src/lib/assets/tooltip2-images/frame/mid.png b/src/lib/assets/tooltip2-images/frame/mid.png new file mode 100644 index 0000000..577bc53 Binary files /dev/null and b/src/lib/assets/tooltip2-images/frame/mid.png differ diff --git a/src/lib/assets/tooltip2-images/frame/top.png b/src/lib/assets/tooltip2-images/frame/top.png new file mode 100644 index 0000000..8c5a977 Binary files /dev/null and b/src/lib/assets/tooltip2-images/frame/top.png differ diff --git a/src/lib/assets/tooltip2-images/icon/base.png b/src/lib/assets/tooltip2-images/icon/base.png new file mode 100644 index 0000000..aee50db Binary files /dev/null and b/src/lib/assets/tooltip2-images/icon/base.png differ diff --git a/src/lib/assets/tooltip2-images/icon/shade.png b/src/lib/assets/tooltip2-images/icon/shade.png new file mode 100644 index 0000000..731ee6f Binary files /dev/null and b/src/lib/assets/tooltip2-images/icon/shade.png differ diff --git a/src/lib/assets/tooltip2-images/incline/equipped.png b/src/lib/assets/tooltip2-images/incline/equipped.png new file mode 100644 index 0000000..3dc1dc5 Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/equipped.png differ diff --git a/src/lib/assets/tooltip2-images/incline/minus_0.png b/src/lib/assets/tooltip2-images/incline/minus_0.png new file mode 100644 index 0000000..0b97d73 Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/minus_0.png differ diff --git a/src/lib/assets/tooltip2-images/incline/minus_1.png b/src/lib/assets/tooltip2-images/incline/minus_1.png new file mode 100644 index 0000000..c3fd24e Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/minus_1.png differ diff --git a/src/lib/assets/tooltip2-images/incline/minus_2.png b/src/lib/assets/tooltip2-images/incline/minus_2.png new file mode 100644 index 0000000..9024c31 Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/minus_2.png differ diff --git a/src/lib/assets/tooltip2-images/incline/minus_3.png b/src/lib/assets/tooltip2-images/incline/minus_3.png new file mode 100644 index 0000000..854ffd7 Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/minus_3.png differ diff --git a/src/lib/assets/tooltip2-images/incline/minus_4.png b/src/lib/assets/tooltip2-images/incline/minus_4.png new file mode 100644 index 0000000..1b1348e Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/minus_4.png differ diff --git a/src/lib/assets/tooltip2-images/incline/minus_5.png b/src/lib/assets/tooltip2-images/incline/minus_5.png new file mode 100644 index 0000000..ee466fa Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/minus_5.png differ diff --git a/src/lib/assets/tooltip2-images/incline/minus_6.png b/src/lib/assets/tooltip2-images/incline/minus_6.png new file mode 100644 index 0000000..8fcc403 Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/minus_6.png differ diff --git a/src/lib/assets/tooltip2-images/incline/minus_7.png b/src/lib/assets/tooltip2-images/incline/minus_7.png new file mode 100644 index 0000000..6e75b55 Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/minus_7.png differ diff --git a/src/lib/assets/tooltip2-images/incline/minus_8.png b/src/lib/assets/tooltip2-images/incline/minus_8.png new file mode 100644 index 0000000..b43b7a1 Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/minus_8.png differ diff --git a/src/lib/assets/tooltip2-images/incline/minus_9.png b/src/lib/assets/tooltip2-images/incline/minus_9.png new file mode 100644 index 0000000..f33a5b8 Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/minus_9.png differ diff --git a/src/lib/assets/tooltip2-images/incline/minus_a.png b/src/lib/assets/tooltip2-images/incline/minus_a.png new file mode 100644 index 0000000..aa4ba2f Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/minus_a.png differ diff --git a/src/lib/assets/tooltip2-images/incline/minus_b.png b/src/lib/assets/tooltip2-images/incline/minus_b.png new file mode 100644 index 0000000..cbec19e Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/minus_b.png differ diff --git a/src/lib/assets/tooltip2-images/incline/minus_sign.png b/src/lib/assets/tooltip2-images/incline/minus_sign.png new file mode 100644 index 0000000..15ea1bf Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/minus_sign.png differ diff --git a/src/lib/assets/tooltip2-images/incline/plus_0.png b/src/lib/assets/tooltip2-images/incline/plus_0.png new file mode 100644 index 0000000..913011a Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/plus_0.png differ diff --git a/src/lib/assets/tooltip2-images/incline/plus_1.png b/src/lib/assets/tooltip2-images/incline/plus_1.png new file mode 100644 index 0000000..73d67c5 Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/plus_1.png differ diff --git a/src/lib/assets/tooltip2-images/incline/plus_2.png b/src/lib/assets/tooltip2-images/incline/plus_2.png new file mode 100644 index 0000000..3a19c1e Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/plus_2.png differ diff --git a/src/lib/assets/tooltip2-images/incline/plus_3.png b/src/lib/assets/tooltip2-images/incline/plus_3.png new file mode 100644 index 0000000..313adff Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/plus_3.png differ diff --git a/src/lib/assets/tooltip2-images/incline/plus_4.png b/src/lib/assets/tooltip2-images/incline/plus_4.png new file mode 100644 index 0000000..ba69f96 Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/plus_4.png differ diff --git a/src/lib/assets/tooltip2-images/incline/plus_5.png b/src/lib/assets/tooltip2-images/incline/plus_5.png new file mode 100644 index 0000000..97bf085 Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/plus_5.png differ diff --git a/src/lib/assets/tooltip2-images/incline/plus_6.png b/src/lib/assets/tooltip2-images/incline/plus_6.png new file mode 100644 index 0000000..58936f1 Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/plus_6.png differ diff --git a/src/lib/assets/tooltip2-images/incline/plus_7.png b/src/lib/assets/tooltip2-images/incline/plus_7.png new file mode 100644 index 0000000..a8f6fd0 Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/plus_7.png differ diff --git a/src/lib/assets/tooltip2-images/incline/plus_8.png b/src/lib/assets/tooltip2-images/incline/plus_8.png new file mode 100644 index 0000000..6ad0118 Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/plus_8.png differ diff --git a/src/lib/assets/tooltip2-images/incline/plus_9.png b/src/lib/assets/tooltip2-images/incline/plus_9.png new file mode 100644 index 0000000..59656cd Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/plus_9.png differ diff --git a/src/lib/assets/tooltip2-images/incline/plus_a.png b/src/lib/assets/tooltip2-images/incline/plus_a.png new file mode 100644 index 0000000..e42749c Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/plus_a.png differ diff --git a/src/lib/assets/tooltip2-images/incline/plus_b.png b/src/lib/assets/tooltip2-images/incline/plus_b.png new file mode 100644 index 0000000..30e076f Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/plus_b.png differ diff --git a/src/lib/assets/tooltip2-images/incline/plus_sign.png b/src/lib/assets/tooltip2-images/incline/plus_sign.png new file mode 100644 index 0000000..b29b2b4 Binary files /dev/null and b/src/lib/assets/tooltip2-images/incline/plus_sign.png differ diff --git a/src/lib/assets/tooltip2-images/index.ts b/src/lib/assets/tooltip2-images/index.ts new file mode 100644 index 0000000..5932282 --- /dev/null +++ b/src/lib/assets/tooltip2-images/index.ts @@ -0,0 +1,152 @@ +import { default as frameTop } from './frame/top.png'; +import { default as frameLine } from './frame/line.png'; +import { default as frameMiddle } from './frame/mid.png'; +import { default as frameBottom } from './frame/btm.png'; + +import { default as particleStar } from './particle/star.png'; + +import { default as star } from './star/star.png'; +import { default as blueStar } from './star/blue.png'; +import { default as emptyStar } from './star/empty.png'; + +import { default as iconBase } from './icon/base.png'; +import { default as iconShade } from './icon/shade.png'; + +import { default as inclineEquipped } from './incline/equipped.png'; +import { default as inclineMinus_0 } from './incline/minus_0.png'; +import { default as inclineMinus_1 } from './incline/minus_1.png'; +import { default as inclineMinus_2 } from './incline/minus_2.png'; +import { default as inclineMinus_3 } from './incline/minus_3.png'; +import { default as inclineMinus_4 } from './incline/minus_4.png'; +import { default as inclineMinus_5 } from './incline/minus_5.png'; +import { default as inclineMinus_6 } from './incline/minus_6.png'; +import { default as inclineMinus_7 } from './incline/minus_7.png'; +import { default as inclineMinus_8 } from './incline/minus_8.png'; +import { default as inclineMinus_9 } from './incline/minus_9.png'; +import { default as inclineMinus_a } from './incline/minus_a.png'; +import { default as inclineMinus_b } from './incline/minus_b.png'; +import { default as inclineMinus_sign } from './incline/minus_sign.png'; +import { default as inclinePlus_0 } from './incline/plus_0.png'; +import { default as inclinePlus_1 } from './incline/plus_1.png'; +import { default as inclinePlus_2 } from './incline/plus_2.png'; +import { default as inclinePlus_3 } from './incline/plus_3.png'; +import { default as inclinePlus_4 } from './incline/plus_4.png'; +import { default as inclinePlus_5 } from './incline/plus_5.png'; +import { default as inclinePlus_6 } from './incline/plus_6.png'; +import { default as inclinePlus_7 } from './incline/plus_7.png'; +import { default as inclinePlus_8 } from './incline/plus_8.png'; +import { default as inclinePlus_9 } from './incline/plus_9.png'; +import { default as inclinePlus_a } from './incline/plus_a.png'; +import { default as inclinePlus_b } from './incline/plus_b.png'; +import { default as inclinePlus_sign } from './incline/plus_sign.png'; + +import { default as categoryMiddle } from './category/c.png'; +import { default as categoryRight } from './category/e.png'; +import { default as categoryLeft } from './category/w.png'; + +import { default as setGuide } from './textIcon/set_guide.png'; + +import { default as bonus_0 } from './bonusStat/0.png'; +import { default as bonus_1 } from './bonusStat/1.png'; +import { default as bonus_2 } from './bonusStat/2.png'; +import { default as bonus_3 } from './bonusStat/3.png'; +import { default as bonus_4 } from './bonusStat/4.png'; +import { default as bonus_5 } from './bonusStat/5.png'; +import { default as bonus_6 } from './bonusStat/6.png'; +import { default as bonus_7 } from './bonusStat/7.png'; +import { default as bonus_8 } from './bonusStat/8.png'; +import { default as bonus_9 } from './bonusStat/9.png'; + +import { default as potentialTitleNormal } from './potential/title/normal.png'; +import { default as potentialTitleRare } from './potential/title/rare.png'; +import { default as potentialTitleEpic } from './potential/title/epic.png'; +import { default as potentialTitleUnique } from './potential/title/unique.png'; +import { default as potentialTitleLegendary } from './potential/title/legendary.png'; +import { default as potentialDetailRare } from './potential/detail/rare.png'; +import { default as potentialDetailEpic } from './potential/detail/epic.png'; +import { default as potentialDetailUnique } from './potential/detail/unique.png'; +import { default as potentialDetailLegendary } from './potential/detail/legendary.png'; + +import { default as soulNormal } from './soul/normal.png'; + +import { default as exceptionalNormal } from './exceptional/normal.png'; + +import { default as scrollIcon } from './textIcon/scroll.png'; +import { default as starNormal } from './textIcon/starNormal.png'; +import { default as starEnhanced } from './textIcon/starEnhanced.png'; +import { default as scrollNormal } from './textIcon/scrollNormal.png'; +import { default as scrollEnhanced } from './textIcon/scrollEnhanced.png'; +import { default as addOptionNormal } from './textIcon/addOptionNormal.png'; +import { default as addOptionEnhanced } from './textIcon/addOptionEnhanced.png'; + +export const tooltip2Images = { + frameTop, + frameLine, + frameMiddle, + frameBottom, + particleStar, + star, + blueStar, + emptyStar, + iconBase, + iconShade, + inclineEquipped, + inclineMinus_0, + inclineMinus_1, + inclineMinus_2, + inclineMinus_3, + inclineMinus_4, + inclineMinus_5, + inclineMinus_6, + inclineMinus_7, + inclineMinus_8, + inclineMinus_9, + inclineMinus_a, + inclineMinus_b, + inclineMinus_sign, + inclinePlus_0, + inclinePlus_1, + inclinePlus_2, + inclinePlus_3, + inclinePlus_4, + inclinePlus_5, + inclinePlus_6, + inclinePlus_7, + inclinePlus_8, + inclinePlus_9, + inclinePlus_a, + inclinePlus_b, + inclinePlus_sign, + categoryMiddle, + categoryLeft, + categoryRight, + setGuide, + bonus_0, + bonus_1, + bonus_2, + bonus_3, + bonus_4, + bonus_5, + bonus_6, + bonus_7, + bonus_8, + bonus_9, + potentialTitleNormal, + potentialTitleRare, + potentialTitleEpic, + potentialTitleUnique, + potentialTitleLegendary, + potentialDetailRare, + potentialDetailEpic, + potentialDetailUnique, + potentialDetailLegendary, + soulNormal, + exceptionalNormal, + scrollIcon, + starNormal, + starEnhanced, + scrollNormal, + scrollEnhanced, + addOptionNormal, + addOptionEnhanced +}; diff --git a/src/lib/assets/tooltip2-images/particle/star.png b/src/lib/assets/tooltip2-images/particle/star.png new file mode 100644 index 0000000..ad8ebe7 Binary files /dev/null and b/src/lib/assets/tooltip2-images/particle/star.png differ diff --git a/src/lib/assets/tooltip2-images/potential/detail/epic.png b/src/lib/assets/tooltip2-images/potential/detail/epic.png new file mode 100644 index 0000000..7f654d1 Binary files /dev/null and b/src/lib/assets/tooltip2-images/potential/detail/epic.png differ diff --git a/src/lib/assets/tooltip2-images/potential/detail/legendary.png b/src/lib/assets/tooltip2-images/potential/detail/legendary.png new file mode 100644 index 0000000..ecc6554 Binary files /dev/null and b/src/lib/assets/tooltip2-images/potential/detail/legendary.png differ diff --git a/src/lib/assets/tooltip2-images/potential/detail/rare.png b/src/lib/assets/tooltip2-images/potential/detail/rare.png new file mode 100644 index 0000000..3f72074 Binary files /dev/null and b/src/lib/assets/tooltip2-images/potential/detail/rare.png differ diff --git a/src/lib/assets/tooltip2-images/potential/detail/unique.png b/src/lib/assets/tooltip2-images/potential/detail/unique.png new file mode 100644 index 0000000..2b985b3 Binary files /dev/null and b/src/lib/assets/tooltip2-images/potential/detail/unique.png differ diff --git a/src/lib/assets/tooltip2-images/potential/title/epic.png b/src/lib/assets/tooltip2-images/potential/title/epic.png new file mode 100644 index 0000000..a585b0d Binary files /dev/null and b/src/lib/assets/tooltip2-images/potential/title/epic.png differ diff --git a/src/lib/assets/tooltip2-images/potential/title/legendary.png b/src/lib/assets/tooltip2-images/potential/title/legendary.png new file mode 100644 index 0000000..ccce362 Binary files /dev/null and b/src/lib/assets/tooltip2-images/potential/title/legendary.png differ diff --git a/src/lib/assets/tooltip2-images/potential/title/normal.png b/src/lib/assets/tooltip2-images/potential/title/normal.png new file mode 100644 index 0000000..aacc216 Binary files /dev/null and b/src/lib/assets/tooltip2-images/potential/title/normal.png differ diff --git a/src/lib/assets/tooltip2-images/potential/title/rare.png b/src/lib/assets/tooltip2-images/potential/title/rare.png new file mode 100644 index 0000000..905e841 Binary files /dev/null and b/src/lib/assets/tooltip2-images/potential/title/rare.png differ diff --git a/src/lib/assets/tooltip2-images/potential/title/unique.png b/src/lib/assets/tooltip2-images/potential/title/unique.png new file mode 100644 index 0000000..5b55583 Binary files /dev/null and b/src/lib/assets/tooltip2-images/potential/title/unique.png differ diff --git a/src/lib/assets/tooltip2-images/soul/normal.png b/src/lib/assets/tooltip2-images/soul/normal.png new file mode 100644 index 0000000..2abbb6b Binary files /dev/null and b/src/lib/assets/tooltip2-images/soul/normal.png differ diff --git a/src/lib/assets/tooltip2-images/star/blue.png b/src/lib/assets/tooltip2-images/star/blue.png new file mode 100644 index 0000000..5e65aa3 Binary files /dev/null and b/src/lib/assets/tooltip2-images/star/blue.png differ diff --git a/src/lib/assets/tooltip2-images/star/empty.png b/src/lib/assets/tooltip2-images/star/empty.png new file mode 100644 index 0000000..f5e9aae Binary files /dev/null and b/src/lib/assets/tooltip2-images/star/empty.png differ diff --git a/src/lib/assets/tooltip2-images/star/star.png b/src/lib/assets/tooltip2-images/star/star.png new file mode 100644 index 0000000..8838604 Binary files /dev/null and b/src/lib/assets/tooltip2-images/star/star.png differ diff --git a/src/lib/assets/tooltip2-images/textIcon/addOptionEnhanced.png b/src/lib/assets/tooltip2-images/textIcon/addOptionEnhanced.png new file mode 100644 index 0000000..e68377b Binary files /dev/null and b/src/lib/assets/tooltip2-images/textIcon/addOptionEnhanced.png differ diff --git a/src/lib/assets/tooltip2-images/textIcon/addOptionNormal.png b/src/lib/assets/tooltip2-images/textIcon/addOptionNormal.png new file mode 100644 index 0000000..705c9e1 Binary files /dev/null and b/src/lib/assets/tooltip2-images/textIcon/addOptionNormal.png differ diff --git a/src/lib/assets/tooltip2-images/textIcon/scroll.png b/src/lib/assets/tooltip2-images/textIcon/scroll.png new file mode 100644 index 0000000..fa01d61 Binary files /dev/null and b/src/lib/assets/tooltip2-images/textIcon/scroll.png differ diff --git a/src/lib/assets/tooltip2-images/textIcon/scrollEnhanced.png b/src/lib/assets/tooltip2-images/textIcon/scrollEnhanced.png new file mode 100644 index 0000000..d92a15f Binary files /dev/null and b/src/lib/assets/tooltip2-images/textIcon/scrollEnhanced.png differ diff --git a/src/lib/assets/tooltip2-images/textIcon/scrollNormal.png b/src/lib/assets/tooltip2-images/textIcon/scrollNormal.png new file mode 100644 index 0000000..5e63fe8 Binary files /dev/null and b/src/lib/assets/tooltip2-images/textIcon/scrollNormal.png differ diff --git a/src/lib/assets/tooltip2-images/textIcon/set_guide.png b/src/lib/assets/tooltip2-images/textIcon/set_guide.png new file mode 100644 index 0000000..5614eb5 Binary files /dev/null and b/src/lib/assets/tooltip2-images/textIcon/set_guide.png differ diff --git a/src/lib/assets/tooltip2-images/textIcon/starEnhanced.png b/src/lib/assets/tooltip2-images/textIcon/starEnhanced.png new file mode 100644 index 0000000..c3392a9 Binary files /dev/null and b/src/lib/assets/tooltip2-images/textIcon/starEnhanced.png differ diff --git a/src/lib/assets/tooltip2-images/textIcon/starNormal.png b/src/lib/assets/tooltip2-images/textIcon/starNormal.png new file mode 100644 index 0000000..6001af6 Binary files /dev/null and b/src/lib/assets/tooltip2-images/textIcon/starNormal.png differ diff --git a/src/lib/components/button-group/ButtonGroup.svelte b/src/lib/components/button-group/ButtonGroup.svelte new file mode 100644 index 0000000..cd3f5cf --- /dev/null +++ b/src/lib/components/button-group/ButtonGroup.svelte @@ -0,0 +1,10 @@ + + +
+ {@render children()} +
diff --git a/src/lib/components/button-group/index.ts b/src/lib/components/button-group/index.ts new file mode 100644 index 0000000..c02a281 --- /dev/null +++ b/src/lib/components/button-group/index.ts @@ -0,0 +1 @@ +export { default as ButtonGroup } from './ButtonGroup.svelte'; diff --git a/src/lib/components/follow-cursor/FollowCursor.svelte b/src/lib/components/follow-cursor/FollowCursor.svelte new file mode 100644 index 0000000..8b1f172 --- /dev/null +++ b/src/lib/components/follow-cursor/FollowCursor.svelte @@ -0,0 +1,56 @@ + + + + +
+ {@render children?.()} +
diff --git a/src/lib/components/follow-cursor/index.ts b/src/lib/components/follow-cursor/index.ts new file mode 100644 index 0000000..95b8ec1 --- /dev/null +++ b/src/lib/components/follow-cursor/index.ts @@ -0,0 +1 @@ +export { default as FollowCursor } from './FollowCursor.svelte'; diff --git a/src/lib/components/gear-tooltip/GearTooltip.svelte b/src/lib/components/gear-tooltip/GearTooltip.svelte new file mode 100644 index 0000000..e0ba4b6 --- /dev/null +++ b/src/lib/components/gear-tooltip/GearTooltip.svelte @@ -0,0 +1,288 @@ + + + + + + + 0 ? 'red' : 'white'} + /> + + + + + + + + + + + + {#if 'attack' in incline && 'combat' in incline} + + + {:else if 'attack' in incline} + + {:else if 'combat' in incline} + + {/if} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {#each detailOptions as [type, isPercent]} + + {/each} + + + + + + + + + + {#snippet before()} + + + + {/snippet} + + + {#each gear.potentials as potential} + + {/each} + + + + {#snippet before()} + + + + {/snippet} + + + {#each gear.potentials as potential} + + {/each} + + + + {#snippet before()} + + + + {/snippet} + {#if gear.exceptionalUpgradeCount > 0} + + + + + + {/if} + + + + {#snippet before()} + + + + {/snippet} + + + + + + {#if descriptions.length > 0} + + + + + {#each descriptions as description} + + {/each} + + {/if} + + {#snippet before()} + + {/snippet} + + + diff --git a/src/lib/components/gear-tooltip/components/Attributes.svelte b/src/lib/components/gear-tooltip/components/Attributes.svelte new file mode 100644 index 0000000..1e9d31b --- /dev/null +++ b/src/lib/components/gear-tooltip/components/Attributes.svelte @@ -0,0 +1,47 @@ + + +{#if tags.length > 0} +
+ {#each tags as tag} + {tag} + {/each} +
+{/if} + + diff --git a/src/lib/components/gear-tooltip/components/DotLine.svelte b/src/lib/components/gear-tooltip/components/DotLine.svelte new file mode 100644 index 0000000..468e5b7 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/DotLine.svelte @@ -0,0 +1,5 @@ + + + diff --git a/src/lib/components/gear-tooltip/components/Frame.svelte b/src/lib/components/gear-tooltip/components/Frame.svelte new file mode 100644 index 0000000..c906b2f --- /dev/null +++ b/src/lib/components/gear-tooltip/components/Frame.svelte @@ -0,0 +1,15 @@ + + +
+ + + {@render children?.()} + + + +
diff --git a/src/lib/components/gear-tooltip/components/Grade.svelte b/src/lib/components/gear-tooltip/components/Grade.svelte new file mode 100644 index 0000000..8a73aac --- /dev/null +++ b/src/lib/components/gear-tooltip/components/Grade.svelte @@ -0,0 +1,29 @@ + + +{#if grade !== PotentialGrade.Normal} +
+ {getGradeString(grade, specialGrade)} +
+{/if} diff --git a/src/lib/components/gear-tooltip/components/JobReq.svelte b/src/lib/components/gear-tooltip/components/JobReq.svelte new file mode 100644 index 0000000..e4c5cde --- /dev/null +++ b/src/lib/components/gear-tooltip/components/JobReq.svelte @@ -0,0 +1,42 @@ + + +{#if message} + + {@render content()} +
+ {message} +
+
+{:else} + + {@render content()} + +{/if} + +{#snippet content()} +
+ {@render jobClass(0, reqJob === 0)} + {#each [1, 2, 3, 4, 5] as const as index} + {@render jobClass(index, reqJob === 0 || (reqJob & (1 << (index - 1))) !== 0)} + {/each} +
+{/snippet} + +{#snippet jobClass(index: 0 | 1 | 2 | 3 | 4 | 5, enabled: boolean)} + +{/snippet} diff --git a/src/lib/components/gear-tooltip/components/Spacer.svelte b/src/lib/components/gear-tooltip/components/Spacer.svelte new file mode 100644 index 0000000..8560b7e --- /dev/null +++ b/src/lib/components/gear-tooltip/components/Spacer.svelte @@ -0,0 +1,5 @@ + + + diff --git a/src/lib/components/gear-tooltip/components/Stars.svelte b/src/lib/components/gear-tooltip/components/Stars.svelte new file mode 100644 index 0000000..0f48a38 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/Stars.svelte @@ -0,0 +1,54 @@ + + +{#if lines} +
+ {#each lines as line} +
+ {#each line as group} +
+ {#each group as isFilled} + {@render starIcon(color, !isFilled)} + {/each} +
+ {/each} +
+ {/each} +
+{/if} + +{#snippet starIcon(color: 'yellow' | 'blue', isEmpty: boolean)} + {#if isEmpty} + + {:else if color === 'yellow'} + + {:else} + + {/if} +{/snippet} diff --git a/src/lib/components/gear-tooltip/components/UIImage.svelte b/src/lib/components/gear-tooltip/components/UIImage.svelte new file mode 100644 index 0000000..bcab3bd --- /dev/null +++ b/src/lib/components/gear-tooltip/components/UIImage.svelte @@ -0,0 +1,829 @@ + + +{#if children} + + {@render children()} + +{:else} + +{/if} + + diff --git a/src/lib/components/gear-tooltip/components/description/Description.svelte b/src/lib/components/gear-tooltip/components/description/Description.svelte new file mode 100644 index 0000000..173ca4a --- /dev/null +++ b/src/lib/components/gear-tooltip/components/description/Description.svelte @@ -0,0 +1,16 @@ + + +
+ {@html parseColorString(description)} +
+ + diff --git a/src/lib/components/gear-tooltip/components/description/DescriptionsWrapper.svelte b/src/lib/components/gear-tooltip/components/description/DescriptionsWrapper.svelte new file mode 100644 index 0000000..63b62df --- /dev/null +++ b/src/lib/components/gear-tooltip/components/description/DescriptionsWrapper.svelte @@ -0,0 +1,9 @@ + + +
+ {@render children()} +
diff --git a/src/lib/components/gear-tooltip/components/detail/DetailCannotAdditionalPotential.svelte b/src/lib/components/gear-tooltip/components/detail/DetailCannotAdditionalPotential.svelte new file mode 100644 index 0000000..095f08d --- /dev/null +++ b/src/lib/components/gear-tooltip/components/detail/DetailCannotAdditionalPotential.svelte @@ -0,0 +1,7 @@ + + +{#if cannotAdditionalPotential} +
에디셔널 잠재능력 설정 불가
+{/if} diff --git a/src/lib/components/gear-tooltip/components/detail/DetailCannotPotential.svelte b/src/lib/components/gear-tooltip/components/detail/DetailCannotPotential.svelte new file mode 100644 index 0000000..2178d69 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/detail/DetailCannotPotential.svelte @@ -0,0 +1,7 @@ + + +{#if cannotPotential} +
잠재능력 설정 불가
+{/if} diff --git a/src/lib/components/gear-tooltip/components/detail/DetailCuttableCount.svelte b/src/lib/components/gear-tooltip/components/detail/DetailCuttableCount.svelte new file mode 100644 index 0000000..cd15cc4 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/detail/DetailCuttableCount.svelte @@ -0,0 +1,7 @@ + + +{#if cuttableCount !== undefined} +
가위 사용 가능 횟수: {cuttableCount}회
+{/if} diff --git a/src/lib/components/gear-tooltip/components/detail/DetailFixedAddOption.svelte b/src/lib/components/gear-tooltip/components/detail/DetailFixedAddOption.svelte new file mode 100644 index 0000000..b3c1fa9 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/detail/DetailFixedAddOption.svelte @@ -0,0 +1,7 @@ + + +{#if fixedAddOption} +
추가옵션 재설정 불가
+{/if} diff --git a/src/lib/components/gear-tooltip/components/detail/DetailGearType.svelte b/src/lib/components/gear-tooltip/components/detail/DetailGearType.svelte new file mode 100644 index 0000000..c5174d7 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/detail/DetailGearType.svelte @@ -0,0 +1,49 @@ + + +{#if isWeapon(gearType)} + {@const handType = + isLeftWeapon(gearType) || gearType === GearType.katara ? '한손무기' : '두손무기'} +
+ 무기분류 : {getGearTypeString(gearType)} ({handType}) +
+ {#if attackSpeed} +
+ 공격속도 : {getAttackSpeedString(attackSpeed)} ({10 - attackSpeed}단계) +
+ {/if} +{:else} +
+ 장비분류 : {getGearTypeString(gearType)} +
+{/if} diff --git a/src/lib/components/gear-tooltip/components/detail/DetailGoldenHammer.svelte b/src/lib/components/gear-tooltip/components/detail/DetailGoldenHammer.svelte new file mode 100644 index 0000000..bff47d7 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/detail/DetailGoldenHammer.svelte @@ -0,0 +1,7 @@ + + +{#if goldenHammer > 0} +
황금망치 제련 적용
+{/if} diff --git a/src/lib/components/gear-tooltip/components/detail/DetailOption.svelte b/src/lib/components/gear-tooltip/components/detail/DetailOption.svelte new file mode 100644 index 0000000..e3b8796 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/detail/DetailOption.svelte @@ -0,0 +1,44 @@ + + +{#if sum !== 0} + {#if add > 0 || upgrade + star > 0} +
+ + {getGearOptionString(type, sum)} + + ({base}{p}{#if add !== 0} + {' '}+{add}{p} + {/if}{#if upgrade !== 0} + 0 ? 'gt--purple2' : 'gt--red'}>{' '}+{upgrade}{p} + {/if}{#if star !== 0} + {' '}+{star}{p} + {/if}) +
+ {:else} +
+ {getGearOptionString(type, sum)} +
+ {/if} +{/if} diff --git a/src/lib/components/gear-tooltip/components/detail/DetailReqLevelDecrease.svelte b/src/lib/components/gear-tooltip/components/detail/DetailReqLevelDecrease.svelte new file mode 100644 index 0000000..c47166e --- /dev/null +++ b/src/lib/components/gear-tooltip/components/detail/DetailReqLevelDecrease.svelte @@ -0,0 +1,7 @@ + + +{#if reqLevelDecrease > 0} +
착용 레벨 감소 : - {reqLevelDecrease}
+{/if} diff --git a/src/lib/components/gear-tooltip/components/detail/DetailSuperior.svelte b/src/lib/components/gear-tooltip/components/detail/DetailSuperior.svelte new file mode 100644 index 0000000..53e36d6 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/detail/DetailSuperior.svelte @@ -0,0 +1,7 @@ + + +{#if superior} +
슈페리얼
+{/if} diff --git a/src/lib/components/gear-tooltip/components/detail/DetailSuperiorDesc.svelte b/src/lib/components/gear-tooltip/components/detail/DetailSuperiorDesc.svelte new file mode 100644 index 0000000..7220a01 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/detail/DetailSuperiorDesc.svelte @@ -0,0 +1,7 @@ + + +{#if superior} +
아이템 강화 성공시 더욱 높은 효과를 받을 수 있습니다.
+{/if} diff --git a/src/lib/components/gear-tooltip/components/detail/DetailUpgradeCount.svelte b/src/lib/components/gear-tooltip/components/detail/DetailUpgradeCount.svelte new file mode 100644 index 0000000..9e2e9ef --- /dev/null +++ b/src/lib/components/gear-tooltip/components/detail/DetailUpgradeCount.svelte @@ -0,0 +1,24 @@ + + +{#if scrollTotalUpgradeableCount > 0} + {#if cannotUpgrade} +
강화불가
+ {:else} +
+ 업그레이드 가능 횟수 : {scrollUpgradeableCount} + (복구 가능 횟수 : {scrollResilienceCount}) +
+ {/if} +{/if} diff --git a/src/lib/components/gear-tooltip/components/detail/DetailWrapper.svelte b/src/lib/components/gear-tooltip/components/detail/DetailWrapper.svelte new file mode 100644 index 0000000..bcca7f1 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/detail/DetailWrapper.svelte @@ -0,0 +1,9 @@ + + +
+ {@render children()} +
diff --git a/src/lib/components/gear-tooltip/components/exceptional/ExceptionalLabel.svelte b/src/lib/components/gear-tooltip/components/exceptional/ExceptionalLabel.svelte new file mode 100644 index 0000000..a7dee12 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/exceptional/ExceptionalLabel.svelte @@ -0,0 +1,10 @@ + + +
+ + {label} +
diff --git a/src/lib/components/gear-tooltip/components/exceptional/ExceptionalOptions.svelte b/src/lib/components/gear-tooltip/components/exceptional/ExceptionalOptions.svelte new file mode 100644 index 0000000..1480f34 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/exceptional/ExceptionalOptions.svelte @@ -0,0 +1,10 @@ + + +{#each convertGearOptionToSummaries(exceptionalOption) as summary} +
{summary}
+{/each} diff --git a/src/lib/components/gear-tooltip/components/exceptional/ExceptionalOptionsWrapper.svelte b/src/lib/components/gear-tooltip/components/exceptional/ExceptionalOptionsWrapper.svelte new file mode 100644 index 0000000..f7d2c26 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/exceptional/ExceptionalOptionsWrapper.svelte @@ -0,0 +1,9 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/gear-tooltip/components/exceptional/ExceptionalUpgradeCount.svelte b/src/lib/components/gear-tooltip/components/exceptional/ExceptionalUpgradeCount.svelte new file mode 100644 index 0000000..5eb134c --- /dev/null +++ b/src/lib/components/gear-tooltip/components/exceptional/ExceptionalUpgradeCount.svelte @@ -0,0 +1,19 @@ + + +{#if exceptionalUpgradeCount > 0} +
+ 익셉셔널 강화 {exceptionalUpgradeCount}회 적용 (최대 {exceptionalTotalUpgradeCount}회 강화 가능) +
+{:else} +
+ 익셉셔널 강화가 가능합니다. (최대 : {exceptionalTotalUpgradeCount}회) +
+{/if} diff --git a/src/lib/components/gear-tooltip/components/exceptional/ExceptionalWrapper.svelte b/src/lib/components/gear-tooltip/components/exceptional/ExceptionalWrapper.svelte new file mode 100644 index 0000000..4f86869 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/exceptional/ExceptionalWrapper.svelte @@ -0,0 +1,20 @@ + + +{#if exceptionalTotalUpgradeCount > 0} + {@render before?.()} +
+ {@render children()} +
+{/if} diff --git a/src/lib/components/gear-tooltip/components/potential/PotentialLabel.svelte b/src/lib/components/gear-tooltip/components/potential/PotentialLabel.svelte new file mode 100644 index 0000000..02f5154 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/potential/PotentialLabel.svelte @@ -0,0 +1,43 @@ + + +{#if grade !== PotentialGrade.Normal} +
+ + {label} +
+{/if} diff --git a/src/lib/components/gear-tooltip/components/potential/PotentialOption.svelte b/src/lib/components/gear-tooltip/components/potential/PotentialOption.svelte new file mode 100644 index 0000000..e9ed5b8 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/potential/PotentialOption.svelte @@ -0,0 +1,5 @@ + + +
{summary}
diff --git a/src/lib/components/gear-tooltip/components/potential/PotentialOptionsWrapper.svelte b/src/lib/components/gear-tooltip/components/potential/PotentialOptionsWrapper.svelte new file mode 100644 index 0000000..f7d2c26 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/potential/PotentialOptionsWrapper.svelte @@ -0,0 +1,9 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/gear-tooltip/components/potential/PotentialWrapper.svelte b/src/lib/components/gear-tooltip/components/potential/PotentialWrapper.svelte new file mode 100644 index 0000000..289cd4c --- /dev/null +++ b/src/lib/components/gear-tooltip/components/potential/PotentialWrapper.svelte @@ -0,0 +1,21 @@ + + +{#if grade !== PotentialGrade.Normal} + {@render before?.()} +
+ {@render children()} +
+{/if} diff --git a/src/lib/components/gear-tooltip/components/shape/ShapeRow.svelte b/src/lib/components/gear-tooltip/components/shape/ShapeRow.svelte new file mode 100644 index 0000000..a1c7eee --- /dev/null +++ b/src/lib/components/gear-tooltip/components/shape/ShapeRow.svelte @@ -0,0 +1,5 @@ + + +
신비의 모루에 의해 [{name}]의 외형이 합성됨
diff --git a/src/lib/components/gear-tooltip/components/shape/ShapeWrapper.svelte b/src/lib/components/gear-tooltip/components/shape/ShapeWrapper.svelte new file mode 100644 index 0000000..4ad628e --- /dev/null +++ b/src/lib/components/gear-tooltip/components/shape/ShapeWrapper.svelte @@ -0,0 +1,21 @@ + + +{#if shape} + {@render before?.()} +
+ {@render children()} +
+{/if} diff --git a/src/lib/components/gear-tooltip/components/soul/SoulChargeRow.svelte b/src/lib/components/gear-tooltip/components/soul/SoulChargeRow.svelte new file mode 100644 index 0000000..977a3fc --- /dev/null +++ b/src/lib/components/gear-tooltip/components/soul/SoulChargeRow.svelte @@ -0,0 +1,17 @@ + + +
+ 소울 충전량 {charge}/1000 (공:+{option.attackPower},마:+{option.magicPower}) +
diff --git a/src/lib/components/gear-tooltip/components/soul/SoulNameRow.svelte b/src/lib/components/gear-tooltip/components/soul/SoulNameRow.svelte new file mode 100644 index 0000000..623dc61 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/soul/SoulNameRow.svelte @@ -0,0 +1,7 @@ + + +{#if name} +
{name} 적용
+{/if} diff --git a/src/lib/components/gear-tooltip/components/soul/SoulOptionRow.svelte b/src/lib/components/gear-tooltip/components/soul/SoulOptionRow.svelte new file mode 100644 index 0000000..b676be6 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/soul/SoulOptionRow.svelte @@ -0,0 +1,16 @@ + + +{#if option} +
{getSoulOptionString(option)}
+{/if} diff --git a/src/lib/components/gear-tooltip/components/soul/SoulSkillRow.svelte b/src/lib/components/gear-tooltip/components/soul/SoulSkillRow.svelte new file mode 100644 index 0000000..57a2fb8 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/soul/SoulSkillRow.svelte @@ -0,0 +1,9 @@ + + +{#if skill} +
소울 충전 시 '{skill}' 사용가능
+{:else} +
소울 충전 시 '---' 사용가능
+{/if} diff --git a/src/lib/components/gear-tooltip/components/soul/SoulWrapper.svelte b/src/lib/components/gear-tooltip/components/soul/SoulWrapper.svelte new file mode 100644 index 0000000..1acf397 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/soul/SoulWrapper.svelte @@ -0,0 +1,20 @@ + + +{#if soulEnchanted} + {@render before?.()} +
+ {@render children()} +
+{/if} diff --git a/src/lib/components/gear-tooltip/components/summary/Digit.svelte b/src/lib/components/gear-tooltip/components/summary/Digit.svelte new file mode 100644 index 0000000..07c5129 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/summary/Digit.svelte @@ -0,0 +1,18 @@ + + + diff --git a/src/lib/components/gear-tooltip/components/summary/Incline.svelte b/src/lib/components/gear-tooltip/components/summary/Incline.svelte new file mode 100644 index 0000000..97d1fc6 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/summary/Incline.svelte @@ -0,0 +1,65 @@ + + +
+
{label}{' '}
+
+ {#if sign} + {@render signImage(sign, size)} + {/if} + {#each digits.split('') as digit} + {@render digitImage(digit, size, diff < 0)} + {/each} +
+
+ +{#snippet signImage(sign: '+' | '-', size: Size)} + +{/snippet} + +{#snippet digitImage(digit: string, size: Size, isDecline: boolean)} + +{/snippet} diff --git a/src/lib/components/gear-tooltip/components/summary/SummaryDetailWrapper.svelte b/src/lib/components/gear-tooltip/components/summary/SummaryDetailWrapper.svelte new file mode 100644 index 0000000..0b37b5e --- /dev/null +++ b/src/lib/components/gear-tooltip/components/summary/SummaryDetailWrapper.svelte @@ -0,0 +1,9 @@ + + +
+ {@render children()} +
diff --git a/src/lib/components/gear-tooltip/components/summary/SummaryWrapper.svelte b/src/lib/components/gear-tooltip/components/summary/SummaryWrapper.svelte new file mode 100644 index 0000000..8d01109 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/summary/SummaryWrapper.svelte @@ -0,0 +1,9 @@ + + +
+ {@render children()} +
diff --git a/src/lib/components/gear-tooltip/components/summary/diff/DiffExtra.svelte b/src/lib/components/gear-tooltip/components/summary/diff/DiffExtra.svelte new file mode 100644 index 0000000..32a7ec7 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/summary/diff/DiffExtra.svelte @@ -0,0 +1,47 @@ + + +
+ +
+ {#if value > 0} + + {:else if value < 0} + + {/if} + {#each digits.split('') as digit} + + {/each} + {#if percent} + + {/if} +
+
diff --git a/src/lib/components/gear-tooltip/components/summary/diff/DiffExtraWrapper.svelte b/src/lib/components/gear-tooltip/components/summary/diff/DiffExtraWrapper.svelte new file mode 100644 index 0000000..ba54230 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/summary/diff/DiffExtraWrapper.svelte @@ -0,0 +1,9 @@ + + +
+ {@render children()} +
diff --git a/src/lib/components/gear-tooltip/components/summary/icon/Icon.svelte b/src/lib/components/gear-tooltip/components/summary/icon/Icon.svelte new file mode 100644 index 0000000..e38ca03 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/summary/icon/Icon.svelte @@ -0,0 +1,43 @@ + + +
+ {#if iconBorder} + + {/if} + +
+ +
+
+ + {#if newBonus} + + {/if} + + +
diff --git a/src/lib/components/gear-tooltip/components/summary/icon/IconWrapper.svelte b/src/lib/components/gear-tooltip/components/summary/icon/IconWrapper.svelte new file mode 100644 index 0000000..587987d --- /dev/null +++ b/src/lib/components/gear-tooltip/components/summary/icon/IconWrapper.svelte @@ -0,0 +1,9 @@ + + +
+ {@render children()} +
diff --git a/src/lib/components/gear-tooltip/components/summary/req/ReqLevel.svelte b/src/lib/components/gear-tooltip/components/summary/req/ReqLevel.svelte new file mode 100644 index 0000000..a6e6d9c --- /dev/null +++ b/src/lib/components/gear-tooltip/components/summary/req/ReqLevel.svelte @@ -0,0 +1,57 @@ + + +
+ + {#each digits.split('') as digit} + {#if digit === '_'} + + {:else} + + {/if} + {/each} + {#if vary != 0} + + + {#each baseDigits.split('') as digit} + + {/each} + {#if vary > 0} + + {:else if vary < 0} + + {/if} + {#each varyDigits.split('') as digit} + + {/each} + + {/if} +
diff --git a/src/lib/components/gear-tooltip/components/summary/req/ReqRow.svelte b/src/lib/components/gear-tooltip/components/summary/req/ReqRow.svelte new file mode 100644 index 0000000..37ca25e --- /dev/null +++ b/src/lib/components/gear-tooltip/components/summary/req/ReqRow.svelte @@ -0,0 +1,9 @@ + + +
+ {@render children()} +
diff --git a/src/lib/components/gear-tooltip/components/summary/req/ReqStat.svelte b/src/lib/components/gear-tooltip/components/summary/req/ReqStat.svelte new file mode 100644 index 0000000..f62abed --- /dev/null +++ b/src/lib/components/gear-tooltip/components/summary/req/ReqStat.svelte @@ -0,0 +1,47 @@ + + +
+ + {#each digits.split('') as digit} + + {/each} +
diff --git a/src/lib/components/gear-tooltip/components/summary/req/ReqWrapper.svelte b/src/lib/components/gear-tooltip/components/summary/req/ReqWrapper.svelte new file mode 100644 index 0000000..d4e20ac --- /dev/null +++ b/src/lib/components/gear-tooltip/components/summary/req/ReqWrapper.svelte @@ -0,0 +1,9 @@ + + +
+ {@render children()} +
diff --git a/src/lib/components/gear-tooltip/components/title/NameTitle.svelte b/src/lib/components/gear-tooltip/components/title/NameTitle.svelte new file mode 100644 index 0000000..3609dc9 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/title/NameTitle.svelte @@ -0,0 +1,14 @@ + + +
+ {name} + {#if scrollUpgradeCount > 0} + (+{scrollUpgradeCount}) + {/if} +
diff --git a/src/lib/components/gear-tooltip/components/title/SoulTitle.svelte b/src/lib/components/gear-tooltip/components/title/SoulTitle.svelte new file mode 100644 index 0000000..578fd31 --- /dev/null +++ b/src/lib/components/gear-tooltip/components/title/SoulTitle.svelte @@ -0,0 +1,7 @@ + + +{#if soulName} +
{soulName.replace(/소울$/, '')}
+{/if} diff --git a/src/lib/components/gear-tooltip/components/title/TitleWrapper.svelte b/src/lib/components/gear-tooltip/components/title/TitleWrapper.svelte new file mode 100644 index 0000000..be4f79c --- /dev/null +++ b/src/lib/components/gear-tooltip/components/title/TitleWrapper.svelte @@ -0,0 +1,9 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/gear-tooltip/index.ts b/src/lib/components/gear-tooltip/index.ts new file mode 100644 index 0000000..38c453c --- /dev/null +++ b/src/lib/components/gear-tooltip/index.ts @@ -0,0 +1 @@ +export { default as GearTooltip } from './GearTooltip.svelte'; diff --git a/src/lib/components/gear-tooltip/model/parser.test.ts b/src/lib/components/gear-tooltip/model/parser.test.ts new file mode 100644 index 0000000..accf832 --- /dev/null +++ b/src/lib/components/gear-tooltip/model/parser.test.ts @@ -0,0 +1,88 @@ +import { describe, expect, it } from 'vitest'; +import { parseColorString } from './parser'; + +describe('parseColorString', () => { + const classTable = { c: 'orange', d: 'blue' }; + + it('should return string as is if no #c is found', () => { + const input = '진한 악몽의 힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(input); + }); + + it('should convert #c to span with class', () => { + const input = '#c진한# 악몽의 힘이 담겨있다.'; + const expected = '진한 악몽의 힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(expected); + }); + + it('should ignore # without opening tag', () => { + const input = '#진한# 악몽의 #힘이 담겨있다.'; + const expected = '진한 악몽의 힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(expected); + }); + + it('should only replace add space for multiple #c without closing tag', () => { + const input = '#c진한 악몽의#c힘이# 담겨있다.'; + const expected = '진한 악몽의 힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(expected); + }); + + it('should convert multiple #c to spans with class', () => { + const input = '#c진한# 악몽의 #c힘이# 담겨있다.'; + const expected = + '진한 악몽의 힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(expected); + }); + + it('should close #c first then open #d', () => { + const input = '#c진한 악몽의 #d힘이# 담겨있다.'; + const expected = + '진한 악몽의 힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(expected); + }); + + it('should insert space in between #c and text', () => { + const input = '진한#c악몽의# 힘이 담겨있다.'; + const expected = '진한악몽의 힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(expected); + }); + + it('should insert space in between # and text', () => { + const input = '진한 #c악몽의#힘이 담겨있다.'; + const expected = '진한 악몽의힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(expected); + }); + + it('should handle unclosed tags', () => { + const input = '#c진한 악몽의 힘이 담겨있다.'; + const expected = '진한 악몽의 힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(expected); + }); +}); diff --git a/src/lib/components/gear-tooltip/model/parser.ts b/src/lib/components/gear-tooltip/model/parser.ts new file mode 100644 index 0000000..239a024 --- /dev/null +++ b/src/lib/components/gear-tooltip/model/parser.ts @@ -0,0 +1,70 @@ +export function parseColorString( + text: string, + classTable: Record = { c: 'gt--orange' } +) { + text = text.replaceAll(/(\\r)?\\n/g, '\n').replaceAll('\\r', ' '); + + if (!text.includes('#')) { + return text; + } + + const result: string[] = []; + let currentColor: string | undefined = undefined; + let lastIndex = 0; + while (true) { + const nextIndex = text.indexOf('#', lastIndex); + if (nextIndex === -1) { + break; + } + + const type = text[nextIndex + 1]; + const color = type ? classTable[type] : undefined; + + if (color) { + // Current tag is opening tag + // Flush the text before the tag + if (nextIndex > lastIndex) { + result.push(text.substring(lastIndex, nextIndex)); + } + // If current color is different from the previous color + if (currentColor !== color) { + // Close previous color tag + if (currentColor !== undefined) { + result.push(''); + } + // Open current color tag + result.push(``); + currentColor = color; + } else { + // If current color is the same as the previous color, just add space + result.push(' '); + } + lastIndex = nextIndex + 2; + } else { + // Current tag is closing tag + // Flush the text before the tag + if (nextIndex > lastIndex) { + result.push(text.substring(lastIndex, nextIndex)); + } + // Close previous color tag + if (currentColor !== undefined) { + result.push(''); + currentColor = undefined; + } else { + // If there is no opening tag, just add space + result.push(' '); + } + lastIndex = nextIndex + 1; + } + } + // Flush the remaining text + if (lastIndex < text.length) { + result.push(text.substring(lastIndex)); + // Close the last color tag + if (currentColor !== undefined) { + result.push(''); + } + } + + return result.join('').trim(); +} diff --git a/src/lib/components/gear-tooltip/model/strings.ts b/src/lib/components/gear-tooltip/model/strings.ts new file mode 100644 index 0000000..97b0be8 --- /dev/null +++ b/src/lib/components/gear-tooltip/model/strings.ts @@ -0,0 +1,602 @@ +import { + GearAttribute, + GearCapability, + GearCuttable, + GearShare, + GearTrade, + GearType, + type GearOption +} from '@malib/gear'; + +export function getTags({ only, trade, onlyEquip, share, canPotential }: Partial) { + const tags = []; + if (only) { + tags.push('고유 아이템'); + } + if (trade === GearTrade.TradeBlock) { + tags.push('교환 불가'); + } else if (trade === GearTrade.EquipTradeBlock) { + tags.push('장착 시 교환 불가'); + } + if (onlyEquip) { + tags.push('고유장착 아이템'); + } + if (share === GearShare.AccountSharable) { + tags.push('월드 내 나의 캐릭터간 이동만 가능'); + } else if (share === GearShare.AccountSharableOnce) { + tags.push('월드 내 나의 캐릭터 간 1회 이동 가능', '(이동 후 교환불가)'); + } + if (canPotential === GearCapability.Fixed) { + tags.push('잠재능력 재설정 불가'); + } + return tags; +} + +export function getDescriptions({ + desc, + trade, + cuttable, + accountShareTag, + lucky, + incline, + starScroll +}: Partial & { desc?: string; starScroll: boolean }) { + const descs: string[] = []; + + if (desc) { + descs.push(desc); + } + if (trade !== GearTrade.Tradeable) { + if (cuttable === GearCuttable.Silver) { + descs.push( + '#c카르마의 가위 또는 실버 카르마의 가위를 사용하면 1회 교환이 가능하게 할 수 있습니다.#' + ); + } else if (cuttable === GearCuttable.Platinum) { + descs.push('#c플래티넘 카르마의 가위를 사용하면 1회 교환이 가능하게 할 수 있습니다.#'); + } + } + if (accountShareTag) { + descs.push('#c쉐어 네임 텍을 사용하면 월드 내 나의 캐릭터 간 1회 이동할 수 있습니다.#'); + } + if (lucky) { + descs.push( + '#c3개 이상 착용하고 있는 모든 세트 아이템에 포함되는 럭키 아이템! (단, 2개 이상의 럭키 아이템 착용 시 1개만 효과 적용.)#' + ); + } + + if (incline) { + const traits = [ + ['카리스마', incline.charisma], + ['통찰력', incline.insight], + ['의지', incline.will], + ['손재주', incline.craft], + ['감성', incline.sense], + ['매력', incline.charm] + ] as const; + const str = traits + .filter(([, value]) => value > 0) + .map(([name, value]) => `${name} ${value}`) + .join(', '); + descs.push( + `#c장착 시 1회에 한해 ${str}의 경험치를 얻을 수 있습니다. (일일제한, 최대치 초과 시 제외)#` + ); + } + + if (starScroll) { + descs.push('#c놀라운 장비강화 주문서가 사용되었습니다.#'); + } + + return descs; +} + +export function getExtraJobReqString(type: GearType) { + switch (type) { + // 0xxx + case GearType.medallion: + return '히어로 직업군 착용 가능'; + case GearType.rosary: + return '팔라딘 직업군 착용 가능'; + case GearType.ironChain: + return '다크나이트 직업군 착용 가능'; + case GearType.magicBook1: + return '불,독 계열 마법사 착용 가능'; + case GearType.magicBook2: + return '얼음,번개 계열 마법사 착용 가능'; + case GearType.magicBook3: + return '비숍 계열 마법사 착용 가능'; + case GearType.arrowFletching: + return '보우마스터 직업군 착용 가능'; + case GearType.bowThimble: + return '신궁 직업군 착용 가능'; + case GearType.daggerScabbard: + return '섀도어 직업군 착용 가능'; + case GearType.charm: + return '나이트로드 직업군 착용 가능'; + case GearType.katara: + return '듀얼블레이드 직업군 착용 가능'; + case GearType.wristBand: + return '바이퍼 직업군 착용 가능'; + case GearType.farSight: + return '캡틴 직업군 착용 가능'; + case GearType.powderKeg: + return '캐논 슈터 직업군 착용 가능'; + case GearType.relic: + return '패스파인더 직업군 착용 가능'; + + // 1xxx + case GearType.jewel: + return '시그너스 기사단 착용 가능'; + + // 2xxx + case GearType.mass: + return getExtraJobReqStringByJob(21); + case GearType.document: + return getExtraJobReqStringByJob(22); + case GearType.magicArrow: + return getExtraJobReqStringByJob(23); + case GearType.card: + return getExtraJobReqStringByJob(24); + case GearType.foxMarble: + return getExtraJobReqStringByJob(25); + case GearType.orb: + case GearType.shiningRod: + return getExtraJobReqStringByJob(27); + + // 3xxx + case GearType.demonShield: + return getExtraJobReqStringByJob(31); + case GearType.desperado: + return '데몬 어벤져 착용 가능'; + case GearType.magicMarble: + return '배틀메이지 직업군 착용 가능'; + case GearType.arrowhead: + return '와일드헌터 직업군 착용 가능'; + case GearType.magnum: + return '메카닉 착용 가능'; + case GearType.controller: + case GearType.powerSource: + case GearType.energySword: + return getExtraJobReqStringByJob(36); + case GearType.gauntletRevolver: + case GearType.charge: + return getExtraJobReqStringByJob(37); + + // 5xxx + case GearType.soulShield: + return '미하일 착용 가능'; + + // 6xxx + case GearType.dragonEssence: + return getExtraJobReqStringByJob(61); + case GearType.breathShooter: + case GearType.weaponBelt: + return getExtraJobReqStringByJob(63); + case GearType.chain: + case GearType.transmitter: + return getExtraJobReqStringByJob(64); + case GearType.soulRing: + case GearType.soulShooter: + return getExtraJobReqStringByJob(65); + + // 10xxx + case GearType.heavySword: + case GearType.longSword: + return getExtraJobReqStringByJob(101); + + case GearType.espLimiter: + case GearType.chessPiece: + return getExtraJobReqStringByJob(142); + + case GearType.magicGauntlet: + case GearType.magicWing: + return getExtraJobReqStringByJob(152); + + case GearType.pathOfAbyss: + return getExtraJobReqStringByJob(155); + + case GearType.ritualFan: + case GearType.fanTassel: + return getExtraJobReqStringByJob(164); + + case GearType.tuner: + case GearType.bracelet: + return getExtraJobReqStringByJob(151); + + case GearType.ornament: + return getExtraJobReqStringByJob(162); + + case GearType.chakram: + case GearType.hexSeeker: + return getExtraJobReqStringByJob(154); + } +} + +function getExtraJobReqStringByJob(specJob: number) { + switch (specJob) { + case 21: + return '아란 착용 가능'; + case 22: + return '에반 착용 가능'; + case 23: + return '메르세데스 착용가능'; + case 24: + return '팬텀 착용 가능'; + case 25: + return '은월 착용 가능'; + case 27: + return '루미너스 착용 가능'; + case 31: + return '데몬 직업군 착용 가능'; + case 36: + return '제논 착용 가능'; + case 37: + return '블래스터 착용 가능'; + case 51: + return '미하일 착용 가능'; + case 61: + return '카이저 착용 가능'; + case 63: + return '카인 착용 가능'; + case 64: + return '카데나 착용 가능'; + case 65: + return '엔젤릭 버스터 착용 가능'; + case 101: + return '제로 착용 가능'; + case 142: + return '키네시스 착용 가능'; + case 151: + return '아델 착용 가능'; + case 152: + return '일리움 착용 가능'; + case 154: + return '칼리 착용 가능'; + case 155: + return '아크 착용 가능'; + case 162: + return '라라 착용 가능'; + case 164: + return '호영 착용 가능'; + } +} + +export function getGearTypeString(type: GearType) { + switch (type) { + case GearType.faceAccessory: + return '얼굴장식'; + case GearType.eyeAccessory: + return '눈장식'; + case GearType.earrings: + return '귀고리'; + case GearType.pendant: + return '펜던트'; + case GearType.belt: + return '벨트'; + case GearType.medal: + return '훈장'; + case GearType.shoulder: + return '어깨장식'; + case GearType.cap: + return '모자'; + case GearType.cape: + return '망토'; + case GearType.coat: + return '상의'; + case GearType.dragonMask: + return '드래곤 모자'; + case GearType.dragonPendant: + return '드래곤 펜던트'; + case GearType.dragonWings: + return '드래곤 날개장식'; + case GearType.dragonTail: + return '드래곤 꼬리장식'; + case GearType.glove: + return '장갑'; + case GearType.longcoat: + return '한벌옷'; + case GearType.machineEngine: + return '메카닉 엔진'; + case GearType.machineArms: + return '메카닉 암'; + case GearType.machineLegs: + return '메카닉 레그'; + case GearType.machineBody: + return '메카닉 프레임'; + case GearType.machineTransistors: + return '메카닉 트랜지스터'; + case GearType.pants: + return '하의'; + case GearType.ring: + return '반지'; + case GearType.shield: + return '방패'; + case GearType.shoes: + return '신발'; + case GearType.shiningRod: + return '샤이닝 로드'; + case GearType.soulShooter: + return '소울 슈터'; + case GearType.ohSword: + return '한손검'; + case GearType.ohAxe: + return '한손도끼'; + case GearType.ohBlunt: + return '한손둔기'; + case GearType.dagger: + return '단검'; + case GearType.katara: + return '블레이드'; + case GearType.magicArrow: + return '마법화살'; + case GearType.card: + return '카드'; + case GearType.orb: + return '오브'; + case GearType.dragonEssence: + return '용의 정수'; + case GearType.soulRing: + return '소울링'; + case GearType.magnum: + return '매그넘'; + case GearType.cane: + return '케인'; + case GearType.wand: + return '완드'; + case GearType.staff: + return '스태프'; + case GearType.thSword: + return '두손검'; + case GearType.thAxe: + return '두손도끼'; + case GearType.thBlunt: + return '두손둔기'; + case GearType.spear: + return '창'; + case GearType.polearm: + return '폴암'; + case GearType.bow: + return '활'; + case GearType.crossbow: + return '석궁'; + case GearType.claw: + return '아대'; + case GearType.knuckle: + return '너클'; + case GearType.gun: + return '건'; + case GearType.android: + return '안드로이드'; + case GearType.machineHeart: + return '기계 심장'; + case GearType.pickaxe: + return '채광 도구'; + case GearType.shovel: + return '약초채집 도구'; + case GearType.pocket: + return '포켓 아이템'; + case GearType.dualBowguns: + return '듀얼 보우건'; + case GearType.handCannon: + return '핸드캐논'; + case GearType.badge: + return '뱃지'; + case GearType.emblem: + return '엠블렘'; + case GearType.soulShield: + return '소울실드'; + case GearType.demonShield: + return '포스실드'; + case GearType.petEquip: + return '펫장비'; + case GearType.heavySword: + return '대검'; + case GearType.longSword: + return '태도'; + case GearType.medallion: + return '메달'; + case GearType.rosary: + return '로자리오'; + case GearType.ironChain: + return '쇠사슬'; + case GearType.magicBook1: + case GearType.magicBook2: + case GearType.magicBook3: + return '마도서'; + case GearType.arrowFletching: + return '화살깃'; + case GearType.bowThimble: + return '활골무'; + case GearType.daggerScabbard: + return '단검용 검집'; + case GearType.charm: + return '부적'; + case GearType.wristBand: + return '리스트밴드'; + case GearType.farSight: + return '조준기'; + case GearType.powderKeg: + case GearType.powderKeg2: + return '화약통'; + case GearType.mass: + return '무게추'; + case GearType.document: + return '문서'; + case GearType.magicMarble: + return '마법구슬'; + case GearType.arrowhead: + return '화살촉'; + case GearType.jewel: + return '보석'; + case GearType.controller: + return '컨트롤러'; + case GearType.foxMarble: + return '여우 구슬'; + case GearType.chessPiece: + return '체스피스'; + case GearType.powerSource: + return '파워소스'; + + case GearType.energySword: + return '에너지소드'; + case GearType.desperado: + return '데스페라도'; + case GearType.espLimiter: + return 'ESP 리미터'; + + case GearType.gauntletRevolver: + return '건틀렛 리볼버'; + case GearType.charge: + return '장약'; + + case GearType.chain: + return '체인'; + case GearType.magicGauntlet: + return '매직 건틀렛'; + case GearType.transmitter: + return '무기 전송장치'; + case GearType.magicWing: + return '매직윙'; + case GearType.pathOfAbyss: + return '패스 오브 어비스'; + + case GearType.relic: + return '렐릭'; + case GearType.ancientBow: + return '에인션트 보우'; + + case GearType.ritualFan: + return '부채'; + case GearType.fanTassel: + return '선추'; + + case GearType.tuner: + return '튜너'; + case GearType.bracelet: + return '브레이슬릿'; + + case GearType.breathShooter: + return '브레스 슈터'; + case GearType.weaponBelt: + return '웨폰 벨트'; + + case GearType.ornament: + return '노리개'; + + case GearType.chakram: + return '차크람'; + case GearType.hexSeeker: + return '헥스시커'; + } +} + +export function getGearOptionString(type: keyof GearOption, value: number) { + if (value !== 0) { + switch (type) { + case 'str': + return `STR : +${value}`; + case 'dex': + return `DEX : +${value}`; + case 'int': + return `INT : +${value}`; + case 'luk': + return `LUK : +${value}`; + case 'maxHp': + return `최대 HP : +${value}`; + case 'maxMp': + return `최대 MP : +${value}`; + case 'maxHpRate': + return `최대 HP : +${value}%`; + case 'maxMpRate': + return `최대 MP : +${value}%`; + case 'maxDemonForce': + return `MaxDF : +${value}`; + case 'attackPower': + return `공격력 : +${value}`; + case 'magicPower': + return `마력 : +${value}`; + case 'armor': + return `방어력 : +${value}`; + case 'speed': + return `이동속도 : +${value}`; + case 'jump': + return `점프력 : +${value}`; + case 'bossDamage': + return `보스 몬스터 공격 시 데미지 +${value}%`; + case 'ignoreMonsterArmor': + return `몬스터 방어율 무시 : +${value}%`; + case 'damage': + return `데미지 : +${value}%`; + case 'allStat': + return `올스탯 : +${value}%`; + } + } + return ''; +} + +export function getCorrectedGearOptionString(type: keyof GearOption, value: number) { + if (type === 'bossDamage') { + return `보스 몬스터 공격 시 데미지 : +${value}%`; + } + return getGearOptionString(type, value); +} + +export function convertGearOptionToSummaries(option: Partial) { + const strings: string[] = []; + let value: number; + + // str, dex, int, luk + if ((value = equalValueOrZero(option, ['str', 'dex', 'int', 'luk'])) !== 0) { + strings.push(`올스탯 : +${value}`); + } else { + pushNonEmptyOptionStrings(strings, option, ['str', 'dex', 'int', 'luk']); + } + // maxHp, maxMp + if ((value = equalValueOrZero(option, ['maxHp', 'maxMp'])) !== 0) { + strings.push(`최대 HP / 최대 MP : +${value}`); + } else { + pushNonEmptyOptionStrings(strings, option, ['maxHp', 'maxMp']); + } + // maxHpRate, maxMpRate, maxDemonForce + pushNonEmptyOptionStrings(strings, option, ['maxHpRate', 'maxMpRate', 'maxDemonForce']); + // attackPower, magicPower + if ((value = equalValueOrZero(option, ['attackPower', 'magicPower'])) !== 0) { + strings.push(`공격력 / 마력 : +${option.attackPower}`); + } else { + pushNonEmptyOptionStrings(strings, option, ['maxHp', 'maxMp']); + } + // armor, speed, jump, knockback, bossDamage, ignoreMonsterArmor, damage, allStat + pushNonEmptyOptionStrings(strings, option, [ + 'armor', + 'speed', + 'jump', + 'bossDamage', + 'ignoreMonsterArmor', + 'damage', + 'allStat' + ]); + + return strings; +} + +function equalValueOrZero(option: Partial, types: (keyof GearOption)[]) { + const values = types.map((type) => option[type]); + const value = values[0] ?? 0; + if (value !== 0 && values.every((v) => v === value)) { + return value; + } else { + return 0; + } +} + +function pushNonEmptyOptionStrings( + strings: string[], + option: Partial, + types: (keyof GearOption)[] +) { + for (const type of types) { + const value = option[type] ?? 0; + if (value !== 0) { + strings.push(getCorrectedGearOptionString(type, value)); + } + } +} diff --git a/src/lib/components/gear-tooltip/tooltip.css b/src/lib/components/gear-tooltip/tooltip.css new file mode 100644 index 0000000..3a65c67 --- /dev/null +++ b/src/lib/components/gear-tooltip/tooltip.css @@ -0,0 +1,62 @@ +.gt--detail { + font-family: 'Dotum'; + font-size: 11px; + line-height: 15px; + white-space: pre-wrap; +} + +.gt--title { + font-family: 'Dotum'; + font-weight: bold; + font-size: 14px; + line-height: 19px; + text-align: center; + text-wrap: balance; + white-space: pre-wrap; +} + +.gt--soul { + font-family: 'Dotum'; + font-size: 12px; + line-height: 16px; +} + +.gt--white { + color: rgb(255, 255, 255); +} +.gt--red { + color: rgb(255, 0, 102); +} +.gt--red2 { + color: rgb(255, 51, 51); +} +.gt--orange { + color: rgb(255, 170, 0); +} +.gt--orange2 { + color: rgb(255, 204, 0); +} +.gt--orange3 { + color: rgb(255, 136, 17); +} +.gt--yellow { + color: rgb(255, 255, 68); +} +.gt--green { + color: rgb(204, 255, 0); +} +.gt--blue { + color: rgb(102, 255, 255); +} +.gt--purple { + color: rgb(153, 102, 255); +} +.gt--purple2 { + color: rgb(170, 170, 255); +} +.gt--gray { + color: rgb(187, 187, 187); +} +.gt--gray2 { + color: rgb(153, 153, 153); +} diff --git a/src/lib/components/gear-tooltip2/GearTooltip.svelte b/src/lib/components/gear-tooltip2/GearTooltip.svelte new file mode 100644 index 0000000..11243d7 --- /dev/null +++ b/src/lib/components/gear-tooltip2/GearTooltip.svelte @@ -0,0 +1,311 @@ + + +
+ + + {#if gear.star >= 23} + + {/if} + + {#if gear.itemTag} + + {/if} + + {#if gear.attributes.specialGrade} + + {/if} + {#if topAttributeStrings.length > 0} + {#each topAttributeStrings as html} + + {/each} + {/if} + + + + +
+
+ + +
+
+ + + + {#if 'equipped' in incline} + + {:else if cannot.job || cannot.level} + + {:else} +
+ {#if incline.combat > 0} + + {:else if incline.combat < 0} + + {:else} + + {/if} +
+ {/if} + +
+ {#each getCategories(gear.type) as category} + + {/each} +
+
+
+ +
+ {#if gear.shape} +
+ + +
+ {/if} +
+ + +
+ {#if gear.req.level > 0 || gear.req.levelIncrease > 0 || gear.req.gender !== undefined} +
+ {#if gear.req.level > 0 || gear.req.levelIncrease > 0} +
+ + +
+ {/if} + {#if gender} +
+ + +
+ {/if} +
+ {/if} +
+ +
+ + + + {#if gear.attributes.setItemId || gear.attributes.lucky} +
+ + +
+ {/if} + {#if gear.attributes.attackSpeed || isWeapon(gear.type) || gear.type === GearType.katara} +
+ + +
+ {/if} +
+ {#each stats as stat} + + {/each} +
+ {#if gear.desc} + + + {/if} + {#if gear.attributes.superior} + + + {/if} +
+ {#if isEnhanceable(gear.type)} + + + {#if expand} + + + + {:else} + + {#if gear.attributes.canScroll !== GearCapability.Cannot} + + {/if} + + {/if} + + + + + {#if isEnhanceable(gear.type)} + + + {#if gear.potentials.length > 0} + {#each gear.potentials as potential} + + {/each} + {/if} + + + {#if gear.additionalPotentials.length > 0} + {#each gear.additionalPotentials as additionalPotential} + + {/each} + {/if} + {#if gear.exceptionalTotalUpgradeableCount > 0} + + + {/if} + {#if isWeapon(gear.type)} + + + {/if} + {/if} + + {/if} + {#if attributeStrings.length > 0} + + + {#each attributeStrings as html} + + {/each} + + {/if} + +
diff --git a/src/lib/components/gear-tooltip2/font-render/FontRender.svelte.ts b/src/lib/components/gear-tooltip2/font-render/FontRender.svelte.ts new file mode 100644 index 0000000..e1d630e --- /dev/null +++ b/src/lib/components/gear-tooltip2/font-render/FontRender.svelte.ts @@ -0,0 +1,49 @@ +export type FontCharacter = { + codePoint: number; + width: number; + height: number; + bits: boolean[]; +}; + +export class FontRender { + isLoading = $state(true); + private bytes: Uint8Array | undefined = undefined; + private indexMap = new Map(); + + constructor(loadFontBinary: Promise) { + loadFontBinary + .then((buffer) => { + this.bytes = new Uint8Array(buffer); + for (let i = 0; i < this.bytes.length; ) { + const codePointLow = this.bytes[i]; + const codePointHigh = this.bytes[i + 1]; + const codePoint = (codePointHigh << 8) | codePointLow; + const width = this.bytes[i + 2]; + const height = this.bytes[i + 3]; + const length = Math.ceil((width * height) / 8); + this.indexMap.set(codePoint, i); + i += 4 + length; + } + }) + .finally(() => (this.isLoading = false)); + } + + getCharacter(codePoint: number): FontCharacter | undefined { + if (!this.bytes) throw new Error('Font bytes not loaded'); + + const index = this.indexMap.get(codePoint); + if (index === undefined) return undefined; + + const width = this.bytes[index + 2]; + const height = this.bytes[index + 3]; + const bits = new Array(width * height); + + for (let i = 0; i < bits.length; i++) { + const byteIndex = Math.floor(i / 8); + const bitIndex = i % 8; + bits[i] = (this.bytes[index + 4 + byteIndex] & (1 << bitIndex)) !== 0; + } + + return { codePoint, width, height, bits }; + } +} diff --git a/src/lib/components/gear-tooltip2/font-render/FontRenderContext.ts b/src/lib/components/gear-tooltip2/font-render/FontRenderContext.ts new file mode 100644 index 0000000..4b0cc8f --- /dev/null +++ b/src/lib/components/gear-tooltip2/font-render/FontRenderContext.ts @@ -0,0 +1,11 @@ +import { getContext } from 'svelte'; +import type { FontRender } from './FontRender.svelte.js'; + +export type FontRenderState = { + itemDetailFontRender: FontRender | undefined; +}; + +export function useFontRenderContext(): FontRenderState { + const { itemDetailFontRender } = getContext('FontRenderProvider'); + return { itemDetailFontRender }; +} diff --git a/src/lib/components/gear-tooltip2/font-render/FontRenderProvider.svelte b/src/lib/components/gear-tooltip2/font-render/FontRenderProvider.svelte new file mode 100644 index 0000000..e11dda9 --- /dev/null +++ b/src/lib/components/gear-tooltip2/font-render/FontRenderProvider.svelte @@ -0,0 +1,21 @@ + + +{@render children?.()} diff --git a/src/lib/components/gear-tooltip2/index.ts b/src/lib/components/gear-tooltip2/index.ts new file mode 100644 index 0000000..3b7e90a --- /dev/null +++ b/src/lib/components/gear-tooltip2/index.ts @@ -0,0 +1,2 @@ +export { default as GearTooltip } from './GearTooltip.svelte'; +export { default as FontRenderProvider } from '$lib/components/gear-tooltip2/font-render/FontRenderProvider.svelte'; diff --git a/src/lib/components/gear-tooltip2/model/attribute.ts b/src/lib/components/gear-tooltip2/model/attribute.ts new file mode 100644 index 0000000..20e495b --- /dev/null +++ b/src/lib/components/gear-tooltip2/model/attribute.ts @@ -0,0 +1,78 @@ +import { + GearAttribute, + GearCuttable, + GearShare, + GearTrade, + type GearAttributeData +} from '@malib/gear'; + +export function getTopAttributeHtmlStrings( + attributes: GearAttributeData | GearAttribute +): string[] { + const result: string[] = []; + let temp: string[] = []; + + // 교환 + if (attributes.trade === GearTrade.TradeBlock) { + temp.push('#$r교환 불가#'); + } else if (attributes.trade === GearTrade.EquipTradeBlock) { + temp.push('#$r장착 시 교환 불가#'); + } + if (attributes.cuttableCount !== undefined) { + const cuttableText = `#$r(가위 사용 잔여 횟수 : ${attributes.cuttableCount} / ${attributes.totalCuttableCount})#`; + temp.push(cuttableText); + } + if (temp.length > 0) { + result.push(temp.join(' ')); + temp = []; + } + + // 계정 내 이동 + if (attributes.share === GearShare.AccountSharableOnce) { + result.push('#$r월드 내 나의 캐릭터 간 1회 이동 가능 (이동 후 교환불가)#'); + } else if (attributes.share === GearShare.AccountSharable) { + result.push('#$r월드 내 나의 캐릭터 간 이동만 가능#'); + } + + return result; +} + +export function getAttributeHtmlStrings( + attributes: GearAttributeData | GearAttribute, + exclusiveEquips: string[] +): string[] { + const result: string[] = []; + let temp: string[] = []; + + // 카르마의 가위 + if (attributes.trade === GearTrade.TradeBlock) + if (attributes.cuttable === GearCuttable.Silver) { + result.push('#$g카르마의 가위 또는 실버 카르마의 가위 사용 시 1회 교환 가능#'); + } else if (attributes.cuttable === GearCuttable.Platinum) { + result.push('#$g플래티넘 카르마의 가위 사용 시 1회 교환 가능#'); + } + + // 쉐어 네임 택 + if (attributes.accountShareTag) { + result.push('#c쉐어 네임 텍을 사용하면 월드 내 나의 캐릭터 간 1회 이동할 수 있습니다.#'); + } + + // TODO: 모루 불가 + + // 중복 소지/장착 + if (attributes.only) { + temp.push('#$r중복 소지 불가#'); + } + if (attributes.onlyEquip) { + temp.push('#$r중복 장착 불가#'); + } + if (exclusiveEquips.length > 0) { + temp.push(`#$r아이템 그룹 내 중복 장착 불가# (${exclusiveEquips.join(', ')})`); + } + if (temp.length > 0) { + result.push(temp.join('#$r,# ')); + temp = []; + } + + return result; +} diff --git a/src/lib/components/gear-tooltip2/model/category.ts b/src/lib/components/gear-tooltip2/model/category.ts new file mode 100644 index 0000000..28afa92 --- /dev/null +++ b/src/lib/components/gear-tooltip2/model/category.ts @@ -0,0 +1,284 @@ +import { + GearType, + isAccessory, + isArmor, + isDoubleHandWeapon, + isLeftWeapon, + isSubWeapon, + isWeapon +} from '@malib/gear'; + +export function getCategories(type: GearType): string[] { + const result = []; + + if (isWeapon(type)) { + result.push('무기'); + if (isLeftWeapon(type) || type === GearType.katara) { + result.push('한손'); + } else if (isDoubleHandWeapon(type)) { + result.push('두손'); + } + } else if (isSubWeapon(type)) { + result.push('보조무기'); + } else if (type === GearType.emblem || type === GearType.powerSource) { + result.push('엠블렘/파워소스'); + } else if (isArmor(type)) { + result.push('방어구'); + } else if (isAccessory(type)) { + result.push('장신구'); + } + + const str = getGearTypeString(type); + if (str) { + result.push(str); + } + + return result; +} + +export function getGearTypeString(type: GearType) { + switch (type) { + case GearType.faceAccessory: + return '얼굴장식'; + case GearType.eyeAccessory: + return '눈장식'; + case GearType.earrings: + return '귀고리'; + case GearType.pendant: + return '펜던트'; + case GearType.belt: + return '벨트'; + case GearType.medal: + return '훈장'; + case GearType.shoulder: + return '어깨장식'; + case GearType.cap: + return '모자'; + case GearType.cape: + return '망토'; + case GearType.coat: + return '상의'; + case GearType.dragonMask: + return '드래곤 모자'; + case GearType.dragonPendant: + return '드래곤 펜던트'; + case GearType.dragonWings: + return '드래곤 날개장식'; + case GearType.dragonTail: + return '드래곤 꼬리장식'; + case GearType.glove: + return '장갑'; + case GearType.longcoat: + return '한벌옷'; + case GearType.machineEngine: + return '메카닉 엔진'; + case GearType.machineArms: + return '메카닉 암'; + case GearType.machineLegs: + return '메카닉 레그'; + case GearType.machineBody: + return '메카닉 프레임'; + case GearType.machineTransistors: + return '메카닉 트랜지스터'; + case GearType.pants: + return '하의'; + case GearType.ring: + return '반지'; + case GearType.shield: + return '방패'; + case GearType.shoes: + return '신발'; + case GearType.shiningRod: + return '샤이닝 로드'; + case GearType.soulShooter: + return '소울 슈터'; + case GearType.ohSword: + return '한손검'; + case GearType.ohAxe: + return '한손도끼'; + case GearType.ohBlunt: + return '한손둔기'; + case GearType.dagger: + return '단검'; + case GearType.katara: + return '블레이드'; + case GearType.magicArrow: + return '마법화살'; + case GearType.card: + return '카드'; + case GearType.orb: + return '오브'; + case GearType.dragonEssence: + return '용의 정수'; + case GearType.soulRing: + return '소울링'; + case GearType.magnum: + return '매그넘'; + case GearType.cane: + return '케인'; + case GearType.wand: + return '완드'; + case GearType.staff: + return '스태프'; + case GearType.thSword: + return '두손검'; + case GearType.thAxe: + return '두손도끼'; + case GearType.thBlunt: + return '두손둔기'; + case GearType.spear: + return '창'; + case GearType.polearm: + return '폴암'; + case GearType.bow: + return '활'; + case GearType.crossbow: + return '석궁'; + case GearType.claw: + return '아대'; + case GearType.knuckle: + return '너클'; + case GearType.gun: + return '건'; + case GearType.android: + return '안드로이드'; + case GearType.machineHeart: + return '기계 심장'; + case GearType.pickaxe: + return '채광 도구'; + case GearType.shovel: + return '약초채집 도구'; + case GearType.pocket: + return '포켓 아이템'; + case GearType.dualBowguns: + return '듀얼 보우건'; + case GearType.handCannon: + return '핸드캐논'; + case GearType.badge: + return '뱃지'; + case GearType.emblem: + return '엠블렘'; + case GearType.soulShield: + return '소울실드'; + case GearType.demonShield: + return '포스실드'; + case GearType.petEquip: + return '펫장비'; + case GearType.heavySword: + return '대검'; + case GearType.longSword: + return '태도'; + case GearType.medallion: + return '메달'; + case GearType.rosary: + return '로자리오'; + case GearType.ironChain: + return '쇠사슬'; + case GearType.magicBook1: + case GearType.magicBook2: + case GearType.magicBook3: + return '마도서'; + case GearType.arrowFletching: + return '화살깃'; + case GearType.bowThimble: + return '활골무'; + case GearType.daggerScabbard: + return '단검용 검집'; + case GearType.charm: + return '부적'; + case GearType.wristBand: + return '리스트밴드'; + case GearType.farSight: + return '조준기'; + case GearType.powderKeg: + case GearType.powderKeg2: + return '화약통'; + case GearType.mass: + return '무게추'; + case GearType.document: + return '문서'; + case GearType.magicMarble: + return '마법구슬'; + case GearType.arrowhead: + return '화살촉'; + case GearType.jewel: + return '보석'; + case GearType.controller: + return '컨트롤러'; + case GearType.foxMarble: + return '여우 구슬'; + case GearType.chessPiece: + return '체스피스'; + case GearType.powerSource: + return '파워소스'; + + case GearType.energySword: + return '에너지소드'; + case GearType.desperado: + return '데스페라도'; + case GearType.espLimiter: + return 'ESP 리미터'; + + case GearType.gauntletRevolver: + return '건틀렛 리볼버'; + case GearType.charge: + return '장약'; + + case GearType.chain: + return '체인'; + case GearType.magicGauntlet: + return '매직 건틀렛'; + case GearType.transmitter: + return '무기 전송장치'; + case GearType.magicWing: + return '매직윙'; + case GearType.pathOfAbyss: + return '패스 오브 어비스'; + + case GearType.relic: + return '렐릭'; + case GearType.ancientBow: + return '에인션트 보우'; + + case GearType.ritualFan: + return '부채'; + case GearType.fanTassel: + return '선추'; + + case GearType.tuner: + return '튜너'; + case GearType.bracelet: + return '브레이슬릿'; + + case GearType.breathShooter: + return '브레스 슈터'; + case GearType.weaponBelt: + return '웨폰 벨트'; + + case GearType.ornament: + return '노리개'; + + case GearType.chakram: + return '차크람'; + case GearType.hexSeeker: + return '헥스시커'; + + case GearType.longSword2: + return '장검'; + case GearType.sacredJewel: + return '여의보주'; + } +} + +export function isEnhanceable(type: GearType) { + switch (type) { + case GearType.medal: + case GearType.android: + case GearType.shovel: + case GearType.pickaxe: + case GearType.petEquip: + return false; + default: + return true; + } +} diff --git a/src/lib/components/gear-tooltip2/model/digit.spec.ts b/src/lib/components/gear-tooltip2/model/digit.spec.ts new file mode 100644 index 0000000..a9b58f7 --- /dev/null +++ b/src/lib/components/gear-tooltip2/model/digit.spec.ts @@ -0,0 +1,12 @@ +import { expect, test } from 'vitest'; +import { splitKoreanNumber } from './digit'; + +test.each([ + [82, ['8', '2']], + [100000, ['1', '0', '만']], + [100000000, ['1', '억']], + [100000001, ['1', '억', '1']], + [123456789, ['1', '억', '2', '3', '4', '5', '만', '6', '7', '8', '9']] +])('splitKoreanNumber(%i) should return %s', (number, expected) => { + expect(splitKoreanNumber(number)).toEqual(expected); +}); diff --git a/src/lib/components/gear-tooltip2/model/digit.ts b/src/lib/components/gear-tooltip2/model/digit.ts new file mode 100644 index 0000000..6ce698c --- /dev/null +++ b/src/lib/components/gear-tooltip2/model/digit.ts @@ -0,0 +1,17 @@ +export function splitKoreanNumber(number: number): string[] { + const units = ['', '만', '억']; + const unit = 10000; + const result = []; + + for (let i = units.length - 1; i >= 0; i--) { + const part = Math.floor(number / Math.pow(unit, i)) % unit; + if (part > 0) { + result.push(...part.toString().split('')); + if (units[i]) { + result.push(units[i]); + } + } + } + + return result; +} diff --git a/src/lib/components/gear-tooltip2/model/job.ts b/src/lib/components/gear-tooltip2/model/job.ts new file mode 100644 index 0000000..c3aed49 --- /dev/null +++ b/src/lib/components/gear-tooltip2/model/job.ts @@ -0,0 +1,199 @@ +import { GearType } from '@malib/gear'; + +export function getJobString(type: GearType, reqJob: number, reqClass?: number) { + if (reqClass) { + return getExtraJobReqStringByJob(reqClass); + } + const extraJob = getExtraJobReqString(type); + if (extraJob) { + return extraJob; + } + if (reqJob === 0 || reqJob === -1) { + return '공용'; + } + const jobs = ['전사', '마법사', '궁수', '도적', '해적']; + const cans: string[] = []; + for (let i = 0; i < jobs.length; i++) { + if (reqJob & (1 << i)) { + cans.push(jobs[i]); + } + } + return cans.join(', '); +} + +export function getExtraJobReqString(type: GearType) { + switch (type) { + // 0xxx + case GearType.medallion: + return '히어로 직업군'; + case GearType.rosary: + return '팔라딘 직업군'; + case GearType.ironChain: + return '다크나이트 직업군'; + case GearType.magicBook1: + return '불,독 계열 마법사'; + case GearType.magicBook2: + return '얼음,번개 계열 마법사'; + case GearType.magicBook3: + return '비숍 계열 마법사'; + case GearType.arrowFletching: + return '보우마스터 직업군'; + case GearType.bowThimble: + return '신궁 직업군'; + case GearType.daggerScabbard: + return '섀도어 직업군'; + case GearType.charm: + return '나이트로드 직업군'; + case GearType.katara: + return '듀얼블레이드 직업군'; + case GearType.wristBand: + return '바이퍼 직업군'; + case GearType.farSight: + return '캡틴 직업군'; + case GearType.powderKeg: + return '캐논 슈터 직업군'; + case GearType.relic: + return '패스파인더 직업군'; + + // 1xxx + case GearType.jewel: + return '시그너스 기사단'; + + // 2xxx + case GearType.mass: + return getExtraJobReqStringByJob(21); + case GearType.document: + return getExtraJobReqStringByJob(22); + case GearType.magicArrow: + return getExtraJobReqStringByJob(23); + case GearType.card: + return getExtraJobReqStringByJob(24); + case GearType.foxMarble: + return getExtraJobReqStringByJob(25); + case GearType.orb: + case GearType.shiningRod: + return getExtraJobReqStringByJob(27); + + // 3xxx + case GearType.demonShield: + return getExtraJobReqStringByJob(31); + case GearType.desperado: + return '데몬 어벤져'; + case GearType.magicMarble: + return '배틀메이지 직업군'; + case GearType.arrowhead: + return '와일드헌터 직업군'; + case GearType.magnum: + return '메카닉'; + case GearType.controller: + case GearType.powerSource: + case GearType.energySword: + return getExtraJobReqStringByJob(36); + case GearType.gauntletRevolver: + case GearType.charge: + return getExtraJobReqStringByJob(37); + + // 5xxx + case GearType.soulShield: + return '미하일'; + + // 6xxx + case GearType.dragonEssence: + return getExtraJobReqStringByJob(61); + case GearType.breathShooter: + case GearType.weaponBelt: + return getExtraJobReqStringByJob(63); + case GearType.chain: + case GearType.transmitter: + return getExtraJobReqStringByJob(64); + case GearType.soulRing: + case GearType.soulShooter: + return getExtraJobReqStringByJob(65); + + // 10xxx + case GearType.heavySword: + case GearType.longSword: + return getExtraJobReqStringByJob(101); + + case GearType.espLimiter: + case GearType.chessPiece: + return getExtraJobReqStringByJob(142); + + case GearType.magicGauntlet: + case GearType.magicWing: + return getExtraJobReqStringByJob(152); + + case GearType.pathOfAbyss: + return getExtraJobReqStringByJob(155); + + case GearType.ritualFan: + case GearType.fanTassel: + return getExtraJobReqStringByJob(164); + + case GearType.tuner: + case GearType.bracelet: + return getExtraJobReqStringByJob(151); + + case GearType.ornament: + return getExtraJobReqStringByJob(162); + + case GearType.chakram: + case GearType.hexSeeker: + return getExtraJobReqStringByJob(154); + + case GearType.longSword2: + case GearType.sacredJewel: + return getExtraJobReqStringByJob(161); + } +} + +function getExtraJobReqStringByJob(specJob: number) { + switch (specJob) { + case 21: + return '아란'; + case 22: + return '에반'; + case 23: + return '메르세데스'; + case 24: + return '팬텀'; + case 25: + return '은월'; + case 27: + return '루미너스'; + case 31: + return '데몬 직업군'; + case 36: + return '제논'; + case 37: + return '블래스터'; + case 51: + return '미하일'; + case 61: + return '카이저'; + case 63: + return '카인'; + case 64: + return '카데나'; + case 65: + return '엔젤릭 버스터'; + case 101: + return '제로'; + case 142: + return '키네시스'; + case 151: + return '아델'; + case 152: + return '일리움'; + case 154: + return '칼리'; + case 155: + return '아크'; + case 161: + return '렌'; + case 162: + return '라라'; + case 164: + return '호영'; + } +} diff --git a/src/lib/components/gear-tooltip2/model/option.ts b/src/lib/components/gear-tooltip2/model/option.ts new file mode 100644 index 0000000..c505805 --- /dev/null +++ b/src/lib/components/gear-tooltip2/model/option.ts @@ -0,0 +1,222 @@ +import type { GearOption } from '@malib/gear'; + +export function getSingleGearOptionStrings( + type: keyof GearOption, + value: number, + plus: boolean +): [string, string] { + return getSingleGearOptionStringsInternal(type, value, plus); +} + +type OptionType = + | keyof GearOption + | 'str_dex_int_luk' + | 'strRate_dexRate_intRate_lukRate' + | 'maxHp_maxMp' + | 'maxHpRate_maxMpRate' + | 'attackPower_magicPower' + | 'attackPowerRate_magicPowerRate'; + +function getSingleGearOptionStringsInternal( + type: OptionType, + value: number, + plus: boolean +): [string, string] { + const valueStr = value >= 0 && plus ? `+${value}` : `${value}`; + switch (type) { + case 'str': + return ['STR', valueStr]; + case 'dex': + return ['DEX', valueStr]; + case 'int': + return ['INT', valueStr]; + case 'luk': + return ['LUK', valueStr]; + case 'strRate': + return ['STR', `${valueStr}%`]; + case 'dexRate': + return ['DEX', `${valueStr}%`]; + case 'intRate': + return ['INT', `${valueStr}%`]; + case 'lukRate': + return ['LUK', `${valueStr}%`]; + case 'maxHp': + return ['최대 HP', valueStr]; + case 'maxMp': + return ['최대 MP', valueStr]; + case 'maxHpRate': + return ['최대 HP', `${valueStr}%`]; + case 'maxMpRate': + return ['최대 MP', `${valueStr}%`]; + case 'maxDemonForce': + return ['최대 DF', valueStr]; + case 'attackPower': + return ['공격력', valueStr]; + case 'magicPower': + return ['마력', valueStr]; + case 'attackPowerRate': + return ['공격력', `${valueStr}%`]; + case 'magicPowerRate': + return ['마력', `${valueStr}%`]; + case 'armor': + return ['방어력', valueStr]; + case 'armorRate': + return ['방어력', `${valueStr}%`]; + case 'speed': + return ['이동속도', valueStr]; + case 'jump': + return ['점프력', valueStr]; + case 'bossDamage': + return ['보스 몬스터 데미지', `${valueStr}%`]; + case 'normalDamage': + return ['일반 몬스터 데미지', `${valueStr}%`]; + case 'ignoreMonsterArmor': + return ['몬스터 방어율 무시', `${valueStr}%`]; + case 'allStat': + return ['올스탯', `${valueStr}%`]; + case 'damage': + return ['데미지', `${valueStr}%`]; + case 'reqLevelDecrease': + return ['착용 레벨 감소', `${valueStr}`]; + case 'criticalRate': + return ['크리티컬 확률', `${valueStr}%`]; + case 'criticalDamage': + return ['크리티컬 데미지', `${valueStr}%`]; + case 'cooltimeReduce': + return ['재사용 대기시간 감소', `${valueStr}초`]; + case 'strLv': + return ['캐릭터 기준 9레벨 당 STR', `${valueStr}`]; + case 'dexLv': + return ['캐릭터 기준 9레벨 당 DEX', `${valueStr}`]; + case 'intLv': + return ['캐릭터 기준 9레벨 당 INT', `${valueStr}`]; + case 'lukLv': + return ['캐릭터 기준 9레벨 당 LUK', `${valueStr}`]; + // Custom + case 'str_dex_int_luk': + return ['올스탯', `${valueStr}`]; + case 'strRate_dexRate_intRate_lukRate': + return ['올스탯', `${valueStr}%`]; + case 'maxHp_maxMp': + return ['최대 HP / 최대 MP', `${valueStr}`]; + case 'maxHpRate_maxMpRate': + return ['최대 HP / 최대 MP', `${valueStr}%`]; + case 'attackPower_magicPower': + return ['공격력 / 마력', `${valueStr}`]; + case 'attackPowerRate_magicPowerRate': + return ['공격력 / 마력', `${valueStr}%`]; + } +} + +export function getGearOptionStrings(option: Partial, plus: boolean = true) { + const strings: [string, string][] = []; + for (const prop of props) { + if (option[prop]) { + const summary = getSingleGearOptionStrings(prop, option[prop], plus); + strings.push(summary); + } + } + return strings; +} + +export function getGearOptionGroupedStrings(option: Partial, plus: boolean = true) { + const strings: [string, string][] = []; + + for (const group of groups) { + const keys = group[0]; + const groupProp = group[1]; + if (groupProp && everyValueEquals(option, keys)) { + const summary = getSingleGearOptionStringsInternal(groupProp, option[keys[0]]!, plus); + strings.push(summary); + } else { + for (const key of keys) { + if (option[key]) { + const summary = getSingleGearOptionStrings(key, option[key]!, plus); + strings.push(summary); + } + } + } + } + return strings; +} + +function everyValueEquals(option: Partial, keys: readonly (keyof GearOption)[]) { + const firstValue = option[keys[0]]; + if (!firstValue) { + return false; + } + for (let i = 1; i < keys.length; i++) { + if (option[keys[i]] !== firstValue) { + return false; + } + } + return true; +} + +const props = [ + 'str', + 'dex', + 'int', + 'luk', + 'strRate', + 'dexRate', + 'intRate', + 'lukRate', + 'maxHp', + 'maxMp', + 'maxHpRate', + 'maxMpRate', + 'maxDemonForce', + 'attackPower', + 'magicPower', + 'attackPowerRate', + 'magicPowerRate', + 'armor', + 'armorRate', + 'speed', + 'jump', + 'bossDamage', + 'normalDamage', + 'ignoreMonsterArmor', + 'allStat', + 'damage', + 'reqLevelDecrease', + 'criticalRate', + 'criticalDamage', + 'cooltimeReduce', + 'strLv', + 'dexLv', + 'intLv', + 'lukLv' +] as const; + +const groups = [ + [['str', 'dex', 'int', 'luk'], 'str_dex_int_luk'], + [['strRate', 'dexRate', 'intRate', 'lukRate'], 'strRate_dexRate_intRate_lukRate'], + [['maxHp', 'maxMp'], 'maxHp_maxMp'], + [['maxHpRate', 'maxMpRate'], 'maxHpRate_maxMpRate'], + [['maxDemonForce']], + [['attackPower', 'magicPower'], 'attackPower_magicPower'], + [['attackPowerRate', 'magicPowerRate'], 'attackPowerRate_magicPowerRate'], + [ + [ + 'armor', + 'armorRate', + 'speed', + 'jump', + 'bossDamage', + 'normalDamage', + 'ignoreMonsterArmor', + 'allStat', + 'damage', + 'reqLevelDecrease', + 'criticalRate', + 'criticalDamage', + 'cooltimeReduce', + 'strLv', + 'dexLv', + 'intLv', + 'lukLv' + ] + ] +] as const; diff --git a/src/lib/components/gear-tooltip2/model/parser.test.ts b/src/lib/components/gear-tooltip2/model/parser.test.ts new file mode 100644 index 0000000..6f265da --- /dev/null +++ b/src/lib/components/gear-tooltip2/model/parser.test.ts @@ -0,0 +1,97 @@ +import { describe, expect, it } from 'vitest'; +import { parseColorString } from './parser'; + +describe('parseColorString', () => { + const classTable = { c: 'orange', d: 'blue', $r: 'red' }; + + it('should return string as is if no #c is found', () => { + const input = '진한 악몽의 힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(input); + }); + + it('should convert #c to span with class', () => { + const input = '#c진한# 악몽의 힘이 담겨있다.'; + const expected = '진한 악몽의 힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(expected); + }); + + it('should ignore # without opening tag', () => { + const input = '#진한# 악몽의 #힘이 담겨있다.'; + const expected = '진한 악몽의 힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(expected); + }); + + it('should ignore multiple #c without closing tag', () => { + const input = '#c진한 악몽의 #c힘이# 담겨있다.'; + const expected = '진한 악몽의 힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(expected); + }); + + it('should convert multiple #c to spans with class', () => { + const input = '#c진한# 악몽의 #c힘이# 담겨있다.'; + const expected = + '진한 악몽의 힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(expected); + }); + + it('should close #c first then open #d', () => { + const input = '#c진한 악몽의 #d힘이# 담겨있다.'; + const expected = + '진한 악몽의 힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(expected); + }); + + it('should insert space in between #c and text', () => { + const input = '진한#c악몽의# 힘이 담겨있다.'; + const expected = '진한악몽의 힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(expected); + }); + + it('should insert space in between # and text', () => { + const input = '진한 #c악몽의#힘이 담겨있다.'; + const expected = '진한 악몽의힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(expected); + }); + + it('should handle unclosed tags', () => { + const input = '#c진한 악몽의 힘이 담겨있다.'; + const expected = '진한 악몽의 힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(expected); + }); + + it('should handle #$r', () => { + const input = '진한 #$r악몽의 힘#이 담겨있다.'; + const expected = '진한 악몽의 힘이 담겨있다.'; + + const actual = parseColorString(input, classTable).replaceAll(/\s+/g, ' '); + + expect(actual).toBe(expected); + }); +}); diff --git a/src/lib/components/gear-tooltip2/model/parser.ts b/src/lib/components/gear-tooltip2/model/parser.ts new file mode 100644 index 0000000..083dd5c --- /dev/null +++ b/src/lib/components/gear-tooltip2/model/parser.ts @@ -0,0 +1,169 @@ +export function parseColorString(text: string, classTable: Record) { + text = normalizeText(text); + if (!text.includes('#')) { + return text; + } + + const tokens = parseColorStringToTokens(text); + const html = buildHtml(tokens, classTable); + return html; +} + +export function tokenizeColorString(text: string, classTable: Record) { + text = normalizeText(text); + + const tokens = parseColorStringToTokens(text); + const coloredTokens = toColoredTokens(tokens, classTable); + return coloredTokens; +} + +function normalizeText(text: string): string { + return text.replaceAll(/(\\r)?\\n/g, '\n').replaceAll('\\r', ' '); +} + +function parseColorStringToTokens(text: string): Token[] { + const tokens: Token[] = []; + let openedKey: string | undefined = undefined; + let searchStartIndex = 0; + while (true) { + const tagIndex = text.indexOf('#', searchStartIndex); + if (tagIndex === -1) { + break; + } + + const tag = parseTag(text, tagIndex); + + // Flush the text before the tag + if (tagIndex > searchStartIndex) { + tokens.push({ type: 'text', text: text.substring(searchStartIndex, tagIndex) }); + } + if (tag.isOpen) { + // If opened key is different from the current key + if (openedKey !== tag.key) { + // Close the key block + if (openedKey !== undefined) { + tokens.push({ type: 'close' }); + } + // Open current key block + tokens.push({ type: 'open', key: tag.key }); + openedKey = tag.key; + } + } else { + // If there is opened key block + if (openedKey !== undefined) { + // Close the key block + tokens.push({ type: 'close' }); + openedKey = undefined; + } + } + searchStartIndex = tag.endIndex; + } + // Flush the remaining text + if (searchStartIndex < text.length) { + tokens.push({ type: 'text', text: text.substring(searchStartIndex) }); + // Close the last key block + if (openedKey !== undefined) { + tokens.push({ type: 'close' }); + } + } + + return tokens; +} + +function buildHtml(tokens: Token[], classTable: Record): string { + const result: string[] = []; + let skipNextClose = false; + for (const token of tokens) { + switch (token.type) { + case 'text': + result.push(token.text); + break; + case 'open': + if (classTable[token.key]) { + result.push(``); + } else { + result.push(token.key); + skipNextClose = true; + } + break; + case 'close': + if (skipNextClose) { + skipNextClose = false; + } else { + result.push(''); + } + break; + } + } + return result.join('').trim(); +} + +function toColoredTokens(tokens: Token[], classTable: Record): ColoredToken[] { + const result: ColoredToken[] = []; + let color: string | undefined = undefined; + for (const token of tokens) { + switch (token.type) { + case 'text': + result.push({ text: token.text, color }); + break; + case 'open': + color = classTable[token.key]; + break; + case 'close': + color = undefined; + break; + } + } + return result; +} + +function parseTag(text: string, index: number): Tag { + const firstKeyChar = text[index + 1]; + if (firstKeyChar === '$') { + return { + isOpen: true, + key: text.substring(index + 1, index + 3), + endIndex: index + 3 + }; + } else if ('a' <= firstKeyChar && firstKeyChar <= 'z') { + return { + isOpen: true, + key: firstKeyChar, + endIndex: index + 2 + }; + } else { + return { + isOpen: false, + endIndex: index + 1 + }; + } +} + +type Token = + | { + type: 'text'; + text: string; + } + | { + type: 'open'; + key: string; + } + | { + type: 'close'; + }; + +export type ColoredToken = { + text: string; + color?: string; +}; + +type Tag = + | { + isOpen: true; + key: string; + endIndex: number; + } + | { + isOpen: false; + endIndex: number; + }; diff --git a/src/lib/components/gear-tooltip2/model/text.ts b/src/lib/components/gear-tooltip2/model/text.ts new file mode 100644 index 0000000..77b8a8f --- /dev/null +++ b/src/lib/components/gear-tooltip2/model/text.ts @@ -0,0 +1,50 @@ +export type NamedColor = + | 'white' + | 'gray' + | 'darkGray' + | 'red' + | 'emphasis' + | 'starforce' + | 'scroll' + | 'bonusStat' + | 'potentialNormal' + | 'potentialRare' + | 'potentialEpic' + | 'potentialUnique' + | 'potentialLegendary' + | 'exceptional'; + +export function getColorValue(color: string) { + switch (color) { + case 'white': + return '#ffffff'; + case 'gray': + return '#b7bfc5'; + case 'darkGray': + return '#85919f'; + case 'red': + return '#ff8a18'; + case 'emphasis': + return '#ffcc00'; + case 'starforce': + return '#ffcc00'; + case 'scroll': + return '#afadff'; + case 'bonusStat': + return '#0ae3ad'; + case 'potentialNormal': + return '#85919f'; + case 'potentialRare': + return '#66ffff'; + case 'potentialEpic': + return '#bb81ff'; + case 'potentialUnique': + return '#ffcc00'; + case 'potentialLegendary': + return '#ccff00'; + case 'exceptional': + return '#ff3333'; + default: + return '#ffffff'; + } +} diff --git a/src/lib/components/gear-tooltip2/parts/Chip.svelte b/src/lib/components/gear-tooltip2/parts/Chip.svelte new file mode 100644 index 0000000..6aec1ef --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/Chip.svelte @@ -0,0 +1,14 @@ + + +
+ + + + + +
diff --git a/src/lib/components/gear-tooltip2/parts/ReqLevel.svelte b/src/lib/components/gear-tooltip2/parts/ReqLevel.svelte new file mode 100644 index 0000000..cca2007 --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/ReqLevel.svelte @@ -0,0 +1,29 @@ + + +{#if increase > 0 || decrease > 0} +
+ + + {#if increase > 0} + + {/if} + {#if decrease > 0} + + {/if} + +
+{:else} + +{/if} diff --git a/src/lib/components/gear-tooltip2/parts/Spacer.svelte b/src/lib/components/gear-tooltip2/parts/Spacer.svelte new file mode 100644 index 0000000..8560b7e --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/Spacer.svelte @@ -0,0 +1,5 @@ + + + diff --git a/src/lib/components/gear-tooltip2/parts/enhance/EnhanceAdd.svelte b/src/lib/components/gear-tooltip2/parts/enhance/EnhanceAdd.svelte new file mode 100644 index 0000000..12d1660 --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/enhance/EnhanceAdd.svelte @@ -0,0 +1,74 @@ + + +{#if can === GearCapability.Cannot} +
+ + +
+{:else if addOptions.length === 0} +
+ + +
+{:else} +
+ + +
+
+ {#each addOptions as option} +
+ + +
+ {/each} +
+{/if} diff --git a/src/lib/components/gear-tooltip2/parts/enhance/EnhanceCannot.svelte b/src/lib/components/gear-tooltip2/parts/enhance/EnhanceCannot.svelte new file mode 100644 index 0000000..abf803a --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/enhance/EnhanceCannot.svelte @@ -0,0 +1,38 @@ + + +{#if cannots.length > 0} + +{/if} diff --git a/src/lib/components/gear-tooltip2/parts/enhance/EnhanceScroll.svelte b/src/lib/components/gear-tooltip2/parts/enhance/EnhanceScroll.svelte new file mode 100644 index 0000000..026d949 --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/enhance/EnhanceScroll.svelte @@ -0,0 +1,45 @@ + + +{#if can === GearCapability.Cannot} +
+ + +
+{:else if upgrade === 0} +
+ + +
+{:else} +
+ + +
+{/if} diff --git a/src/lib/components/gear-tooltip2/parts/enhance/EnhanceScrollSummary.svelte b/src/lib/components/gear-tooltip2/parts/enhance/EnhanceScrollSummary.svelte new file mode 100644 index 0000000..e2bc2db --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/enhance/EnhanceScrollSummary.svelte @@ -0,0 +1,31 @@ + + +{#if can !== GearCapability.Cannot} + 0 ? 'white' : 'darkGray'} value={str} /> +{/if} diff --git a/src/lib/components/gear-tooltip2/parts/enhance/EnhanceStarforce.svelte b/src/lib/components/gear-tooltip2/parts/enhance/EnhanceStarforce.svelte new file mode 100644 index 0000000..6267fc9 --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/enhance/EnhanceStarforce.svelte @@ -0,0 +1,43 @@ + + +{#if can === GearCapability.Cannot} +
+ + +
+{:else if star === 0} +
+ + +
+{:else} +
+ + +
+{/if} diff --git a/src/lib/components/gear-tooltip2/parts/exceptional/Exceptional.svelte b/src/lib/components/gear-tooltip2/parts/exceptional/Exceptional.svelte new file mode 100644 index 0000000..ef8df04 --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/exceptional/Exceptional.svelte @@ -0,0 +1,36 @@ + + +{#if upgrade > 0} +
+ + + + +
+ {#each getGearOptionGroupedStrings(option) as summary} + + {/each} +{:else} +
+ + + + +
+{/if} diff --git a/src/lib/components/gear-tooltip2/parts/frame/FrameBottom.svelte b/src/lib/components/gear-tooltip2/parts/frame/FrameBottom.svelte new file mode 100644 index 0000000..fcbe6f4 --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/frame/FrameBottom.svelte @@ -0,0 +1,5 @@ + + + diff --git a/src/lib/components/gear-tooltip2/parts/frame/FrameLine.svelte b/src/lib/components/gear-tooltip2/parts/frame/FrameLine.svelte new file mode 100644 index 0000000..8e31ead --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/frame/FrameLine.svelte @@ -0,0 +1,5 @@ + + + diff --git a/src/lib/components/gear-tooltip2/parts/frame/FrameMiddle.svelte b/src/lib/components/gear-tooltip2/parts/frame/FrameMiddle.svelte new file mode 100644 index 0000000..4c77737 --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/frame/FrameMiddle.svelte @@ -0,0 +1,26 @@ + + +
+ {@render children?.()} +
+ + diff --git a/src/lib/components/gear-tooltip2/parts/frame/FrameTop.svelte b/src/lib/components/gear-tooltip2/parts/frame/FrameTop.svelte new file mode 100644 index 0000000..fb4ce59 --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/frame/FrameTop.svelte @@ -0,0 +1,29 @@ + + +
+
+ {@render children?.()} +
+
+ + diff --git a/src/lib/components/gear-tooltip2/parts/icon/Icon.svelte b/src/lib/components/gear-tooltip2/parts/icon/Icon.svelte new file mode 100644 index 0000000..41e0578 --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/icon/Icon.svelte @@ -0,0 +1,16 @@ + + +
+ + +
+ +
+
+
+
diff --git a/src/lib/components/gear-tooltip2/parts/incline/InclineCannot.svelte b/src/lib/components/gear-tooltip2/parts/incline/InclineCannot.svelte new file mode 100644 index 0000000..8de88a6 --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/incline/InclineCannot.svelte @@ -0,0 +1,5 @@ + + + diff --git a/src/lib/components/gear-tooltip2/parts/incline/InclineEquipped.svelte b/src/lib/components/gear-tooltip2/parts/incline/InclineEquipped.svelte new file mode 100644 index 0000000..1efb0aa --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/incline/InclineEquipped.svelte @@ -0,0 +1,5 @@ + + + diff --git a/src/lib/components/gear-tooltip2/parts/incline/InclineMinus.svelte b/src/lib/components/gear-tooltip2/parts/incline/InclineMinus.svelte new file mode 100644 index 0000000..ebe3528 --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/incline/InclineMinus.svelte @@ -0,0 +1,27 @@ + + +
+ + {#each digits as digit} + {@render image(digit)} + {/each} +
+ +{#snippet image(digit: string)} + {#if digit === '만'} + + {:else if digit === '억'} + + {:else} + + {/if} +{/snippet} diff --git a/src/lib/components/gear-tooltip2/parts/incline/InclinePlus.svelte b/src/lib/components/gear-tooltip2/parts/incline/InclinePlus.svelte new file mode 100644 index 0000000..58e1d4e --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/incline/InclinePlus.svelte @@ -0,0 +1,27 @@ + + +
+ + {#each digits as digit} + {@render image(digit)} + {/each} +
+ +{#snippet image(digit: string)} + {#if digit === '만'} + + {:else if digit === '억'} + + {:else} + + {/if} +{/snippet} diff --git a/src/lib/components/gear-tooltip2/parts/incline/InclineZero.svelte b/src/lib/components/gear-tooltip2/parts/incline/InclineZero.svelte new file mode 100644 index 0000000..4763faa --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/incline/InclineZero.svelte @@ -0,0 +1,7 @@ + + + diff --git a/src/lib/components/gear-tooltip2/parts/potential/PotentialDetail.svelte b/src/lib/components/gear-tooltip2/parts/potential/PotentialDetail.svelte new file mode 100644 index 0000000..933b10f --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/potential/PotentialDetail.svelte @@ -0,0 +1,29 @@ + + +
+ + + +
diff --git a/src/lib/components/gear-tooltip2/parts/potential/PotentialTitle.svelte b/src/lib/components/gear-tooltip2/parts/potential/PotentialTitle.svelte new file mode 100644 index 0000000..eb89207 --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/potential/PotentialTitle.svelte @@ -0,0 +1,76 @@ + + +
+ {#if can === GearCapability.Cannot} + + + + {:else} + + + + {#if can === GearCapability.Fixed} + + {/if} + {/if} +
diff --git a/src/lib/components/gear-tooltip2/parts/soul/SoulWeapon.svelte b/src/lib/components/gear-tooltip2/parts/soul/SoulWeapon.svelte new file mode 100644 index 0000000..f7fe902 --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/soul/SoulWeapon.svelte @@ -0,0 +1,45 @@ + + +{#if enchanted} + {#if soul} +
+ + + +
+ + + {:else} +
+ + + +
+ {/if} +{:else} +
+ + + +
+{/if} diff --git a/src/lib/components/gear-tooltip2/parts/star/Stars.svelte b/src/lib/components/gear-tooltip2/parts/star/Stars.svelte new file mode 100644 index 0000000..e646ecc --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/star/Stars.svelte @@ -0,0 +1,63 @@ + + +{#if lines.length > 0} +
+ {#each lines as line} +
+ {#each line as group} +
+ {#each group as isFilled} + {@render starIcon(color, !isFilled)} + {/each} +
+ {/each} +
+ {/each} +
+{/if} + +{#snippet starIcon(color: 'yellow' | 'blue', isEmpty: boolean)} + {#if isEmpty} + + {:else if color === 'yellow'} + + {:else} + + {/if} +{/snippet} diff --git a/src/lib/components/gear-tooltip2/parts/stat/StatDetail.svelte b/src/lib/components/gear-tooltip2/parts/stat/StatDetail.svelte new file mode 100644 index 0000000..da41fe3 --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/stat/StatDetail.svelte @@ -0,0 +1,38 @@ + + + diff --git a/src/lib/components/gear-tooltip2/parts/stat/StatLine.svelte b/src/lib/components/gear-tooltip2/parts/stat/StatLine.svelte new file mode 100644 index 0000000..3d2800d --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/stat/StatLine.svelte @@ -0,0 +1,44 @@ + + +{#if base > 0 || sum > 0} +
+ + {#if add !== 0 || upgrade !== 0 || starforce !== 0} + + {#if gear.starScroll} + + {:else} + + {/if} + {/if} +
+{/if} diff --git a/src/lib/components/gear-tooltip2/parts/text/DetailText.svelte b/src/lib/components/gear-tooltip2/parts/text/DetailText.svelte new file mode 100644 index 0000000..c59a71d --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/text/DetailText.svelte @@ -0,0 +1,27 @@ + + +
+ +
diff --git a/src/lib/components/gear-tooltip2/parts/text/FormattedDetailText.svelte b/src/lib/components/gear-tooltip2/parts/text/FormattedDetailText.svelte new file mode 100644 index 0000000..0a99585 --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/text/FormattedDetailText.svelte @@ -0,0 +1,39 @@ + + +
+ +
diff --git a/src/lib/components/gear-tooltip2/parts/text/InternalTextRenderer.svelte b/src/lib/components/gear-tooltip2/parts/text/InternalTextRenderer.svelte new file mode 100644 index 0000000..2f3860d --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/text/InternalTextRenderer.svelte @@ -0,0 +1,123 @@ + + +{items.map((item) => item.char).join('')} + + diff --git a/src/lib/components/gear-tooltip2/parts/text/ItemNameText.svelte b/src/lib/components/gear-tooltip2/parts/text/ItemNameText.svelte new file mode 100644 index 0000000..9c9a398 --- /dev/null +++ b/src/lib/components/gear-tooltip2/parts/text/ItemNameText.svelte @@ -0,0 +1,27 @@ + + +
{value}
+ + diff --git a/src/lib/components/highlight/Highlight.svelte b/src/lib/components/highlight/Highlight.svelte new file mode 100644 index 0000000..d9e5cc7 --- /dev/null +++ b/src/lib/components/highlight/Highlight.svelte @@ -0,0 +1,47 @@ + + +{#each segments as segment} + {#if segment.highlighted} + {segment.text} + {:else} + {segment.text} + {/if} +{/each} diff --git a/src/lib/components/highlight/index.ts b/src/lib/components/highlight/index.ts new file mode 100644 index 0000000..74ebb03 --- /dev/null +++ b/src/lib/components/highlight/index.ts @@ -0,0 +1 @@ +export { default as Highlight } from './Highlight.svelte'; diff --git a/src/lib/components/icons/GearIcon.svelte b/src/lib/components/icons/GearIcon.svelte new file mode 100644 index 0000000..92fa571 --- /dev/null +++ b/src/lib/components/icons/GearIcon.svelte @@ -0,0 +1,23 @@ + + + diff --git a/src/lib/components/icons/ItemRawIcon.svelte b/src/lib/components/icons/ItemRawIcon.svelte new file mode 100644 index 0000000..4574c57 --- /dev/null +++ b/src/lib/components/icons/ItemRawIcon.svelte @@ -0,0 +1,23 @@ + + + diff --git a/src/lib/components/icons/OriginIcon.svelte b/src/lib/components/icons/OriginIcon.svelte new file mode 100644 index 0000000..31a66b8 --- /dev/null +++ b/src/lib/components/icons/OriginIcon.svelte @@ -0,0 +1,35 @@ + + +
+ +
+ + diff --git a/src/lib/components/icons/index.ts b/src/lib/components/icons/index.ts new file mode 100644 index 0000000..86762e6 --- /dev/null +++ b/src/lib/components/icons/index.ts @@ -0,0 +1,3 @@ +export { default as GearIcon } from './GearIcon.svelte'; +export { default as ItemRawIcon } from './ItemRawIcon.svelte'; +export { default as OriginIcon } from './OriginIcon.svelte'; \ No newline at end of file diff --git a/src/lib/components/select-list/SelectList.svelte b/src/lib/components/select-list/SelectList.svelte new file mode 100644 index 0000000..c18c2cc --- /dev/null +++ b/src/lib/components/select-list/SelectList.svelte @@ -0,0 +1,45 @@ + + + + {#if viewportRef} + + {/if} + diff --git a/src/lib/components/select-list/SelectListItem.svelte b/src/lib/components/select-list/SelectListItem.svelte new file mode 100644 index 0000000..2aa41a4 --- /dev/null +++ b/src/lib/components/select-list/SelectListItem.svelte @@ -0,0 +1,39 @@ + + + isSelected(value), () => toggle(value)} + onPressedChange={(v) => (v ? onSelect?.() : onDeselect?.())} +> + {@render children?.()} + {#if isSelected(value)} +
+ +
+ {/if} +
diff --git a/src/lib/components/select-list/SelectListVirtualizer.svelte b/src/lib/components/select-list/SelectListVirtualizer.svelte new file mode 100644 index 0000000..fe2064b --- /dev/null +++ b/src/lib/components/select-list/SelectListVirtualizer.svelte @@ -0,0 +1,60 @@ + + + diff --git a/src/lib/components/select-list/index.ts b/src/lib/components/select-list/index.ts new file mode 100644 index 0000000..e4c748c --- /dev/null +++ b/src/lib/components/select-list/index.ts @@ -0,0 +1,3 @@ +export { default as SelectList } from '$lib/components/select-list/SelectList.svelte'; +export { default as SelectListItem } from '$lib/components/select-list/SelectListItem.svelte'; +export { default as SelectListVirtualizer } from '$lib/components/select-list/SelectListVirtualizer.svelte'; \ No newline at end of file diff --git a/src/lib/components/select-list/types.ts b/src/lib/components/select-list/types.ts new file mode 100644 index 0000000..28945fb --- /dev/null +++ b/src/lib/components/select-list/types.ts @@ -0,0 +1,4 @@ +export interface SelectListContextType { + toggle: (v: string) => void; + isSelected: (v: string) => boolean; +} diff --git a/src/lib/components/ui-image/UIImage.svelte b/src/lib/components/ui-image/UIImage.svelte new file mode 100644 index 0000000..716ad63 --- /dev/null +++ b/src/lib/components/ui-image/UIImage.svelte @@ -0,0 +1,346 @@ + + +{#if children} + + {@render children()} + +{:else} + +{/if} + + diff --git a/src/lib/components/ui-image/index.ts b/src/lib/components/ui-image/index.ts new file mode 100644 index 0000000..33e20e7 --- /dev/null +++ b/src/lib/components/ui-image/index.ts @@ -0,0 +1 @@ +export { default as UIImage2 } from './UIImage.svelte'; diff --git a/src/lib/components/ui/alert-dialog/alert-dialog-action.svelte b/src/lib/components/ui/alert-dialog/alert-dialog-action.svelte new file mode 100644 index 0000000..bc847de --- /dev/null +++ b/src/lib/components/ui/alert-dialog/alert-dialog-action.svelte @@ -0,0 +1,18 @@ + + + diff --git a/src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte b/src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte new file mode 100644 index 0000000..4f6ded0 --- /dev/null +++ b/src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte @@ -0,0 +1,18 @@ + + + diff --git a/src/lib/components/ui/alert-dialog/alert-dialog-content.svelte b/src/lib/components/ui/alert-dialog/alert-dialog-content.svelte new file mode 100644 index 0000000..11a104d --- /dev/null +++ b/src/lib/components/ui/alert-dialog/alert-dialog-content.svelte @@ -0,0 +1,27 @@ + + + + + + diff --git a/src/lib/components/ui/alert-dialog/alert-dialog-description.svelte b/src/lib/components/ui/alert-dialog/alert-dialog-description.svelte new file mode 100644 index 0000000..8ab176e --- /dev/null +++ b/src/lib/components/ui/alert-dialog/alert-dialog-description.svelte @@ -0,0 +1,17 @@ + + + diff --git a/src/lib/components/ui/alert-dialog/alert-dialog-footer.svelte b/src/lib/components/ui/alert-dialog/alert-dialog-footer.svelte new file mode 100644 index 0000000..7e6e69b --- /dev/null +++ b/src/lib/components/ui/alert-dialog/alert-dialog-footer.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/alert-dialog/alert-dialog-header.svelte b/src/lib/components/ui/alert-dialog/alert-dialog-header.svelte new file mode 100644 index 0000000..9da838f --- /dev/null +++ b/src/lib/components/ui/alert-dialog/alert-dialog-header.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte b/src/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte new file mode 100644 index 0000000..01042eb --- /dev/null +++ b/src/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte @@ -0,0 +1,20 @@ + + + diff --git a/src/lib/components/ui/alert-dialog/alert-dialog-title.svelte b/src/lib/components/ui/alert-dialog/alert-dialog-title.svelte new file mode 100644 index 0000000..7f1d01f --- /dev/null +++ b/src/lib/components/ui/alert-dialog/alert-dialog-title.svelte @@ -0,0 +1,17 @@ + + + diff --git a/src/lib/components/ui/alert-dialog/alert-dialog-trigger.svelte b/src/lib/components/ui/alert-dialog/alert-dialog-trigger.svelte new file mode 100644 index 0000000..b22d1d5 --- /dev/null +++ b/src/lib/components/ui/alert-dialog/alert-dialog-trigger.svelte @@ -0,0 +1,7 @@ + + + diff --git a/src/lib/components/ui/alert-dialog/index.ts b/src/lib/components/ui/alert-dialog/index.ts new file mode 100644 index 0000000..cc281c5 --- /dev/null +++ b/src/lib/components/ui/alert-dialog/index.ts @@ -0,0 +1,39 @@ +import { AlertDialog as AlertDialogPrimitive } from "bits-ui"; +import Trigger from "./alert-dialog-trigger.svelte"; +import Title from "./alert-dialog-title.svelte"; +import Action from "./alert-dialog-action.svelte"; +import Cancel from "./alert-dialog-cancel.svelte"; +import Footer from "./alert-dialog-footer.svelte"; +import Header from "./alert-dialog-header.svelte"; +import Overlay from "./alert-dialog-overlay.svelte"; +import Content from "./alert-dialog-content.svelte"; +import Description from "./alert-dialog-description.svelte"; + +const Root = AlertDialogPrimitive.Root; +const Portal = AlertDialogPrimitive.Portal; + +export { + Root, + Title, + Action, + Cancel, + Portal, + Footer, + Header, + Trigger, + Overlay, + Content, + Description, + // + Root as AlertDialog, + Title as AlertDialogTitle, + Action as AlertDialogAction, + Cancel as AlertDialogCancel, + Portal as AlertDialogPortal, + Footer as AlertDialogFooter, + Header as AlertDialogHeader, + Trigger as AlertDialogTrigger, + Overlay as AlertDialogOverlay, + Content as AlertDialogContent, + Description as AlertDialogDescription, +}; diff --git a/src/lib/components/ui/alert/alert-description.svelte b/src/lib/components/ui/alert/alert-description.svelte new file mode 100644 index 0000000..5e1f4e8 --- /dev/null +++ b/src/lib/components/ui/alert/alert-description.svelte @@ -0,0 +1,23 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/alert/alert-title.svelte b/src/lib/components/ui/alert/alert-title.svelte new file mode 100644 index 0000000..34f3856 --- /dev/null +++ b/src/lib/components/ui/alert/alert-title.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/alert/alert.svelte b/src/lib/components/ui/alert/alert.svelte new file mode 100644 index 0000000..3e76679 --- /dev/null +++ b/src/lib/components/ui/alert/alert.svelte @@ -0,0 +1,44 @@ + + + + + diff --git a/src/lib/components/ui/alert/index.ts b/src/lib/components/ui/alert/index.ts new file mode 100644 index 0000000..97e21b4 --- /dev/null +++ b/src/lib/components/ui/alert/index.ts @@ -0,0 +1,14 @@ +import Root from "./alert.svelte"; +import Description from "./alert-description.svelte"; +import Title from "./alert-title.svelte"; +export { alertVariants, type AlertVariant } from "./alert.svelte"; + +export { + Root, + Description, + Title, + // + Root as Alert, + Description as AlertDescription, + Title as AlertTitle, +}; diff --git a/src/lib/components/ui/badge/badge.svelte b/src/lib/components/ui/badge/badge.svelte new file mode 100644 index 0000000..282cc5e --- /dev/null +++ b/src/lib/components/ui/badge/badge.svelte @@ -0,0 +1,50 @@ + + + + + + {@render children?.()} + diff --git a/src/lib/components/ui/badge/index.ts b/src/lib/components/ui/badge/index.ts new file mode 100644 index 0000000..64e0aa9 --- /dev/null +++ b/src/lib/components/ui/badge/index.ts @@ -0,0 +1,2 @@ +export { default as Badge } from "./badge.svelte"; +export { badgeVariants, type BadgeVariant } from "./badge.svelte"; diff --git a/src/lib/components/ui/button/button.svelte b/src/lib/components/ui/button/button.svelte new file mode 100644 index 0000000..4958d6c --- /dev/null +++ b/src/lib/components/ui/button/button.svelte @@ -0,0 +1,80 @@ + + + + +{#if href} + + {@render children?.()} + +{:else} + +{/if} diff --git a/src/lib/components/ui/button/index.ts b/src/lib/components/ui/button/index.ts new file mode 100644 index 0000000..fb585d7 --- /dev/null +++ b/src/lib/components/ui/button/index.ts @@ -0,0 +1,17 @@ +import Root, { + type ButtonProps, + type ButtonSize, + type ButtonVariant, + buttonVariants, +} from "./button.svelte"; + +export { + Root, + type ButtonProps as Props, + // + Root as Button, + buttonVariants, + type ButtonProps, + type ButtonSize, + type ButtonVariant, +}; diff --git a/src/lib/components/ui/card/card-action.svelte b/src/lib/components/ui/card/card-action.svelte new file mode 100644 index 0000000..5bcfdad --- /dev/null +++ b/src/lib/components/ui/card/card-action.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/card/card-content.svelte b/src/lib/components/ui/card/card-content.svelte new file mode 100644 index 0000000..05e4f53 --- /dev/null +++ b/src/lib/components/ui/card/card-content.svelte @@ -0,0 +1,15 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/card/card-description.svelte b/src/lib/components/ui/card/card-description.svelte new file mode 100644 index 0000000..97c599a --- /dev/null +++ b/src/lib/components/ui/card/card-description.svelte @@ -0,0 +1,20 @@ + + +

+ {@render children?.()} +

diff --git a/src/lib/components/ui/card/card-footer.svelte b/src/lib/components/ui/card/card-footer.svelte new file mode 100644 index 0000000..1010606 --- /dev/null +++ b/src/lib/components/ui/card/card-footer.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/card/card-header.svelte b/src/lib/components/ui/card/card-header.svelte new file mode 100644 index 0000000..b871a40 --- /dev/null +++ b/src/lib/components/ui/card/card-header.svelte @@ -0,0 +1,23 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/card/card-title.svelte b/src/lib/components/ui/card/card-title.svelte new file mode 100644 index 0000000..c229a8b --- /dev/null +++ b/src/lib/components/ui/card/card-title.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/card/card.svelte b/src/lib/components/ui/card/card.svelte new file mode 100644 index 0000000..1935b25 --- /dev/null +++ b/src/lib/components/ui/card/card.svelte @@ -0,0 +1,23 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/card/index.ts b/src/lib/components/ui/card/index.ts new file mode 100644 index 0000000..4d3fce4 --- /dev/null +++ b/src/lib/components/ui/card/index.ts @@ -0,0 +1,25 @@ +import Root from "./card.svelte"; +import Content from "./card-content.svelte"; +import Description from "./card-description.svelte"; +import Footer from "./card-footer.svelte"; +import Header from "./card-header.svelte"; +import Title from "./card-title.svelte"; +import Action from "./card-action.svelte"; + +export { + Root, + Content, + Description, + Footer, + Header, + Title, + Action, + // + Root as Card, + Content as CardContent, + Description as CardDescription, + Footer as CardFooter, + Header as CardHeader, + Title as CardTitle, + Action as CardAction, +}; diff --git a/src/lib/components/ui/checkbox/checkbox.svelte b/src/lib/components/ui/checkbox/checkbox.svelte new file mode 100644 index 0000000..b66d298 --- /dev/null +++ b/src/lib/components/ui/checkbox/checkbox.svelte @@ -0,0 +1,36 @@ + + + + {#snippet children({ checked, indeterminate })} +
+ {#if checked} + + {:else if indeterminate} + + {/if} +
+ {/snippet} +
diff --git a/src/lib/components/ui/checkbox/index.ts b/src/lib/components/ui/checkbox/index.ts new file mode 100644 index 0000000..6d92d94 --- /dev/null +++ b/src/lib/components/ui/checkbox/index.ts @@ -0,0 +1,6 @@ +import Root from "./checkbox.svelte"; +export { + Root, + // + Root as Checkbox, +}; diff --git a/src/lib/components/ui/command/command-dialog.svelte b/src/lib/components/ui/command/command-dialog.svelte new file mode 100644 index 0000000..79c5643 --- /dev/null +++ b/src/lib/components/ui/command/command-dialog.svelte @@ -0,0 +1,40 @@ + + + + + {title} + {description} + + + + + diff --git a/src/lib/components/ui/command/command-empty.svelte b/src/lib/components/ui/command/command-empty.svelte new file mode 100644 index 0000000..7cdf855 --- /dev/null +++ b/src/lib/components/ui/command/command-empty.svelte @@ -0,0 +1,17 @@ + + + diff --git a/src/lib/components/ui/command/command-group.svelte b/src/lib/components/ui/command/command-group.svelte new file mode 100644 index 0000000..08b5e72 --- /dev/null +++ b/src/lib/components/ui/command/command-group.svelte @@ -0,0 +1,32 @@ + + + + {#if heading} + + {heading} + + {/if} + + diff --git a/src/lib/components/ui/command/command-input.svelte b/src/lib/components/ui/command/command-input.svelte new file mode 100644 index 0000000..f46072d --- /dev/null +++ b/src/lib/components/ui/command/command-input.svelte @@ -0,0 +1,26 @@ + + +
+ + +
diff --git a/src/lib/components/ui/command/command-item.svelte b/src/lib/components/ui/command/command-item.svelte new file mode 100644 index 0000000..21df2bc --- /dev/null +++ b/src/lib/components/ui/command/command-item.svelte @@ -0,0 +1,20 @@ + + + diff --git a/src/lib/components/ui/command/command-link-item.svelte b/src/lib/components/ui/command/command-link-item.svelte new file mode 100644 index 0000000..9834601 --- /dev/null +++ b/src/lib/components/ui/command/command-link-item.svelte @@ -0,0 +1,20 @@ + + + diff --git a/src/lib/components/ui/command/command-list.svelte b/src/lib/components/ui/command/command-list.svelte new file mode 100644 index 0000000..17eb830 --- /dev/null +++ b/src/lib/components/ui/command/command-list.svelte @@ -0,0 +1,17 @@ + + + diff --git a/src/lib/components/ui/command/command-separator.svelte b/src/lib/components/ui/command/command-separator.svelte new file mode 100644 index 0000000..a8b80ae --- /dev/null +++ b/src/lib/components/ui/command/command-separator.svelte @@ -0,0 +1,17 @@ + + + diff --git a/src/lib/components/ui/command/command-shortcut.svelte b/src/lib/components/ui/command/command-shortcut.svelte new file mode 100644 index 0000000..0a862df --- /dev/null +++ b/src/lib/components/ui/command/command-shortcut.svelte @@ -0,0 +1,20 @@ + + + + {@render children?.()} + diff --git a/src/lib/components/ui/command/command.svelte b/src/lib/components/ui/command/command.svelte new file mode 100644 index 0000000..8a47f2f --- /dev/null +++ b/src/lib/components/ui/command/command.svelte @@ -0,0 +1,22 @@ + + + diff --git a/src/lib/components/ui/command/index.ts b/src/lib/components/ui/command/index.ts new file mode 100644 index 0000000..d3dbade --- /dev/null +++ b/src/lib/components/ui/command/index.ts @@ -0,0 +1,40 @@ +import { Command as CommandPrimitive } from "bits-ui"; + +import Root from "./command.svelte"; +import Dialog from "./command-dialog.svelte"; +import Empty from "./command-empty.svelte"; +import Group from "./command-group.svelte"; +import Item from "./command-item.svelte"; +import Input from "./command-input.svelte"; +import List from "./command-list.svelte"; +import Separator from "./command-separator.svelte"; +import Shortcut from "./command-shortcut.svelte"; +import LinkItem from "./command-link-item.svelte"; + +const Loading = CommandPrimitive.Loading; + +export { + Root, + Dialog, + Empty, + Group, + Item, + LinkItem, + Input, + List, + Separator, + Shortcut, + Loading, + // + Root as Command, + Dialog as CommandDialog, + Empty as CommandEmpty, + Group as CommandGroup, + Item as CommandItem, + LinkItem as CommandLinkItem, + Input as CommandInput, + List as CommandList, + Separator as CommandSeparator, + Shortcut as CommandShortcut, + Loading as CommandLoading, +}; diff --git a/src/lib/components/ui/dialog/dialog-close.svelte b/src/lib/components/ui/dialog/dialog-close.svelte new file mode 100644 index 0000000..840b2f6 --- /dev/null +++ b/src/lib/components/ui/dialog/dialog-close.svelte @@ -0,0 +1,7 @@ + + + diff --git a/src/lib/components/ui/dialog/dialog-content.svelte b/src/lib/components/ui/dialog/dialog-content.svelte new file mode 100644 index 0000000..604306f --- /dev/null +++ b/src/lib/components/ui/dialog/dialog-content.svelte @@ -0,0 +1,39 @@ + + + + + + {@render children?.()} + + + Close + + + diff --git a/src/lib/components/ui/dialog/dialog-description.svelte b/src/lib/components/ui/dialog/dialog-description.svelte new file mode 100644 index 0000000..89578b3 --- /dev/null +++ b/src/lib/components/ui/dialog/dialog-description.svelte @@ -0,0 +1,17 @@ + + + diff --git a/src/lib/components/ui/dialog/dialog-footer.svelte b/src/lib/components/ui/dialog/dialog-footer.svelte new file mode 100644 index 0000000..6a068dd --- /dev/null +++ b/src/lib/components/ui/dialog/dialog-footer.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/dialog/dialog-header.svelte b/src/lib/components/ui/dialog/dialog-header.svelte new file mode 100644 index 0000000..0755dc5 --- /dev/null +++ b/src/lib/components/ui/dialog/dialog-header.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/dialog/dialog-overlay.svelte b/src/lib/components/ui/dialog/dialog-overlay.svelte new file mode 100644 index 0000000..9a83cb1 --- /dev/null +++ b/src/lib/components/ui/dialog/dialog-overlay.svelte @@ -0,0 +1,20 @@ + + + diff --git a/src/lib/components/ui/dialog/dialog-title.svelte b/src/lib/components/ui/dialog/dialog-title.svelte new file mode 100644 index 0000000..507f38d --- /dev/null +++ b/src/lib/components/ui/dialog/dialog-title.svelte @@ -0,0 +1,17 @@ + + + diff --git a/src/lib/components/ui/dialog/dialog-trigger.svelte b/src/lib/components/ui/dialog/dialog-trigger.svelte new file mode 100644 index 0000000..9d1e801 --- /dev/null +++ b/src/lib/components/ui/dialog/dialog-trigger.svelte @@ -0,0 +1,7 @@ + + + diff --git a/src/lib/components/ui/dialog/index.ts b/src/lib/components/ui/dialog/index.ts new file mode 100644 index 0000000..dce1d9d --- /dev/null +++ b/src/lib/components/ui/dialog/index.ts @@ -0,0 +1,37 @@ +import { Dialog as DialogPrimitive } from "bits-ui"; + +import Title from "./dialog-title.svelte"; +import Footer from "./dialog-footer.svelte"; +import Header from "./dialog-header.svelte"; +import Overlay from "./dialog-overlay.svelte"; +import Content from "./dialog-content.svelte"; +import Description from "./dialog-description.svelte"; +import Trigger from "./dialog-trigger.svelte"; +import Close from "./dialog-close.svelte"; + +const Root = DialogPrimitive.Root; +const Portal = DialogPrimitive.Portal; + +export { + Root, + Title, + Portal, + Footer, + Header, + Trigger, + Overlay, + Content, + Description, + Close, + // + Root as Dialog, + Title as DialogTitle, + Portal as DialogPortal, + Footer as DialogFooter, + Header as DialogHeader, + Trigger as DialogTrigger, + Overlay as DialogOverlay, + Content as DialogContent, + Description as DialogDescription, + Close as DialogClose, +}; diff --git a/src/lib/components/ui/drawer/drawer-close.svelte b/src/lib/components/ui/drawer/drawer-close.svelte new file mode 100644 index 0000000..95c2479 --- /dev/null +++ b/src/lib/components/ui/drawer/drawer-close.svelte @@ -0,0 +1,7 @@ + + + diff --git a/src/lib/components/ui/drawer/drawer-content.svelte b/src/lib/components/ui/drawer/drawer-content.svelte new file mode 100644 index 0000000..04b4006 --- /dev/null +++ b/src/lib/components/ui/drawer/drawer-content.svelte @@ -0,0 +1,37 @@ + + + + + + + {@render children?.()} + + diff --git a/src/lib/components/ui/drawer/drawer-description.svelte b/src/lib/components/ui/drawer/drawer-description.svelte new file mode 100644 index 0000000..198a82f --- /dev/null +++ b/src/lib/components/ui/drawer/drawer-description.svelte @@ -0,0 +1,17 @@ + + + diff --git a/src/lib/components/ui/drawer/drawer-footer.svelte b/src/lib/components/ui/drawer/drawer-footer.svelte new file mode 100644 index 0000000..42bce64 --- /dev/null +++ b/src/lib/components/ui/drawer/drawer-footer.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/drawer/drawer-header.svelte b/src/lib/components/ui/drawer/drawer-header.svelte new file mode 100644 index 0000000..975de57 --- /dev/null +++ b/src/lib/components/ui/drawer/drawer-header.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/drawer/drawer-nested.svelte b/src/lib/components/ui/drawer/drawer-nested.svelte new file mode 100644 index 0000000..834af94 --- /dev/null +++ b/src/lib/components/ui/drawer/drawer-nested.svelte @@ -0,0 +1,12 @@ + + + diff --git a/src/lib/components/ui/drawer/drawer-overlay.svelte b/src/lib/components/ui/drawer/drawer-overlay.svelte new file mode 100644 index 0000000..d002745 --- /dev/null +++ b/src/lib/components/ui/drawer/drawer-overlay.svelte @@ -0,0 +1,20 @@ + + + diff --git a/src/lib/components/ui/drawer/drawer-title.svelte b/src/lib/components/ui/drawer/drawer-title.svelte new file mode 100644 index 0000000..81fb436 --- /dev/null +++ b/src/lib/components/ui/drawer/drawer-title.svelte @@ -0,0 +1,17 @@ + + + diff --git a/src/lib/components/ui/drawer/drawer-trigger.svelte b/src/lib/components/ui/drawer/drawer-trigger.svelte new file mode 100644 index 0000000..f1877d8 --- /dev/null +++ b/src/lib/components/ui/drawer/drawer-trigger.svelte @@ -0,0 +1,7 @@ + + + diff --git a/src/lib/components/ui/drawer/drawer.svelte b/src/lib/components/ui/drawer/drawer.svelte new file mode 100644 index 0000000..0cb57ff --- /dev/null +++ b/src/lib/components/ui/drawer/drawer.svelte @@ -0,0 +1,12 @@ + + + diff --git a/src/lib/components/ui/drawer/index.ts b/src/lib/components/ui/drawer/index.ts new file mode 100644 index 0000000..cfbdb8b --- /dev/null +++ b/src/lib/components/ui/drawer/index.ts @@ -0,0 +1,41 @@ +import { Drawer as DrawerPrimitive } from "vaul-svelte"; + +import Root from "./drawer.svelte"; +import Content from "./drawer-content.svelte"; +import Description from "./drawer-description.svelte"; +import Overlay from "./drawer-overlay.svelte"; +import Footer from "./drawer-footer.svelte"; +import Header from "./drawer-header.svelte"; +import Title from "./drawer-title.svelte"; +import NestedRoot from "./drawer-nested.svelte"; +import Close from "./drawer-close.svelte"; +import Trigger from "./drawer-trigger.svelte"; + +const Portal: typeof DrawerPrimitive.Portal = DrawerPrimitive.Portal; + +export { + Root, + NestedRoot, + Content, + Description, + Overlay, + Footer, + Header, + Title, + Trigger, + Portal, + Close, + + // + Root as Drawer, + NestedRoot as DrawerNestedRoot, + Content as DrawerContent, + Description as DrawerDescription, + Overlay as DrawerOverlay, + Footer as DrawerFooter, + Header as DrawerHeader, + Title as DrawerTitle, + Trigger as DrawerTrigger, + Portal as DrawerPortal, + Close as DrawerClose, +}; diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte new file mode 100644 index 0000000..3055c79 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte @@ -0,0 +1,41 @@ + + + + {#snippet children({ checked, indeterminate })} + + {#if indeterminate} + + {:else} + + {/if} + + {@render childrenProp?.()} + {/snippet} + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte new file mode 100644 index 0000000..e01d480 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte @@ -0,0 +1,27 @@ + + + + + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte new file mode 100644 index 0000000..de7dc77 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte @@ -0,0 +1,22 @@ + + + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-group.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-group.svelte new file mode 100644 index 0000000..aca1f7b --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-group.svelte @@ -0,0 +1,7 @@ + + + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte new file mode 100644 index 0000000..cea4eb8 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte @@ -0,0 +1,27 @@ + + + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte new file mode 100644 index 0000000..8b95323 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte @@ -0,0 +1,24 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte new file mode 100644 index 0000000..189aef4 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte @@ -0,0 +1,16 @@ + + + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte new file mode 100644 index 0000000..eb689e9 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte @@ -0,0 +1,31 @@ + + + + {#snippet children({ checked })} + + {#if checked} + + {/if} + + {@render childrenProp?.({ checked })} + {/snippet} + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte new file mode 100644 index 0000000..3040344 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte @@ -0,0 +1,17 @@ + + + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte new file mode 100644 index 0000000..1cc26af --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte @@ -0,0 +1,20 @@ + + + + {@render children?.()} + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte new file mode 100644 index 0000000..a860220 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte @@ -0,0 +1,20 @@ + + + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte new file mode 100644 index 0000000..2bfc778 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte @@ -0,0 +1,29 @@ + + + + {@render children?.()} + + diff --git a/src/lib/components/ui/dropdown-menu/dropdown-menu-trigger.svelte b/src/lib/components/ui/dropdown-menu/dropdown-menu-trigger.svelte new file mode 100644 index 0000000..cb05344 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/dropdown-menu-trigger.svelte @@ -0,0 +1,7 @@ + + + diff --git a/src/lib/components/ui/dropdown-menu/index.ts b/src/lib/components/ui/dropdown-menu/index.ts new file mode 100644 index 0000000..1cf9f70 --- /dev/null +++ b/src/lib/components/ui/dropdown-menu/index.ts @@ -0,0 +1,49 @@ +import { DropdownMenu as DropdownMenuPrimitive } from "bits-ui"; +import CheckboxItem from "./dropdown-menu-checkbox-item.svelte"; +import Content from "./dropdown-menu-content.svelte"; +import Group from "./dropdown-menu-group.svelte"; +import Item from "./dropdown-menu-item.svelte"; +import Label from "./dropdown-menu-label.svelte"; +import RadioGroup from "./dropdown-menu-radio-group.svelte"; +import RadioItem from "./dropdown-menu-radio-item.svelte"; +import Separator from "./dropdown-menu-separator.svelte"; +import Shortcut from "./dropdown-menu-shortcut.svelte"; +import Trigger from "./dropdown-menu-trigger.svelte"; +import SubContent from "./dropdown-menu-sub-content.svelte"; +import SubTrigger from "./dropdown-menu-sub-trigger.svelte"; +import GroupHeading from "./dropdown-menu-group-heading.svelte"; +const Sub = DropdownMenuPrimitive.Sub; +const Root = DropdownMenuPrimitive.Root; + +export { + CheckboxItem, + Content, + Root as DropdownMenu, + CheckboxItem as DropdownMenuCheckboxItem, + Content as DropdownMenuContent, + Group as DropdownMenuGroup, + Item as DropdownMenuItem, + Label as DropdownMenuLabel, + RadioGroup as DropdownMenuRadioGroup, + RadioItem as DropdownMenuRadioItem, + Separator as DropdownMenuSeparator, + Shortcut as DropdownMenuShortcut, + Sub as DropdownMenuSub, + SubContent as DropdownMenuSubContent, + SubTrigger as DropdownMenuSubTrigger, + Trigger as DropdownMenuTrigger, + GroupHeading as DropdownMenuGroupHeading, + Group, + GroupHeading, + Item, + Label, + RadioGroup, + RadioItem, + Root, + Separator, + Shortcut, + Sub, + SubContent, + SubTrigger, + Trigger, +}; diff --git a/src/lib/components/ui/empty/empty-content.svelte b/src/lib/components/ui/empty/empty-content.svelte new file mode 100644 index 0000000..7a37dfb --- /dev/null +++ b/src/lib/components/ui/empty/empty-content.svelte @@ -0,0 +1,23 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/empty/empty-description.svelte b/src/lib/components/ui/empty/empty-description.svelte new file mode 100644 index 0000000..a0c3552 --- /dev/null +++ b/src/lib/components/ui/empty/empty-description.svelte @@ -0,0 +1,23 @@ + + +
a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4", + className + )} + {...restProps} +> + {@render children?.()} +
diff --git a/src/lib/components/ui/empty/empty-header.svelte b/src/lib/components/ui/empty/empty-header.svelte new file mode 100644 index 0000000..c190865 --- /dev/null +++ b/src/lib/components/ui/empty/empty-header.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/empty/empty-media.svelte b/src/lib/components/ui/empty/empty-media.svelte new file mode 100644 index 0000000..d0ba173 --- /dev/null +++ b/src/lib/components/ui/empty/empty-media.svelte @@ -0,0 +1,41 @@ + + + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/empty/empty-title.svelte b/src/lib/components/ui/empty/empty-title.svelte new file mode 100644 index 0000000..ed77f1f --- /dev/null +++ b/src/lib/components/ui/empty/empty-title.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/empty/empty.svelte b/src/lib/components/ui/empty/empty.svelte new file mode 100644 index 0000000..c6f9192 --- /dev/null +++ b/src/lib/components/ui/empty/empty.svelte @@ -0,0 +1,23 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/empty/index.ts b/src/lib/components/ui/empty/index.ts new file mode 100644 index 0000000..ae4c106 --- /dev/null +++ b/src/lib/components/ui/empty/index.ts @@ -0,0 +1,22 @@ +import Root from "./empty.svelte"; +import Header from "./empty-header.svelte"; +import Media from "./empty-media.svelte"; +import Title from "./empty-title.svelte"; +import Description from "./empty-description.svelte"; +import Content from "./empty-content.svelte"; + +export { + Root, + Header, + Media, + Title, + Description, + Content, + // + Root as Empty, + Header as EmptyHeader, + Media as EmptyMedia, + Title as EmptyTitle, + Description as EmptyDescription, + Content as EmptyContent, +}; diff --git a/src/lib/components/ui/input/index.ts b/src/lib/components/ui/input/index.ts new file mode 100644 index 0000000..f47b6d3 --- /dev/null +++ b/src/lib/components/ui/input/index.ts @@ -0,0 +1,7 @@ +import Root from "./input.svelte"; + +export { + Root, + // + Root as Input, +}; diff --git a/src/lib/components/ui/input/input.svelte b/src/lib/components/ui/input/input.svelte new file mode 100644 index 0000000..680ddab --- /dev/null +++ b/src/lib/components/ui/input/input.svelte @@ -0,0 +1,51 @@ + + +{#if type === "file"} + +{:else} + +{/if} diff --git a/src/lib/components/ui/label/index.ts b/src/lib/components/ui/label/index.ts new file mode 100644 index 0000000..8bfca0b --- /dev/null +++ b/src/lib/components/ui/label/index.ts @@ -0,0 +1,7 @@ +import Root from "./label.svelte"; + +export { + Root, + // + Root as Label, +}; diff --git a/src/lib/components/ui/label/label.svelte b/src/lib/components/ui/label/label.svelte new file mode 100644 index 0000000..dbbfa86 --- /dev/null +++ b/src/lib/components/ui/label/label.svelte @@ -0,0 +1,20 @@ + + + diff --git a/src/lib/components/ui/popover/index.ts b/src/lib/components/ui/popover/index.ts new file mode 100644 index 0000000..9f30922 --- /dev/null +++ b/src/lib/components/ui/popover/index.ts @@ -0,0 +1,17 @@ +import { Popover as PopoverPrimitive } from "bits-ui"; +import Content from "./popover-content.svelte"; +import Trigger from "./popover-trigger.svelte"; +const Root = PopoverPrimitive.Root; +const Close = PopoverPrimitive.Close; + +export { + Root, + Content, + Trigger, + Close, + // + Root as Popover, + Content as PopoverContent, + Trigger as PopoverTrigger, + Close as PopoverClose, +}; diff --git a/src/lib/components/ui/popover/popover-content.svelte b/src/lib/components/ui/popover/popover-content.svelte new file mode 100644 index 0000000..14b001b --- /dev/null +++ b/src/lib/components/ui/popover/popover-content.svelte @@ -0,0 +1,29 @@ + + + + + diff --git a/src/lib/components/ui/popover/popover-trigger.svelte b/src/lib/components/ui/popover/popover-trigger.svelte new file mode 100644 index 0000000..e62659e --- /dev/null +++ b/src/lib/components/ui/popover/popover-trigger.svelte @@ -0,0 +1,17 @@ + + + diff --git a/src/lib/components/ui/radio-group/index.ts b/src/lib/components/ui/radio-group/index.ts new file mode 100644 index 0000000..90b33fe --- /dev/null +++ b/src/lib/components/ui/radio-group/index.ts @@ -0,0 +1,10 @@ +import Root from "./radio-group.svelte"; +import Item from "./radio-group-item.svelte"; + +export { + Root, + Item, + // + Root as RadioGroup, + Item as RadioGroupItem, +}; diff --git a/src/lib/components/ui/radio-group/radio-group-item.svelte b/src/lib/components/ui/radio-group/radio-group-item.svelte new file mode 100644 index 0000000..7fec046 --- /dev/null +++ b/src/lib/components/ui/radio-group/radio-group-item.svelte @@ -0,0 +1,29 @@ + + + + {#snippet children({ checked })} +
+ {#if checked} + + {/if} +
+ {/snippet} +
diff --git a/src/lib/components/ui/radio-group/radio-group.svelte b/src/lib/components/ui/radio-group/radio-group.svelte new file mode 100644 index 0000000..38b23bf --- /dev/null +++ b/src/lib/components/ui/radio-group/radio-group.svelte @@ -0,0 +1,19 @@ + + + diff --git a/src/lib/components/ui/scroll-area/index.ts b/src/lib/components/ui/scroll-area/index.ts new file mode 100644 index 0000000..e86a25b --- /dev/null +++ b/src/lib/components/ui/scroll-area/index.ts @@ -0,0 +1,10 @@ +import Scrollbar from "./scroll-area-scrollbar.svelte"; +import Root from "./scroll-area.svelte"; + +export { + Root, + Scrollbar, + //, + Root as ScrollArea, + Scrollbar as ScrollAreaScrollbar, +}; diff --git a/src/lib/components/ui/scroll-area/scroll-area-scrollbar.svelte b/src/lib/components/ui/scroll-area/scroll-area-scrollbar.svelte new file mode 100644 index 0000000..fae2e96 --- /dev/null +++ b/src/lib/components/ui/scroll-area/scroll-area-scrollbar.svelte @@ -0,0 +1,31 @@ + + + + {@render children?.()} + + diff --git a/src/lib/components/ui/scroll-area/scroll-area.svelte b/src/lib/components/ui/scroll-area/scroll-area.svelte new file mode 100644 index 0000000..f8c5087 --- /dev/null +++ b/src/lib/components/ui/scroll-area/scroll-area.svelte @@ -0,0 +1,46 @@ + + + + + {@render children?.()} + + {#if orientation === 'vertical' || orientation === 'both'} + + {/if} + {#if orientation === 'horizontal' || orientation === 'both'} + + {/if} + + diff --git a/src/lib/components/ui/select/index.ts b/src/lib/components/ui/select/index.ts new file mode 100644 index 0000000..257e322 --- /dev/null +++ b/src/lib/components/ui/select/index.ts @@ -0,0 +1,34 @@ +import { Select as SelectPrimitive } from "bits-ui"; + +import Group from "./select-group.svelte"; +import Label from "./select-label.svelte"; +import Item from "./select-item.svelte"; +import Content from "./select-content.svelte"; +import Trigger from "./select-trigger.svelte"; +import Separator from "./select-separator.svelte"; +import ScrollDownButton from "./select-scroll-down-button.svelte"; +import ScrollUpButton from "./select-scroll-up-button.svelte"; + +const Root = SelectPrimitive.Root; + +export { + Root, + Group, + Label, + Item, + Content, + Trigger, + Separator, + ScrollDownButton, + ScrollUpButton, + // + Root as Select, + Group as SelectGroup, + Label as SelectLabel, + Item as SelectItem, + Content as SelectContent, + Trigger as SelectTrigger, + Separator as SelectSeparator, + ScrollDownButton as SelectScrollDownButton, + ScrollUpButton as SelectScrollUpButton, +}; diff --git a/src/lib/components/ui/select/select-content.svelte b/src/lib/components/ui/select/select-content.svelte new file mode 100644 index 0000000..047650c --- /dev/null +++ b/src/lib/components/ui/select/select-content.svelte @@ -0,0 +1,40 @@ + + + + + + + {@render children?.()} + + + + diff --git a/src/lib/components/ui/select/select-group.svelte b/src/lib/components/ui/select/select-group.svelte new file mode 100644 index 0000000..5454fdb --- /dev/null +++ b/src/lib/components/ui/select/select-group.svelte @@ -0,0 +1,7 @@ + + + diff --git a/src/lib/components/ui/select/select-item.svelte b/src/lib/components/ui/select/select-item.svelte new file mode 100644 index 0000000..fbc271e --- /dev/null +++ b/src/lib/components/ui/select/select-item.svelte @@ -0,0 +1,38 @@ + + + + {#snippet children({ selected, highlighted })} + + {#if selected} + + {/if} + + {#if childrenProp} + {@render childrenProp({ selected, highlighted })} + {:else} + {label || value} + {/if} + {/snippet} + diff --git a/src/lib/components/ui/select/select-label.svelte b/src/lib/components/ui/select/select-label.svelte new file mode 100644 index 0000000..ee8be31 --- /dev/null +++ b/src/lib/components/ui/select/select-label.svelte @@ -0,0 +1,20 @@ + + +
+ {@render children?.()} +
diff --git a/src/lib/components/ui/select/select-scroll-down-button.svelte b/src/lib/components/ui/select/select-scroll-down-button.svelte new file mode 100644 index 0000000..b1ccfd2 --- /dev/null +++ b/src/lib/components/ui/select/select-scroll-down-button.svelte @@ -0,0 +1,20 @@ + + + + + diff --git a/src/lib/components/ui/select/select-scroll-up-button.svelte b/src/lib/components/ui/select/select-scroll-up-button.svelte new file mode 100644 index 0000000..5c8762e --- /dev/null +++ b/src/lib/components/ui/select/select-scroll-up-button.svelte @@ -0,0 +1,20 @@ + + + + + diff --git a/src/lib/components/ui/select/select-separator.svelte b/src/lib/components/ui/select/select-separator.svelte new file mode 100644 index 0000000..72ca20c --- /dev/null +++ b/src/lib/components/ui/select/select-separator.svelte @@ -0,0 +1,18 @@ + + + diff --git a/src/lib/components/ui/select/select-trigger.svelte b/src/lib/components/ui/select/select-trigger.svelte new file mode 100644 index 0000000..96acc85 --- /dev/null +++ b/src/lib/components/ui/select/select-trigger.svelte @@ -0,0 +1,29 @@ + + + + {@render children?.()} + + diff --git a/src/lib/components/ui/separator/index.ts b/src/lib/components/ui/separator/index.ts new file mode 100644 index 0000000..82442d2 --- /dev/null +++ b/src/lib/components/ui/separator/index.ts @@ -0,0 +1,7 @@ +import Root from "./separator.svelte"; + +export { + Root, + // + Root as Separator, +}; diff --git a/src/lib/components/ui/separator/separator.svelte b/src/lib/components/ui/separator/separator.svelte new file mode 100644 index 0000000..ded2755 --- /dev/null +++ b/src/lib/components/ui/separator/separator.svelte @@ -0,0 +1,20 @@ + + + diff --git a/src/lib/components/ui/skeleton/index.ts b/src/lib/components/ui/skeleton/index.ts new file mode 100644 index 0000000..186db21 --- /dev/null +++ b/src/lib/components/ui/skeleton/index.ts @@ -0,0 +1,7 @@ +import Root from "./skeleton.svelte"; + +export { + Root, + // + Root as Skeleton, +}; diff --git a/src/lib/components/ui/skeleton/skeleton.svelte b/src/lib/components/ui/skeleton/skeleton.svelte new file mode 100644 index 0000000..671f16a --- /dev/null +++ b/src/lib/components/ui/skeleton/skeleton.svelte @@ -0,0 +1,17 @@ + + +
diff --git a/src/lib/components/ui/sonner/index.ts b/src/lib/components/ui/sonner/index.ts new file mode 100644 index 0000000..1ad9f4a --- /dev/null +++ b/src/lib/components/ui/sonner/index.ts @@ -0,0 +1 @@ +export { default as Toaster } from "./sonner.svelte"; diff --git a/src/lib/components/ui/sonner/sonner.svelte b/src/lib/components/ui/sonner/sonner.svelte new file mode 100644 index 0000000..67669b7 --- /dev/null +++ b/src/lib/components/ui/sonner/sonner.svelte @@ -0,0 +1,13 @@ + + + diff --git a/src/lib/components/ui/switch/index.ts b/src/lib/components/ui/switch/index.ts new file mode 100644 index 0000000..f5533db --- /dev/null +++ b/src/lib/components/ui/switch/index.ts @@ -0,0 +1,7 @@ +import Root from "./switch.svelte"; + +export { + Root, + // + Root as Switch, +}; diff --git a/src/lib/components/ui/switch/switch.svelte b/src/lib/components/ui/switch/switch.svelte new file mode 100644 index 0000000..d151785 --- /dev/null +++ b/src/lib/components/ui/switch/switch.svelte @@ -0,0 +1,29 @@ + + + + + diff --git a/src/lib/components/ui/tabs/index.ts b/src/lib/components/ui/tabs/index.ts new file mode 100644 index 0000000..12d4327 --- /dev/null +++ b/src/lib/components/ui/tabs/index.ts @@ -0,0 +1,16 @@ +import Root from "./tabs.svelte"; +import Content from "./tabs-content.svelte"; +import List from "./tabs-list.svelte"; +import Trigger from "./tabs-trigger.svelte"; + +export { + Root, + Content, + List, + Trigger, + // + Root as Tabs, + Content as TabsContent, + List as TabsList, + Trigger as TabsTrigger, +}; diff --git a/src/lib/components/ui/tabs/tabs-content.svelte b/src/lib/components/ui/tabs/tabs-content.svelte new file mode 100644 index 0000000..5fb62ac --- /dev/null +++ b/src/lib/components/ui/tabs/tabs-content.svelte @@ -0,0 +1,17 @@ + + + diff --git a/src/lib/components/ui/tabs/tabs-list.svelte b/src/lib/components/ui/tabs/tabs-list.svelte new file mode 100644 index 0000000..b546424 --- /dev/null +++ b/src/lib/components/ui/tabs/tabs-list.svelte @@ -0,0 +1,20 @@ + + + diff --git a/src/lib/components/ui/tabs/tabs-trigger.svelte b/src/lib/components/ui/tabs/tabs-trigger.svelte new file mode 100644 index 0000000..35ac00e --- /dev/null +++ b/src/lib/components/ui/tabs/tabs-trigger.svelte @@ -0,0 +1,20 @@ + + + diff --git a/src/lib/components/ui/tabs/tabs.svelte b/src/lib/components/ui/tabs/tabs.svelte new file mode 100644 index 0000000..b89fad7 --- /dev/null +++ b/src/lib/components/ui/tabs/tabs.svelte @@ -0,0 +1,19 @@ + + + diff --git a/src/lib/components/ui/toggle/index.ts b/src/lib/components/ui/toggle/index.ts new file mode 100644 index 0000000..8cb2936 --- /dev/null +++ b/src/lib/components/ui/toggle/index.ts @@ -0,0 +1,13 @@ +import Root from "./toggle.svelte"; +export { + toggleVariants, + type ToggleSize, + type ToggleVariant, + type ToggleVariants, +} from "./toggle.svelte"; + +export { + Root, + // + Root as Toggle, +}; diff --git a/src/lib/components/ui/toggle/toggle.svelte b/src/lib/components/ui/toggle/toggle.svelte new file mode 100644 index 0000000..4696019 --- /dev/null +++ b/src/lib/components/ui/toggle/toggle.svelte @@ -0,0 +1,52 @@ + + + + + diff --git a/src/lib/config/constant.ts b/src/lib/config/constant.ts new file mode 100644 index 0000000..b814a1f --- /dev/null +++ b/src/lib/config/constant.ts @@ -0,0 +1 @@ +export const GEAR_VERSION = 2; \ No newline at end of file diff --git a/src/lib/config/env.ts b/src/lib/config/env.ts new file mode 100644 index 0000000..06a7102 --- /dev/null +++ b/src/lib/config/env.ts @@ -0,0 +1,21 @@ +function createEnv() { + const envVars = { + API_URL: import.meta.env.VITE_API_BASE_URL, + IMAGE_URL: import.meta.env.VITE_IMAGE_BASE_URL + }; + + const errors: [string, string][] = []; + for (const [key, value] of Object.entries(envVars)) { + if (!value) { + errors.push([key, value]); + } + } + if (errors.length > 0) { + const items = errors.map(([key, value]) => ` - ${key}: ${value}`); + throw new Error(`Missing or invalid environment variables:\n${items.join('\n')}`); + } + + return envVars; +} + +export const env = createEnv(); diff --git a/src/lib/create-gear/CreateGearModal.svelte b/src/lib/create-gear/CreateGearModal.svelte deleted file mode 100644 index cb52941..0000000 --- a/src/lib/create-gear/CreateGearModal.svelte +++ /dev/null @@ -1,268 +0,0 @@ - - - { - let index = -1; - for (const [, gearLike] of selectedIds) { - index = addGear(plainToGear(gearLike)); - } - if (selectedIds.size === 1) { - dispatch('create-single', index); - } - open = false; - setTimeout(() => { - reset(); - }, DELAY); - }} - on:click:button--secondary={() => { - open = false; - setTimeout(() => { - reset(); - }, DELAY); - }} - on:close={() => { - open = false; - setTimeout(() => { - reset(); - }, DELAY); - }} -> -
- - -
- - - - - - - - -
- -
- {#each filtered.slice(0, currentShow) as data} -
- { - selectedIds.set(data.id, data); - selectedIds = selectedIds; - }} - on:deselect={() => { - selectedIds.delete(data.id); - selectedIds = selectedIds; - }} - > -
- - -
-
-
- {/each} -
- - {#if filtered.length > currentShow} - - {filtered.length - currentShow}개의 아이템을 생략했습니다. - (currentShow += SHOW_STEP)}>검색 결과 더 보기 - - {:else if filtered.length == 0} - {msg} - {/if} -
-
- - diff --git a/src/lib/enchant/EnchantModal.svelte b/src/lib/enchant/EnchantModal.svelte deleted file mode 100644 index 797cefb..0000000 --- a/src/lib/enchant/EnchantModal.svelte +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - {#if gearCache && gearCache.itemID > 0} -
-
- -
-
- - {#each tabs as name, i} -
- {name} -
- {/each} - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
- {/if} -
- -
- - diff --git a/src/lib/enchant/components/BonusStat.svelte b/src/lib/enchant/components/BonusStat.svelte deleted file mode 100644 index 5a95af6..0000000 --- a/src/lib/enchant/components/BonusStat.svelte +++ /dev/null @@ -1,141 +0,0 @@ - - -
- {#if can && gear && meta} -
- - -

추가옵션

-
-
-
-
- {#each meta.bonus as bonus, i} - - - - - - - - - {/each} -
-
- - -

관리

-
-
-
-
- - - - - -
- {:else} -
추가옵션 설정 불가
- {/if} -
- - diff --git a/src/lib/enchant/components/Enhance.svelte b/src/lib/enchant/components/Enhance.svelte deleted file mode 100644 index 2aed07d..0000000 --- a/src/lib/enchant/components/Enhance.svelte +++ /dev/null @@ -1,242 +0,0 @@ - - -
- {#if can && gear} -
- - -

스타포스

-
-
-
-
- - -
- {#each diffs as diff} - - {/each} -
-
-
-
- {#if showAmazing} -
- - -

놀라운 장비 강화

-
-
-
-
- - - - - -
-
- - -
- {#each diffs as diff} - - {/each} -
-
-
-
- {/if} -
- - -

일괄 강화

-
-
-
-
- - -
- - - {#if showAmazing} - - {/if} -
-
-
-
-
- - -

관리

-
-
-
-
- - - - - -
- {#if showLimitBreak} -
- - -

설정

-
-
-
-
- -
- {/if} - {:else} -
강화 불가
- {/if} -
- - diff --git a/src/lib/enchant/components/Exceptional.svelte b/src/lib/enchant/components/Exceptional.svelte deleted file mode 100644 index e8fb0ee..0000000 --- a/src/lib/enchant/components/Exceptional.svelte +++ /dev/null @@ -1,104 +0,0 @@ - - -
- {#if can && gear} -
- - -

익셉셔널 강화

-
-
-
-
- - - - {#each exceptionalParts as part} - { - if (gear) { - gear = doExceptionalEnchant(gear, part); - } - }} - /> - {/each} - - - -
-
- - -

관리

-
-
-
-
- - - - - -
- {/if} -
- - diff --git a/src/lib/enchant/components/GearProp.svelte b/src/lib/enchant/components/GearProp.svelte deleted file mode 100644 index b17023f..0000000 --- a/src/lib/enchant/components/GearProp.svelte +++ /dev/null @@ -1,180 +0,0 @@ - - -
- {#if can && gear} -
- - -

교환 관련 속성

-
-
-
-
- - - - 교환 가능 - 장착 시 교환 불가 - 교환 불가 - - - -
-
- - -

카르마의 가위

-
-
-
-
- - - - - -
-
- - - - - -
-
- - -

장착 시 성향

-
-
-
-
- - {#each expTypes as [type, name]} - - - - {/each} - -
- {/if} -
- - diff --git a/src/lib/enchant/components/Manage.svelte b/src/lib/enchant/components/Manage.svelte deleted file mode 100644 index d03f495..0000000 --- a/src/lib/enchant/components/Manage.svelte +++ /dev/null @@ -1,101 +0,0 @@ - - -
- {#if gear} -
- - -

아이템 정보

-
-
-
-
- - - - - - -
-
- - -

아이템 이미지

-
-
-
-
- - - - - -
-
- - -

아이템 삭제

-
-
-
-
- - - - - -
- {/if} -
- - diff --git a/src/lib/enchant/components/Potentials.svelte b/src/lib/enchant/components/Potentials.svelte deleted file mode 100644 index 26528e3..0000000 --- a/src/lib/enchant/components/Potentials.svelte +++ /dev/null @@ -1,195 +0,0 @@ - - -
- {#if can && gear && cache} -
- - -

잠재옵션

-
-
-
-
- - - - - -
-
- - - {#each { length: 3 } as _, i} - - {/each} - - -
-
- - -

에디셔널 잠재옵션

-
-
-
-
- - - - - -
-
- - - {#each { length: 3 } as _, i} - - {/each} - - -
- {:else} -
잠재능력 설정 불가
- {/if} -
- - diff --git a/src/lib/enchant/components/SoulEnchant.svelte b/src/lib/enchant/components/SoulEnchant.svelte deleted file mode 100644 index e257e3a..0000000 --- a/src/lib/enchant/components/SoulEnchant.svelte +++ /dev/null @@ -1,219 +0,0 @@ - - -
- {#if can && gear} -
- - -

소울

-
-
-
- -
- - - - - -
-
- - -

소울 충전량

-
-
-
-
- - - - - -
-
- - -

관리

-
-
-
-
- - - - - - - -
- {:else} -
소울 인챈트 불가
- {/if} -
- - diff --git a/src/lib/enchant/components/TooltipModal.svelte b/src/lib/enchant/components/TooltipModal.svelte deleted file mode 100644 index a41a0b4..0000000 --- a/src/lib/enchant/components/TooltipModal.svelte +++ /dev/null @@ -1,76 +0,0 @@ - - - -
-
- -
-
- -
-
-
- - diff --git a/src/lib/enchant/components/Upgrade.svelte b/src/lib/enchant/components/Upgrade.svelte deleted file mode 100644 index 6a08388..0000000 --- a/src/lib/enchant/components/Upgrade.svelte +++ /dev/null @@ -1,128 +0,0 @@ - - -
- {#if can && gear} -
- -
- -
- - - -
-
- -
- {item.text} -
-
-
-
-
- -
- -
-
- -
-
- -
-
- -
-
- -
- {:else} -
주문서 강화 불가
- {/if} -
- - diff --git a/src/lib/enchant/components/button/ItemIconButton.svelte b/src/lib/enchant/components/button/ItemIconButton.svelte deleted file mode 100644 index 1a8b2bb..0000000 --- a/src/lib/enchant/components/button/ItemIconButton.svelte +++ /dev/null @@ -1,83 +0,0 @@ - - -
-
- -
- {#if primaryIconId} -
- -
- {/if} - {primaryText} -
-
-
- {#if type == 'double'} -
- -
- {secondaryText} -
-
-
- {/if} -
- - diff --git a/src/lib/enchant/components/button/ItemIconButtonList.svelte b/src/lib/enchant/components/button/ItemIconButtonList.svelte deleted file mode 100644 index f3dad59..0000000 --- a/src/lib/enchant/components/button/ItemIconButtonList.svelte +++ /dev/null @@ -1,9 +0,0 @@ -
- -
- - \ No newline at end of file diff --git a/src/lib/enchant/components/upgrade/ChaosScroll.svelte b/src/lib/enchant/components/upgrade/ChaosScroll.svelte deleted file mode 100644 index 97e213c..0000000 --- a/src/lib/enchant/components/upgrade/ChaosScroll.svelte +++ /dev/null @@ -1,124 +0,0 @@ - - -
- {#if gear} -
- - {#each options as option} - - - - {/each} - - - -
-
- - - - - -
-
- - - - - - -
- {/if} -
- - diff --git a/src/lib/enchant/components/upgrade/CommonButton.svelte b/src/lib/enchant/components/upgrade/CommonButton.svelte deleted file mode 100644 index 47c1b67..0000000 --- a/src/lib/enchant/components/upgrade/CommonButton.svelte +++ /dev/null @@ -1,40 +0,0 @@ - - - - - diff --git a/src/lib/enchant/components/upgrade/CommonButtons.svelte b/src/lib/enchant/components/upgrade/CommonButtons.svelte deleted file mode 100644 index 8c16b38..0000000 --- a/src/lib/enchant/components/upgrade/CommonButtons.svelte +++ /dev/null @@ -1,107 +0,0 @@ - - - - -
- - 황금 망치 - - - 주문서 실패 - - - 순백의 주문서 - - - 이노센트 - - - 아크 이노센트 - -
-
-
-{#if showPreserveHammer} -
- - - - - -
-{/if} - - diff --git a/src/lib/enchant/components/upgrade/OnlyScroll.svelte b/src/lib/enchant/components/upgrade/OnlyScroll.svelte deleted file mode 100644 index 7d3478f..0000000 --- a/src/lib/enchant/components/upgrade/OnlyScroll.svelte +++ /dev/null @@ -1,68 +0,0 @@ - - -
- {#if gear} -
- - - - {#each onlyScrolls as scroll} - { - if (gear) { - gear = doApplyScroll(gear, scroll); - } - }} - on:click:button--secondary={() => { - if (gear) { - gear = doApplyScrollFull(gear, scroll); - } - }} - /> - {/each} - - - -
- {/if} -
- - diff --git a/src/lib/enchant/components/upgrade/PadMadScroll.svelte b/src/lib/enchant/components/upgrade/PadMadScroll.svelte deleted file mode 100644 index 962ada9..0000000 --- a/src/lib/enchant/components/upgrade/PadMadScroll.svelte +++ /dev/null @@ -1,83 +0,0 @@ - - -
- {#if gear} -
- - - - - - - - -
-
- - - - - - -
- {/if} -
- - diff --git a/src/lib/enchant/components/upgrade/SpecialScroll.svelte b/src/lib/enchant/components/upgrade/SpecialScroll.svelte deleted file mode 100644 index f06c310..0000000 --- a/src/lib/enchant/components/upgrade/SpecialScroll.svelte +++ /dev/null @@ -1,60 +0,0 @@ - - -
- {#if gear} -
- - - - {#each specialScrolls as scroll} - { - if (gear) { - gear = doApplyScroll(gear, scroll); - } - }} - on:click:button--secondary={() => { - if (gear) { - gear = doApplyScrollFull(gear, scroll); - } - }} - /> - {/each} - - - -
- {/if} -
- - diff --git a/src/lib/enchant/components/upgrade/SpellTrace.svelte b/src/lib/enchant/components/upgrade/SpellTrace.svelte deleted file mode 100644 index a0fa81d..0000000 --- a/src/lib/enchant/components/upgrade/SpellTrace.svelte +++ /dev/null @@ -1,107 +0,0 @@ - - -
- {#if gear && spellTrace} -
- - - - {#each spellTraceProbs as prob} - - {/each} - - - -
-
- - - - {#each filterInfos(spellTrace.getInfos(), selectedProb) as info} - { - if (gear && spellTrace) { - gear = spellTrace.apply(gear, info); - } - }} - on:click:button--secondary={() => { - if (gear && spellTrace) { - gear = spellTrace.applyFull(gear, info); - } - }} - /> - {/each} - - - -
- {/if} -
- - diff --git a/src/lib/enchant/domains/bonus-stat.spec.ts b/src/lib/enchant/domains/bonus-stat.spec.ts deleted file mode 100644 index 63b882a..0000000 --- a/src/lib/enchant/domains/bonus-stat.spec.ts +++ /dev/null @@ -1,177 +0,0 @@ -import { expect, test } from 'vitest'; -import { canBonus, getBonusGrades, getBonusTypes } from './bonus-stat'; -import { BonusStatType, Gear, GearPropType, GearType } from '@malib/gear'; - -test.each([ - [GearType.cap, 0, true], - [GearType.coat, 0, true], - [GearType.pants, 0, true], - [GearType.glove, 0, true], - [GearType.shoes, 0, true], - [GearType.cape, 0, true], - [GearType.shoulder, 0, false], - [GearType.shoulder, 1152155, true], - [GearType.faceAccessory, 0, true], - [GearType.eyeAccessory, 0, true], - [GearType.earrings, 0, true], - [GearType.pendant, 0, true], - [GearType.belt, 0, true], - [GearType.ring, 0, false], - [GearType.machineHeart, 0, false], - [GearType.pocket, 0, true], - [GearType.badge, 0, false], - [GearType.medal, 0, false], - [GearType.tuner, 0, true], - [GearType.ritualFan, 0, true], - [GearType.magicBook1, 0, false], - [GearType.shield, 0, false], - [GearType.emblem, 0, false] -])('canBonus(gearType: %i, itemID: %i) -> %s', (type, id, expected) => { - const gear = new Gear(); - gear.type = type; - gear.itemID = id; - expect(canBonus(gear)).toBe(expected); -}); - -test.each([ - [ - GearType.cap, - 10, - [ - BonusStatType.STR, - BonusStatType.DEX, - BonusStatType.INT, - BonusStatType.LUK, - BonusStatType.STR_DEX, - BonusStatType.STR_INT, - BonusStatType.STR_LUK, - BonusStatType.DEX_INT, - BonusStatType.DEX_LUK, - BonusStatType.INT_LUK, - BonusStatType.MHP, - BonusStatType.MMP, - // BonusStatType.PAD, - // BonusStatType.MAD, - BonusStatType.PDD, - BonusStatType.speed, - BonusStatType.jump, - // BonusStatType.allStatR, - BonusStatType.reduceReq - ] - ], - [ - GearType.glove, - 60, - [ - BonusStatType.STR, - BonusStatType.DEX, - BonusStatType.INT, - BonusStatType.LUK, - BonusStatType.STR_DEX, - BonusStatType.STR_INT, - BonusStatType.STR_LUK, - BonusStatType.DEX_INT, - BonusStatType.DEX_LUK, - BonusStatType.INT_LUK, - BonusStatType.MHP, - BonusStatType.MMP, - BonusStatType.PAD, - BonusStatType.MAD, - BonusStatType.PDD, - BonusStatType.speed, - BonusStatType.jump, - // BonusStatType.allStatR, - BonusStatType.reduceReq - ] - ], - [ - GearType.cape, - 70, - [ - BonusStatType.STR, - BonusStatType.DEX, - BonusStatType.INT, - BonusStatType.LUK, - BonusStatType.STR_DEX, - BonusStatType.STR_INT, - BonusStatType.STR_LUK, - BonusStatType.DEX_INT, - BonusStatType.DEX_LUK, - BonusStatType.INT_LUK, - BonusStatType.MHP, - BonusStatType.MMP, - BonusStatType.PAD, - BonusStatType.MAD, - BonusStatType.PDD, - BonusStatType.speed, - BonusStatType.jump, - BonusStatType.allStatR, - BonusStatType.reduceReq - ] - ], - [ - GearType.thSword, - 50, - [ - BonusStatType.STR, - BonusStatType.DEX, - BonusStatType.INT, - BonusStatType.LUK, - BonusStatType.STR_DEX, - BonusStatType.STR_INT, - BonusStatType.STR_LUK, - BonusStatType.DEX_INT, - BonusStatType.DEX_LUK, - BonusStatType.INT_LUK, - BonusStatType.MHP, - BonusStatType.MMP, - BonusStatType.PAD, - BonusStatType.MAD, - BonusStatType.PDD, - BonusStatType.damR, - BonusStatType.reduceReq - ] - ], - [ - GearType.tuner, - 120, - [ - BonusStatType.STR, - BonusStatType.DEX, - BonusStatType.INT, - BonusStatType.LUK, - BonusStatType.STR_DEX, - BonusStatType.STR_INT, - BonusStatType.STR_LUK, - BonusStatType.DEX_INT, - BonusStatType.DEX_LUK, - BonusStatType.INT_LUK, - BonusStatType.MHP, - BonusStatType.MMP, - BonusStatType.PAD, - BonusStatType.MAD, - BonusStatType.PDD, - BonusStatType.bdR, - BonusStatType.damR, - BonusStatType.allStatR, - BonusStatType.reduceReq - ] - ] -])('getBonusTypes(gearType: %i, reqLevel: %i) -> %s', (type, reqLevel, expected) => { - const gear = new Gear(); - gear.type = type; - gear.req.level = reqLevel; - expect(getBonusTypes(gear)).toEqual(expected); -}); - -test('getBonusGrades(bossReward: true)', () => { - const gear = new Gear(); - gear.props.set(GearPropType.bossReward, 1); - expect(getBonusGrades(gear)).toEqual([3, 4, 5, 6, 7]); -}); - -test('getBonusGrades(bossReward: false)', () => { - const gear = new Gear(); - gear.props.set(GearPropType.bossReward, 0); - expect(getBonusGrades(gear)).toEqual([1, 2, 3, 4, 5, 6, 7]); -}); diff --git a/src/lib/enchant/domains/bonus-stat.ts b/src/lib/enchant/domains/bonus-stat.ts deleted file mode 100644 index 5a1c6fa..0000000 --- a/src/lib/enchant/domains/bonus-stat.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { BonusStatType, Gear, GearPropType, GearType } from '@malib/gear'; - -export function canBonus(gear: Gear) { - if (Gear.isArmor(gear.type)) { - if (Gear.isShield(gear.type)) { - return false; - } - return true; - } - if (Gear.isAccessory(gear.type)) { - if (gear.type === GearType.ring) { - return false; - } - if (gear.type === GearType.shoulder) { - if (gear.itemID === 1152155) return true; - return false; - } - return true; - } - if (gear.type == GearType.pocket) { - return true; - } - if (Gear.isWeapon(gear.type)) { - return true; - } - return false; -} - -export function getBonusTypes(gear: Gear) { - const types = [ - BonusStatType.STR, - BonusStatType.DEX, - BonusStatType.INT, - BonusStatType.LUK, - BonusStatType.STR_DEX, - BonusStatType.STR_INT, - BonusStatType.STR_LUK, - BonusStatType.DEX_INT, - BonusStatType.DEX_LUK, - BonusStatType.INT_LUK, - BonusStatType.MHP, - BonusStatType.MMP - ]; - if (Gear.isWeapon(gear.type)) { - types.push(BonusStatType.PAD, BonusStatType.MAD); - } else if (gear.req.level >= 60) { - types.push(BonusStatType.PAD, BonusStatType.MAD); - } - types.push(BonusStatType.PDD); - if (Gear.isWeapon(gear.type)) { - if (gear.req.level >= 90) types.push(BonusStatType.bdR); - types.push(BonusStatType.damR); - } else { - types.push(BonusStatType.speed, BonusStatType.jump); - } - if (gear.req.level >= 70) { - types.push(BonusStatType.allStatR); - } - types.push(BonusStatType.reduceReq); - return types; -} - -export function getBonusGrades(gear: Gear) { - if (gear.getBooleanValue(GearPropType.bossReward)) { - return [3, 4, 5, 6, 7] as const; - } else { - return [1, 2, 3, 4, 5, 6, 7] as const; - } -} diff --git a/src/lib/enchant/domains/enhance.spec.ts b/src/lib/enchant/domains/enhance.spec.ts deleted file mode 100644 index bed1a2a..0000000 --- a/src/lib/enchant/domains/enhance.spec.ts +++ /dev/null @@ -1,143 +0,0 @@ -import { Gear, GearType } from '@malib/gear'; -import { expect, test } from 'vitest'; -import { - canAmazingEnhancementChange, - canEnhance, - canResetEnhancement, - canStarforceChange, - doAmazingEnhancementChange, - doResetEnhancement, - doStarforceChange -} from './enhance'; - -function getTestGear() { - const gear = new Gear(); - gear.type = GearType.cap; - gear.req.level = 120; - gear.totalUpgradeCount = 1; - return gear; -} - -test('canEnhance', () => { - const gear = getTestGear(); - gear.maxStar = 0; - expect(canEnhance(gear)).toBe(false); - gear.maxStar = 20; - expect(canEnhance(gear)).toBe(true); - gear.star = 20; - expect(canEnhance(gear)).toBe(true); -}); - -test.each([ - [3, 5, 1, false, true], - [5, 5, 1, false, false], - [5, 10, 5, false, true], - [5, 10, 6, false, false], - [5, 10, 1, true, true], - [5, 10, 6, true, false], - [15, 15, 1, true, false], - [15, 20, -1, false, true], - [15, 20, -15, false, true], - [15, 20, -16, false, false], - [15, 15, -1, true, false], - [3, 10, -2, true, false] -])( - 'canStarforceChange(star: %d, maxStar: %d, diff: %d, amazing: %s) -> %s', - (star, maxStar, diff, amazing, expected) => { - const gear = getTestGear(); - gear.star = star; - gear.maxStar = maxStar; - gear.amazing = amazing; - expect(canStarforceChange(gear, diff, false)).toBe(expected); - } -); - -test.each([ - [3, 5, 1, false, 4, false], - [5, 10, 5, false, 10, false], - [5, 10, 1, true, 6, true], - [5, 15, 6, true, 11, true], - [15, 15, 1, true, 15, true], - [15, 20, -1, false, 14, false], - [15, 20, -15, false, 0, false] -])( - 'doStarforceChange(star: %d, maxStar: %d, diff: %d, amazing: %s) -> %d, %s', - (star, maxStar, diff, amazing, expectedStar, expectedAmazing) => { - const gear = getTestGear(); - gear.star = star; - gear.maxStar = maxStar; - gear.amazing = amazing; - doStarforceChange(gear, diff, false); - expect(gear.star).toBe(expectedStar); - expect(gear.amazing).toBe(expectedAmazing); - } -); - -test.each([ - [3, 5, 1, false, true], - [5, 5, 1, false, false], - [5, 10, 5, false, true], - [5, 10, 6, false, false], - [5, 10, 1, true, true], - [5, 10, 6, true, false], - [15, 15, 1, true, false], - [15, 20, 1, false, false], - [15, 20, -1, false, false], - [15, 20, -15, false, false], - [15, 20, -16, false, false], - [15, 15, -1, true, false], - [3, 10, -2, true, false] -])( - 'canAmazingEnhancementChange(star: %d, maxStar: %d, diff: %d, amazing: %s) -> %s', - (star, maxStar, diff, amazing, expected) => { - const gear = getTestGear(); - gear.star = star; - gear.maxStar = maxStar; - gear.amazing = amazing; - expect(canAmazingEnhancementChange(gear, diff, false)).toBe(expected); - } -); - -test.each([ - [3, 5, 1, false, 4, true], - [5, 10, 5, false, 10, true], - [5, 10, 1, true, 6, true], - [5, 15, 6, true, 11, true] -])( - 'doAmazingEnhancementChange(star: %d, maxStar: %d, diff: %d, amazing: %s) -> %d, %s', - (star, maxStar, diff, amazing, expectedStar, expectedAmazing) => { - const gear = getTestGear(); - gear.star = star; - gear.maxStar = maxStar; - gear.amazing = amazing; - doAmazingEnhancementChange(gear, diff, false, false); - expect(gear.star).toBe(expectedStar); - expect(gear.amazing).toBe(expectedAmazing); - } -); - -test('canResetEnhancement', () => { - const gear = getTestGear(); - gear.star = 3; - gear.maxStar = 5; - expect(canResetEnhancement(gear)).toBe(true); - gear.star = 5; - expect(canResetEnhancement(gear)).toBe(true); - gear.star = 2; - gear.amazing = true; - expect(canResetEnhancement(gear)).toBe(true); -}); - -test('doResetEnhancement', () => { - const gear = getTestGear(); - gear.star = 15; - gear.maxStar = 25; - expect(doResetEnhancement(gear)).toBe(gear); - expect(gear.star).toBe(0); - gear.star = 7; - gear.maxStar = 15; - gear.amazing = true; - expect(doResetEnhancement(gear)).toBe(gear); - expect(gear.star).toBe(0); - expect(gear.amazing).toBe(false); -}); diff --git a/src/lib/enchant/domains/enhance.ts b/src/lib/enchant/domains/enhance.ts deleted file mode 100644 index 6d24d3d..0000000 --- a/src/lib/enchant/domains/enhance.ts +++ /dev/null @@ -1,75 +0,0 @@ -import { - Gear, - GearPropType, - addAmazingEnhancement, - addStarforce, - resetEnhancement -} from '@malib/gear'; - -export function canEnhance(gear: Gear) { - return gear.maxStar > 0; -} - -export function canAmazing(gear: Gear) { - return !gear.getBooleanValue(GearPropType.superiorEqp) && gear.req.level <= 150; -} - -export function canLimitBreak(gear: Gear) { - if(gear.getBooleanValue(GearPropType.superiorEqp)) { - return false; - } - return Gear.getMaxStar(gear) < 25; -} - -export function canStarforceChange(gear: Gear, diff: number, ignoreMaxStar: boolean) { - const MAX_STAR = gear.amazing || gear.getBooleanValue(GearPropType.superiorEqp) ? 15 : 25; - const gearMaxStar = ignoreMaxStar ? MAX_STAR : gear.maxStar; - const targetStar = gear.star + diff; - return !gear.amazing && 0 <= targetStar && targetStar <= gearMaxStar; -} - -export function doStarforceChange(gear: Gear, diff: number, ignoreMaxStar: boolean) { - if (diff > 0) { - for (let i = 0; i < diff; i++) { - addStarforce(gear, ignoreMaxStar); - } - } else if (diff < 0) { - const count = gear.star + diff; - resetEnhancement(gear); - for (let i = 0; i < count; i++) { - addStarforce(gear, ignoreMaxStar); - } - } - return gear; -} - -export function canAmazingEnhancementChange(gear: Gear, diff: number, ignoreMaxStar: boolean) { - if (gear.req.level > 150 || gear.getBooleanValue(GearPropType.superiorEqp)) { - return false; - } - if (diff < 0) { - return false; - } - const MAX_STAR = Math.min(gear.maxStar, 15); - const gearMaxStar = ignoreMaxStar ? 15 : MAX_STAR; - const targetStar = gear.star + diff; - return 0 <= targetStar && targetStar <= gearMaxStar; -} - -export function doAmazingEnhancementChange(gear: Gear, diff: number, bonus: boolean, ignoreMaxStar: boolean) { - if (diff > 0) { - for (let i = 0; i < diff; i++) { - addAmazingEnhancement(gear, bonus, ignoreMaxStar); - } - } - return gear; -} - -export function canResetEnhancement(gear: Gear) { - return gear.star > 0; -} - -export function doResetEnhancement(gear: Gear) { - resetEnhancement(gear); - return gear; -} diff --git a/src/lib/enchant/domains/exceptional.ts b/src/lib/enchant/domains/exceptional.ts deleted file mode 100644 index 0adfd26..0000000 --- a/src/lib/enchant/domains/exceptional.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { - type Gear, - type ExceptionalParts, - applyExceptionalEnchant, - resetExceptionalEnchant, - GearPropType -} from '@malib/gear'; - -export function canExceptional(gear: Gear) { - return gear.exceptionalTotalUpgradeCount > 0; -} - -export function canExceptionalEnchant(gear: Gear) { - return gear.exceptionalUpgradeCountLeft > 0; -} - -export function doExceptionalEnchant(gear: Gear, part: ExceptionalParts) { - applyExceptionalEnchant(gear, part); - return gear; -} - -export function resetExceptional(gear: Gear) { - resetExceptionalEnchant(gear); - return gear; -} - -export function getExceptionalParts(gear: Gear) { - switch (gear.itemID) { - case 1132308: - return [exceptionalParts['악몽의 조각']]; - case 1012632: - return [exceptionalParts['그라비티 모듈']]; - case 1022278: - return [exceptionalParts['파멸의 징표']]; - case 1032316: - return [exceptionalParts['충정의 투구']]; - } - return []; -} - -const exceptionalParts = { - '악몽의 조각': { - name: '악몽의 조각', - icon: 2644200, - option: new Map([ - [GearPropType.incSTR, 20], - [GearPropType.incDEX, 20], - [GearPropType.incINT, 20], - [GearPropType.incLUK, 20], - [GearPropType.incPAD, 15], - [GearPropType.incMAD, 15], - [GearPropType.incMHP, 1000], - [GearPropType.incMMP, 1000] - ]) - }, - '그라비티 모듈': { - name: '그라비티 모듈', - icon: 2644201, - option: new Map([ - [GearPropType.incSTR, 15], - [GearPropType.incDEX, 15], - [GearPropType.incINT, 15], - [GearPropType.incLUK, 15], - [GearPropType.incPAD, 10], - [GearPropType.incMAD, 10], - [GearPropType.incMHP, 750], - [GearPropType.incMMP, 750] - ]) - }, - '파멸의 징표': { - name: '파멸의 징표', - icon: 2644202, - option: new Map([ - [GearPropType.incSTR, 15], - [GearPropType.incDEX, 15], - [GearPropType.incINT, 15], - [GearPropType.incLUK, 15], - [GearPropType.incPAD, 10], - [GearPropType.incMAD, 10], - [GearPropType.incMHP, 750], - [GearPropType.incMMP, 750] - ]) - }, - '충정의 투구': { - name: '충정의 투구', - icon: 2644203, - option: new Map([ - [GearPropType.incSTR, 20], - [GearPropType.incDEX, 20], - [GearPropType.incINT, 20], - [GearPropType.incLUK, 20], - [GearPropType.incPAD, 15], - [GearPropType.incMAD, 15], - [GearPropType.incMHP, 1000], - [GearPropType.incMMP, 1000] - ]) - } -}; diff --git a/src/lib/enchant/domains/image.ts b/src/lib/enchant/domains/image.ts deleted file mode 100644 index 7a6d39c..0000000 --- a/src/lib/enchant/domains/image.ts +++ /dev/null @@ -1,5 +0,0 @@ -import type { Gear } from "@malib/gear"; - -export function getPngName(gear: Gear) { - return gear.name + '.png'; -} diff --git a/src/lib/enchant/domains/manage.ts b/src/lib/enchant/domains/manage.ts deleted file mode 100644 index 5bd5e1e..0000000 --- a/src/lib/enchant/domains/manage.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { stringifyGearMeta } from '$lib/export'; -import type { GearMeta } from '$lib/inventory/stores/gear-store'; -import type { Gear } from '@malib/gear'; -import { compressToBase64, compressToEncodedURIComponent } from 'lz-string'; - -export function getGearString(gear: Gear, meta: GearMeta) { - return stringifyGearMeta(gear, meta); -} - -export function getGearBase64String(gearString: string) { - return compressToBase64(gearString); -} - -export function getGearURIComponent(gearString: string) { - return compressToEncodedURIComponent(gearString); -} - -export function getFilename(gear: Gear) { - return gear.name + '.sim'; -} diff --git a/src/lib/enchant/domains/potential.ts b/src/lib/enchant/domains/potential.ts deleted file mode 100644 index b0bcf8f..0000000 --- a/src/lib/enchant/domains/potential.ts +++ /dev/null @@ -1,168 +0,0 @@ -import { potentialRepository } from '$lib/malib-repository/potential'; -import { Gear, GearPropType, Potential, PotentialGrade } from '@malib/gear'; - -export function canPotential(gear: Gear) { - return gear.canPotential && !gear.getBooleanValue(GearPropType.fixedPotential); -} - -export function getGearPotentialCodes(gear: Gear) { - return [ - gear.potentials[0]?.code ?? 0, - gear.potentials[1]?.code ?? 0, - gear.potentials[2]?.code ?? 0 - ]; -} - -export function getGearAddPotentialCodes(gear: Gear) { - return [ - gear.additionalPotentials[0]?.code ?? 0, - gear.additionalPotentials[1]?.code ?? 0, - gear.additionalPotentials[2]?.code ?? 0 - ]; -} - -export function getDefaultPotentialCodes() { - return [0, 0, 0]; -} - -export function getDefaultAddPotentialCodes() { - return [0, 0, 0]; -} - -export class GearPotentialCache { - constructor(gear: Gear) { - this.gearId = gear.itemID; - this.potentials = new Map(); - this.additionalPotentials = new Map(); - for (const grade of [ - PotentialGrade.normal, - PotentialGrade.rare, - PotentialGrade.epic, - PotentialGrade.unique, - PotentialGrade.legendary - ]) { - this.potentials.set(grade, createPotentials(gear, getPotentialCodes(grade))); - this.additionalPotentials.set(grade, createPotentials(gear, getAddPotentialCodes(grade))); - } - } - - gearId: number; - potentials: Map; - additionalPotentials: Map; - - /** - * 잠재능력 등급에 따른 첫 번째 옵션 목록 - */ - getFirstPotentials(grade: PotentialGrade) { - return this.potentials.get(grade) ?? []; - } - - /** - * 잠재능력 등급에 따른 두 번째 이후 옵션 목록 - */ - getSecondPotentials(grade: PotentialGrade) { - return this.potentials.get(grade - 1) ?? []; - } - - /** - * 에디셔널 잠재능력 등급에 따른 첫 번째 옵션 목록 - */ - getFirstAddPotentials(grade: PotentialGrade) { - return this.additionalPotentials.get(grade) ?? []; - } - - /** - * 에디셔널 잠재능력 등급에 따른 두 번째 이후 옵션 목록 - */ - getSecondAddPotentials(grade: PotentialGrade) { - return this.additionalPotentials.get(grade - 1) ?? []; - } - - static getUpdatedInstance(gear: Gear | undefined, prev: GearPotentialCache | undefined) { - if (!gear) return undefined; - if (prev && prev.gearId == gear.itemID) return prev; - return new this(gear); - } -} - -function createPotentials(gear: Gear, codes: number[]) { - const potentialLevel = Potential.getPotentialLevel(gear.req.level); - return codes - .map((code) => potentialRepository.createPotentialFromCode(code, potentialLevel)) - .filter((pot): pot is Potential => isPossiblePotential(gear, pot)); -} - -function isPossiblePotential(gear: Gear, potential: Potential | undefined) { - return ( - potential !== undefined && - Potential.checkOptionType(potential.optionType, gear.type) && - gear.req.level >= potential.reqLevel - ); -} - -function getPotentialCodes(grade: PotentialGrade) { - switch (grade) { - case PotentialGrade.normal: - return [1, 2, 3, 4, 5, 6, 9, 10, 11, 12, 13]; - case PotentialGrade.rare: - return [ - 10001, 10002, 10003, 10004, 10005, 10006, 10009, 10010, 10011, 10012, 10013, 10041, 10042, - 10043, 10044, 10045, 10046, 10051, 10052, 10053, 10055, 10070, 10081, 10151, 10156, 10201, - 10202, 10206, 10207, 10221, 10222, 10226, 10227, 10231, 10232, 10236, 10237, 10241, 10242, - 10246, 10247, 10291 - ]; - case PotentialGrade.epic: - return [ - 20041, 20042, 20043, 20044, 20045, 20046, 20051, 20052, 20053, 20055, 20070, 20086, 20201, - 20202, 20206, 20207, 20291, 20351, 20352, 20353, 20366, 20401, 20406 - ]; - case PotentialGrade.unique: - return [ - 30041, 30042, 30043, 30044, 30045, 30046, 30051, 30052, 30053, 30055, 30070, 30086, 30091, - 30092, 30093, 30094, 30291, 30356, 30357, 30366, 30371, 30376, 30377, 30551, 30602, 30701, - 30702, 31001, 31002, 31003, 31004 - ]; - case PotentialGrade.legendary: - return [ - 40041, 40042, 40043, 40044, 40045, 40046, 40051, 40052, 40053, 40055, 40056, 40070, 40086, - 40091, 40092, 40291, 40292, 40356, 40357, 40366, 40371, 40376, 40377, 40501, 40502, 40551, - 40556, 40557, 40602, 40603, 40650, 40656, 40701, 40702, 40703, 41005, 41006, 41007 - ]; - default: - return []; - } -} - -function getAddPotentialCodes(grade: PotentialGrade) { - switch (grade) { - case PotentialGrade.normal: - return [2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010, 2011, 2012, 2013, 2015, 2016]; - case PotentialGrade.rare: - return [ - 12001, 12002, 12003, 12004, 12005, 12006, 12009, 12010, 12011, 12012, 12013, 12015, 12016, - 12017, 12018, 12019, 12020, 12041, 12042, 12043, 12044, 12045, 12046, 12047, 12048, 12049, - 12050, 12051, 12052, 12053, 12055, 12070, 12081, 12082 - ]; - case PotentialGrade.epic: - return [ - 22001, 22002, 22003, 22004, 22005, 22006, 22009, 22010, 22011, 22012, 22013, 22041, 22042, - 22043, 22044, 22045, 22046, 22051, 22052, 22053, 22055, 22057, 22058, 22059, 22060, 22070, - 22086, 22087, 22201, 22206, 22291 - ]; - case PotentialGrade.unique: - return [ - 32001, 32002, 32003, 32004, 32005, 32006, 32011, 32012, 32013, 32041, 32042, 32043, 32044, - 32045, 32046, 32051, 32053, 32055, 32057, 32059, 32060, 32061, 32062, 32070, 32086, 32087, - 32091, 32092, 32093, 32094, 32201, 32206, 32291, 32551, 32601 - ]; - case PotentialGrade.legendary: - return [ - 42001, 42002, 42003, 42004, 42005, 42006, 42011, 42012, 42013, 42041, 42042, 42043, 42044, - 42045, 42046, 42051, 42053, 42055, 42057, 42059, 42060, 42063, 42064, 42065, 42066, 42070, - 42086, 42087, 42091, 42092, 42093, 42094, 42095, 42096, 42292, 42501, 42551, 42556, 42602, - 42650, 42656 - ]; - default: - return []; - } -} diff --git a/src/lib/enchant/domains/soul.ts b/src/lib/enchant/domains/soul.ts deleted file mode 100644 index f097cd9..0000000 --- a/src/lib/enchant/domains/soul.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { getSoulOptionString } from '$lib/gear-tooltip/strings'; -import { soulRepository, souls } from '$lib/malib-repository/soul'; -import { - Gear, - MagnificentSoulOptionType, - type Soul, - type SoulData, - type SoulDataMap -} from '@malib/gear'; - -export function canSoul(gear: Gear) { - return Gear.isWeapon(gear.type) && gear.req.level >= 30; -} - -export function canSoulEnchant(gear: Gear) { - return !gear.soulWeapon.enchanted; -} - -export function doSoulEnchant(gear: Gear) { - gear.soulWeapon.enchant(); - return gear; -} - -export function canSoulDisenchant(gear: Gear) { - return gear.soulWeapon.enchanted; -} - -export function doSoulDisenchant(gear: Gear) { - gear.soulWeapon.disenchant(); - return gear; -} - -export function canSetSoul(gear: Gear) { - return gear.soulWeapon.enchanted; -} - -export function doSetSoul(gear: Gear, soulId: number, type: MagnificentSoulOptionType) { - const soul = soulRepository.createSoulFromId(soulId, type); - if (soul) { - gear.soulWeapon.setSoul(soul); - } - return gear; -} - -export function canRemoveSoul(gear: Gear) { - return gear.soulWeapon.soul !== undefined; -} - -export function doRemoveSoul(gear: Gear) { - gear.soulWeapon.removeSoul(); - return gear; -} - -export function getSoulInfo(soul: Soul) { - const soulId = getSoulId(soul.name); - if (!soulId) { - return undefined; - } - for (const type of getMagnificentTypes()) { - const trySoul = soulRepository.createSoulFromId(soulId, type); - if (!trySoul) continue; - if (getSoulOptionString(trySoul.option) === getSoulOptionString(soul.option)) { - return { - id: soulId, - type - }; - } - } - return undefined; -} - -export function isMagnificentSoul(soulId: number): boolean { - return (souls as SoulDataMap)[soulId]?.magnificent === true; -} - -export function getSoulEntries(): [number, SoulData][] { - return Object.entries(souls as SoulDataMap).map(([id, data]) => [Number(id), data]); -} - -export function getMagnificentTypes() { - return [ - MagnificentSoulOptionType.PAD, - MagnificentSoulOptionType.MAD, - MagnificentSoulOptionType.allStat, - MagnificentSoulOptionType.MHP, - MagnificentSoulOptionType.cr, - MagnificentSoulOptionType.bdR, - MagnificentSoulOptionType.imdR - ]; -} - -const soulIndex = getSoulIndex(); - -function getSoulId(name: string): number { - return soulIndex[name]; -} - -function getSoulIndex() { - const map: { [name: string]: number } = {}; - for (const [id, data] of Object.entries(souls)) { - map[data.name] = Number(id); - } - return map; -} diff --git a/src/lib/enchant/domains/strings.ts b/src/lib/enchant/domains/strings.ts deleted file mode 100644 index 46b6d2d..0000000 --- a/src/lib/enchant/domains/strings.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { BonusStatType } from '@malib/gear'; - -export function getName(type: BonusStatType): string { - switch (type) { - case BonusStatType.STR: - return 'STR'; - case BonusStatType.DEX: - return 'DEX'; - case BonusStatType.INT: - return 'INT'; - case BonusStatType.LUK: - return 'LUK'; - case BonusStatType.STR_DEX: - return 'STR + DEX'; - case BonusStatType.STR_INT: - return 'STR + INT'; - case BonusStatType.STR_LUK: - return 'STR + LUK'; - case BonusStatType.DEX_INT: - return 'DEX + INT'; - case BonusStatType.DEX_LUK: - return 'DEX + LUK'; - case BonusStatType.INT_LUK: - return 'INT + LUK'; - case BonusStatType.MHP: - return '최대 HP'; - case BonusStatType.MMP: - return '최대 MP'; - case BonusStatType.PAD: - return '공격력'; - case BonusStatType.MAD: - return '마력'; - case BonusStatType.PDD: - return '방어력'; - case BonusStatType.speed: - return '이동속도'; - case BonusStatType.jump: - return '점프력'; - case BonusStatType.damR: - return '데미지 %'; - case BonusStatType.bdR: - return '보스 몬스터 공격 시 데미지 %'; - case BonusStatType.allStatR: - return '올스탯 %'; - case BonusStatType.reduceReq: - return '착용 레벨 감소'; - } -} diff --git a/src/lib/enchant/domains/upgrade/chaos-scroll.ts b/src/lib/enchant/domains/upgrade/chaos-scroll.ts deleted file mode 100644 index a63f3d0..0000000 --- a/src/lib/enchant/domains/upgrade/chaos-scroll.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { Gear, GearPropType, applyScroll, type Scroll } from '@malib/gear'; -import { pickRandomIndex } from '../../../../routes/util'; - -export const chaosScrollStatTypes = [ - ['STR', GearPropType.incSTR], - ['DEX', GearPropType.incDEX], - ['INT', GearPropType.incINT], - ['LUK', GearPropType.incLUK], - ['최대 HP', GearPropType.incMHP], - ['최대 MP', GearPropType.incMMP], - ['공격력', GearPropType.incPAD], - ['마력', GearPropType.incMAD], - ['방어력', GearPropType.incPDD], - ['이동속도', GearPropType.incSpeed], - ['점프력', GearPropType.incJump] -] as const; - -export type ChaosScrollOption = ReturnType; -export type ChaosScrollTypes = ChaosScrollOption[0]['type']; - -export function getDefaultChaosScrollOption() { - return chaosScrollStatTypes.map((e) => ({ type: e[1], name: e[0], value: null })); -} - -export function getPropTypeWeight(type: GearPropType) { - switch (type) { - case GearPropType.incMHP: - case GearPropType.incMMP: - return 10; - default: - return 1; - } -} - -export function doApplyScrollFullSupplier(gear: Gear, scrollSupplier: () => Scroll) { - const count = gear.upgradeCountLeft; - for (let i = 0; i < count; i++) { - applyScroll(gear, scrollSupplier()); - } - return gear; -} - -export function getChaosScroll(stats: ChaosScrollOption): Scroll { - return { name: '', option: new Map(stats.map((e) => [e.type, e.value ?? 0])) }; -} - -export function getRandomChaosScroll( - stats: ChaosScrollOption, - valueSupplier: (type: ChaosScrollTypes) => number -): Scroll { - return { - name: '', - option: new Map(stats.map((e) => [e.type, e.value === null ? valueSupplier(e.type) : e.value])) - }; -} - -export function incredibleChaosScrollOfGoodnessSupplier(type: ChaosScrollTypes) { - const probs = [5.93, 4.94, 13.87, 23.87, 33.01, 18.38]; - if (type === GearPropType.incMHP || type === GearPropType.incMMP) { - return [0, 1, 2, 3, 4, 6][pickRandomIndex(probs)] * 10; - } - return [0, 1, 2, 3, 4, 6][pickRandomIndex(probs)]; -} diff --git a/src/lib/enchant/domains/upgrade/common.ts b/src/lib/enchant/domains/upgrade/common.ts deleted file mode 100644 index 07a71e2..0000000 --- a/src/lib/enchant/domains/upgrade/common.ts +++ /dev/null @@ -1,94 +0,0 @@ -import { - Gear, - GearPropType, - addUpgradeFailCount, - applyGoldHammer, - applyScroll, - resetEnhancement, - resetUpgrade, - restoreUpgradeCount, - type Scroll -} from '@malib/gear'; - -export function canUpgrade(gear: Gear) { - return gear.totalUpgradeCount > 0; -} - -export function canGoldHammer(gear: Gear) { - return ( - gear.hammerCount == 0 && - !gear.getBooleanValue(GearPropType.exceptUpgrade) && - !gear.getBooleanValue(GearPropType.blockGoldHammer) - ); -} - -export function doGoldHammer(gear: Gear) { - applyGoldHammer(gear); - return gear; -} - -export function canFailScroll(gear: Gear) { - return ( - !gear.getBooleanValue(GearPropType.exceptUpgrade) && - !gear.getBooleanValue(GearPropType.onlyUpgrade) && - gear.upgradeCountLeft > 0 - ); -} - -export function doFailScroll(gear: Gear) { - addUpgradeFailCount(gear); - return gear; -} - -export function canCleanSlateScroll(gear: Gear) { - return gear.upgradeFailCount > 0; -} - -export function doCleanSlateScroll(gear: Gear) { - restoreUpgradeCount(gear); - return gear; -} - -export function canInnocentScroll(gear: Gear) { - return ( - gear.hammerCount > 0 || gear.upgradeCount > 0 || gear.upgradeFailCount > 0 || gear.star > 0 - ); -} - -export function doInnocentScroll(gear: Gear) { - resetUpgrade(gear); - resetEnhancement(gear); - return gear; -} - -export function canArkInnocentScroll(gear: Gear) { - return ( - !gear.amazing && (gear.hammerCount > 0 || gear.upgradeCount > 0 || gear.upgradeFailCount > 0) - ); -} - -export function doArkInnocentScroll(gear: Gear) { - resetUpgrade(gear); - return gear; -} - -export function canApplyScroll(gear: Gear) { - return gear.upgradeCountLeft > 0; -} - -export function isOnlyUpgradeGear(gear: Gear) { - return gear.getBooleanValue(GearPropType.onlyUpgrade); -} - -export function doApplyScroll(gear: Gear, scroll: Scroll) { - applyScroll(gear, scroll); - return gear; -} - -export function doApplyScrollFull(gear: Gear, scroll: Scroll) { - const count = gear.upgradeCountLeft; - for (let i = 0; i < count; i++) { - applyScroll(gear, scroll); - } - return gear; -} diff --git a/src/lib/enchant/domains/upgrade/only-scroll.ts b/src/lib/enchant/domains/upgrade/only-scroll.ts deleted file mode 100644 index 068c72f..0000000 --- a/src/lib/enchant/domains/upgrade/only-scroll.ts +++ /dev/null @@ -1,77 +0,0 @@ -import type { Gear } from '@malib/gear'; -import { onlyScrolls } from './scroll-data'; - -export function getOnlyScrolls(gear: Gear) { - switch (gear.itemID) { - case 1122000: - case 1122076: - case 1122278: - return [onlyScrolls['드래곤의 돌']]; - case 1122150: - case 1122372: - case 1122373: - case 1122374: - case 1122375: - case 1122376: - case 1122377: - return [onlyScrolls['비틀린 시간의 파편']]; - case 1123007: - case 1123008: - case 1123009: - case 1123010: - case 1123011: - case 1123012: - return [ - onlyScrolls['힘의 오닉스 스톤 (펜던트)'], - onlyScrolls['민첩의 오닉스 스톤 (펜던트)'], - onlyScrolls['지능의 오닉스 스톤 (펜던트)'], - onlyScrolls['행운의 오닉스 스톤 (펜던트)'], - onlyScrolls['체력의 오닉스 스톤 (펜던트)'], - onlyScrolls['균형의 오닉스 스톤 (펜던트)'] - ]; - case 1114207: - case 1114208: - case 1114209: - case 1114210: - case 1114211: - case 1114212: - return [ - onlyScrolls['힘의 오닉스 스톤 (반지)'], - onlyScrolls['민첩의 오닉스 스톤 (반지)'], - onlyScrolls['지능의 오닉스 스톤 (반지)'], - onlyScrolls['행운의 오닉스 스톤 (반지)'], - onlyScrolls['체력의 오닉스 스톤 (반지)'], - onlyScrolls['균형의 오닉스 스톤 (반지)'], - onlyScrolls['파괴의 오닉스 스톤 (반지)'], - onlyScrolls['마력의 오닉스 스톤 (반지)'] - ]; - case 1114226: - case 1114227: - case 1114228: - case 1114230: - case 1114231: - return [ - onlyScrolls['강력한 힘의 오닉스 스톤'], - onlyScrolls['강력한 민첩의 오닉스 스톤'], - onlyScrolls['강력한 지능의 오닉스 스톤'], - onlyScrolls['강력한 행운의 오닉스 스톤'], - onlyScrolls['강력한 체력의 오닉스 스톤'], - onlyScrolls['강력한 균형의 오닉스 스톤'], - onlyScrolls['현명한 힘의 오닉스 스톤'], - onlyScrolls['현명한 민첩의 오닉스 스톤'], - onlyScrolls['현명한 지능의 오닉스 스톤'], - onlyScrolls['현명한 행운의 오닉스 스톤'], - onlyScrolls['현명한 체력의 오닉스 스톤'], - onlyScrolls['현명한 균형의 오닉스 스톤'] - ]; - case 1114300: - return [onlyScrolls['벤젼스 스톤']]; - case 1114303: - return [onlyScrolls['코스믹 아톰']]; - case 1114307: - return [onlyScrolls['테네브리스 원정대 반지 강화 주문서']]; - case 1114318: - return [onlyScrolls['어웨이크 링 전용 강화 주문서']]; - } - return []; -} diff --git a/src/lib/enchant/domains/upgrade/pad-mad-scroll.ts b/src/lib/enchant/domains/upgrade/pad-mad-scroll.ts deleted file mode 100644 index 5c799f0..0000000 --- a/src/lib/enchant/domains/upgrade/pad-mad-scroll.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { type Scroll, GearPropType } from '@malib/gear'; - -export function getPadMadScroll(pad: number, mad: number): Scroll { - return { - name: '', - option: new Map([ - [GearPropType.incPAD, pad], - [GearPropType.incMAD, mad] - ]) - }; -} diff --git a/src/lib/enchant/domains/upgrade/scroll-data.ts b/src/lib/enchant/domains/upgrade/scroll-data.ts deleted file mode 100644 index 0ef6027..0000000 --- a/src/lib/enchant/domains/upgrade/scroll-data.ts +++ /dev/null @@ -1,437 +0,0 @@ -import { GearPropType } from '@malib/gear'; - -export const specialScrolls = { - '귀 장식 지력 주문서 10%': { - name: '귀 장식 지력 주문서 10%', - icon: 2040302, - option: new Map([ - [GearPropType.incINT, 3], - [GearPropType.incMAD, 5] - ]) - }, - '얼티밋 방어구 강화 주문서 20%': { - name: '얼티밋 방어구 강화 주문서 20%', - icon: 2047917, - option: new Map([ - [GearPropType.incSTR, 9], - [GearPropType.incDEX, 9], - [GearPropType.incINT, 9], - [GearPropType.incLUK, 9] - ]) - }, - '10주년 프라임 악세서리 주문서': { - name: '10주년 프라임 악세서리 주문서', - icon: 2046876, - option: new Map([ - [GearPropType.incSTR, 10], - [GearPropType.incDEX, 10], - [GearPropType.incINT, 10], - [GearPropType.incLUK, 10] - ]) - }, - '10주년 프라임 방어구 주문서': { - name: '10주년 프라임 방어구 주문서', - icon: 2047950, - option: new Map([ - [GearPropType.incSTR, 10], - [GearPropType.incDEX, 10], - [GearPropType.incINT, 10], - [GearPropType.incLUK, 10], - [GearPropType.incPDD, 10] - ]) - }, - '매지컬 한손무기 공격력 주문서 (+9)': { - name: '매지컬 한손무기 공격력 주문서 (+9)', - icon: 2046991, - option: new Map([ - [GearPropType.incSTR, 3], - [GearPropType.incDEX, 3], - [GearPropType.incINT, 3], - [GearPropType.incLUK, 3], - [GearPropType.incPAD, 9] - ]) - }, - '매지컬 한손무기 공격력 주문서 (+10)': { - name: '매지컬 한손무기 공격력 주문서 (+10)', - icon: 2046991, - option: new Map([ - [GearPropType.incSTR, 3], - [GearPropType.incDEX, 3], - [GearPropType.incINT, 3], - [GearPropType.incLUK, 3], - [GearPropType.incPAD, 10] - ]) - }, - '매지컬 한손무기 공격력 주문서 (+11)': { - name: '매지컬 한손무기 공격력 주문서 (+11)', - icon: 2046991, - option: new Map([ - [GearPropType.incSTR, 3], - [GearPropType.incDEX, 3], - [GearPropType.incINT, 3], - [GearPropType.incLUK, 3], - [GearPropType.incPAD, 11] - ]) - }, - '매지컬 한손무기 마력 주문서 (+9)': { - name: '매지컬 한손무기 마력 주문서 (+9)', - icon: 2046992, - option: new Map([ - [GearPropType.incSTR, 3], - [GearPropType.incDEX, 3], - [GearPropType.incINT, 3], - [GearPropType.incLUK, 3], - [GearPropType.incMAD, 9] - ]) - }, - '매지컬 한손무기 마력 주문서 (+10)': { - name: '매지컬 한손무기 마력 주문서 (+10)', - icon: 2046992, - option: new Map([ - [GearPropType.incSTR, 3], - [GearPropType.incDEX, 3], - [GearPropType.incINT, 3], - [GearPropType.incLUK, 3], - [GearPropType.incMAD, 10] - ]) - }, - '매지컬 한손무기 마력 주문서 (+11)': { - name: '매지컬 한손무기 마력 주문서 (+11)', - icon: 2046992, - option: new Map([ - [GearPropType.incSTR, 3], - [GearPropType.incDEX, 3], - [GearPropType.incINT, 3], - [GearPropType.incLUK, 3], - [GearPropType.incMAD, 11] - ]) - }, - '매지컬 두손무기 공격력 주문서 (+9)': { - name: '매지컬 두손무기 공격력 주문서 (+9)', - icon: 2047814, - option: new Map([ - [GearPropType.incSTR, 3], - [GearPropType.incDEX, 3], - [GearPropType.incINT, 3], - [GearPropType.incLUK, 3], - [GearPropType.incPAD, 9] - ]) - }, - '매지컬 두손무기 공격력 주문서 (+10)': { - name: '매지컬 두손무기 공격력 주문서 (+10)', - icon: 2047814, - option: new Map([ - [GearPropType.incSTR, 3], - [GearPropType.incDEX, 3], - [GearPropType.incINT, 3], - [GearPropType.incLUK, 3], - [GearPropType.incPAD, 10] - ]) - }, - '매지컬 두손무기 공격력 주문서 (+11)': { - name: '매지컬 두손무기 공격력 주문서 (+11)', - icon: 2047814, - option: new Map([ - [GearPropType.incSTR, 3], - [GearPropType.incDEX, 3], - [GearPropType.incINT, 3], - [GearPropType.incLUK, 3], - [GearPropType.incPAD, 11] - ]) - } -}; - -export const onlyScrolls = { - '드래곤의 돌': { - name: '드래곤의 돌', - icon: 2041200, - option: new Map([ - [GearPropType.incSTR, 15], - [GearPropType.incDEX, 15], - [GearPropType.incINT, 15], - [GearPropType.incLUK, 15], - [GearPropType.incMHP, 750], - [GearPropType.incPDD, 350] - ]) - }, - '비틀린 시간의 파편': { - name: '비틀린 시간의 파편', - icon: 2046374, - option: new Map([ - [GearPropType.incSTR, 3], - [GearPropType.incDEX, 3], - [GearPropType.incINT, 3], - [GearPropType.incLUK, 3], - [GearPropType.incMHP, 40], - [GearPropType.incMMP, 40], - [GearPropType.incPAD, 3], - [GearPropType.incMAD, 3], - [GearPropType.incPDD, 25], - [GearPropType.incSpeed, 3], - [GearPropType.incJump, 2] - ]) - }, - '힘의 오닉스 스톤 (펜던트)': { - name: '힘의 오닉스 스톤', - icon: 2643002, - option: new Map([ - [GearPropType.incSTR, 2], - [GearPropType.incPDD, 15] - ]) - }, - '민첩의 오닉스 스톤 (펜던트)': { - name: '민첩의 오닉스 스톤', - icon: 2643003, - option: new Map([ - [GearPropType.incDEX, 2], - [GearPropType.incPDD, 15] - ]) - }, - '지능의 오닉스 스톤 (펜던트)': { - name: '지능의 오닉스 스톤', - icon: 2643004, - option: new Map([ - [GearPropType.incINT, 2], - [GearPropType.incPDD, 15] - ]) - }, - '행운의 오닉스 스톤 (펜던트)': { - name: '행운의 오닉스 스톤', - icon: 2643005, - option: new Map([ - [GearPropType.incLUK, 2], - [GearPropType.incPDD, 15] - ]) - }, - '체력의 오닉스 스톤 (펜던트)': { - name: '체력의 오닉스 스톤', - icon: 2643006, - option: new Map([ - [GearPropType.incMHP, 100], - [GearPropType.incPDD, 15] - ]) - }, - '균형의 오닉스 스톤 (펜던트)': { - name: '균형의 오닉스 스톤', - icon: 2643007, - option: new Map([ - [GearPropType.incSTR, 1], - [GearPropType.incDEX, 1], - [GearPropType.incINT, 1], - [GearPropType.incLUK, 1], - [GearPropType.incPDD, 15] - ]) - }, - '힘의 오닉스 스톤 (반지)': { - name: '힘의 오닉스 스톤', - icon: 2643100, - option: new Map([[GearPropType.incSTR, 8]]) - }, - '민첩의 오닉스 스톤 (반지)': { - name: '민첩의 오닉스 스톤', - icon: 2643101, - option: new Map([[GearPropType.incDEX, 8]]) - }, - '지능의 오닉스 스톤 (반지)': { - name: '지능의 오닉스 스톤', - icon: 2643102, - option: new Map([[GearPropType.incINT, 8]]) - }, - '행운의 오닉스 스톤 (반지)': { - name: '행운의 오닉스 스톤', - icon: 2643103, - option: new Map([[GearPropType.incLUK, 8]]) - }, - '체력의 오닉스 스톤 (반지)': { - name: '체력의 오닉스 스톤', - icon: 2643104, - option: new Map([[GearPropType.incMHP, 400]]) - }, - '균형의 오닉스 스톤 (반지)': { - name: '균형의 오닉스 스톤', - icon: 2643105, - option: new Map([ - [GearPropType.incSTR, 4], - [GearPropType.incDEX, 4], - [GearPropType.incINT, 4], - [GearPropType.incLUK, 4] - ]) - }, - '파괴의 오닉스 스톤 (반지)': { - name: '파괴의 오닉스 스톤', - icon: 2643106, - option: new Map([ - [GearPropType.incPAD, 1], - [GearPropType.incPDD, 30] - ]) - }, - '마력의 오닉스 스톤 (반지)': { - name: '마력의 오닉스 스톤', - icon: 2643107, - option: new Map([[GearPropType.incMAD, 1]]) - }, - '강력한 힘의 오닉스 스톤': { - name: '강력한 힘의 오닉스 스톤', - icon: 2643116, - option: new Map([ - [GearPropType.incSTR, 4], - [GearPropType.incPAD, 1], - [GearPropType.incPDD, 15] - ]) - }, - '강력한 민첩의 오닉스 스톤': { - name: '강력한 민첩의 오닉스 스톤', - icon: 2643117, - option: new Map([ - [GearPropType.incDEX, 4], - [GearPropType.incPAD, 1], - [GearPropType.incPDD, 15] - ]) - }, - '강력한 지능의 오닉스 스톤': { - name: '강력한 지능의 오닉스 스톤', - icon: 2643118, - option: new Map([ - [GearPropType.incINT, 4], - [GearPropType.incPAD, 1], - [GearPropType.incPDD, 15] - ]) - }, - '강력한 행운의 오닉스 스톤': { - name: '강력한 행운의 오닉스 스톤', - icon: 2643119, - option: new Map([ - [GearPropType.incLUK, 4], - [GearPropType.incPAD, 1], - [GearPropType.incPDD, 15] - ]) - }, - '강력한 체력의 오닉스 스톤': { - name: '강력한 체력의 오닉스 스톤', - icon: 2643120, - option: new Map([ - [GearPropType.incMHP, 200], - [GearPropType.incPAD, 1], - [GearPropType.incPDD, 15] - ]) - }, - '강력한 균형의 오닉스 스톤': { - name: '강력한 균형의 오닉스 스톤', - icon: 2643121, - option: new Map([ - [GearPropType.incSTR, 2], - [GearPropType.incDEX, 2], - [GearPropType.incINT, 2], - [GearPropType.incLUK, 2], - [GearPropType.incPAD, 1], - [GearPropType.incPDD, 15] - ]) - }, - '현명한 힘의 오닉스 스톤': { - name: '현명한 힘의 오닉스 스톤', - icon: 2643122, - option: new Map([ - [GearPropType.incSTR, 4], - [GearPropType.incMAD, 1] - ]) - }, - '현명한 민첩의 오닉스 스톤': { - name: '현명한 민첩의 오닉스 스톤', - icon: 2643123, - option: new Map([ - [GearPropType.incDEX, 4], - [GearPropType.incMAD, 1] - ]) - }, - '현명한 지능의 오닉스 스톤': { - name: '현명한 지능의 오닉스 스톤', - icon: 2643124, - option: new Map([ - [GearPropType.incINT, 4], - [GearPropType.incMAD, 1] - ]) - }, - '현명한 행운의 오닉스 스톤': { - name: '현명한 행운의 오닉스 스톤', - icon: 2643125, - option: new Map([ - [GearPropType.incLUK, 4], - [GearPropType.incMAD, 1] - ]) - }, - '현명한 체력의 오닉스 스톤': { - name: '현명한 체력의 오닉스 스톤', - icon: 2643126, - option: new Map([ - [GearPropType.incMHP, 200], - [GearPropType.incMAD, 1] - ]) - }, - '현명한 균형의 오닉스 스톤': { - name: '현명한 균형의 오닉스 스톤', - icon: 2643127, - option: new Map([ - [GearPropType.incSTR, 2], - [GearPropType.incDEX, 2], - [GearPropType.incINT, 2], - [GearPropType.incLUK, 2], - [GearPropType.incMAD, 1] - ]) - }, - '벤젼스 스톤': { - name: '벤젼스 스톤', - icon: 2643128, - option: new Map([ - [GearPropType.incSTR, 1], - [GearPropType.incDEX, 1], - [GearPropType.incINT, 1], - [GearPropType.incLUK, 1], - [GearPropType.incMHP, 100], - [GearPropType.incMMP, 100], - [GearPropType.incPAD, 1], - [GearPropType.incMAD, 1] - ]) - }, - '코스믹 아톰': { - name: '코스믹 아톰', - icon: 2643130, - option: new Map([ - [GearPropType.incSTR, 1], - [GearPropType.incDEX, 1], - [GearPropType.incINT, 1], - [GearPropType.incLUK, 1], - [GearPropType.incMHP, 100], - [GearPropType.incMMP, 100], - [GearPropType.incPAD, 1], - [GearPropType.incMAD, 1] - ]) - }, - '테네브리스 원정대 반지 강화 주문서': { - name: '테네브리스 원정대 반지 강화 주문서', - icon: 2643131, - option: new Map([ - [GearPropType.incSTR, 10], - [GearPropType.incDEX, 10], - [GearPropType.incINT, 10], - [GearPropType.incLUK, 10], - [GearPropType.incMHP, 1000], - [GearPropType.incMMP, 1000], - [GearPropType.incPAD, 5], - [GearPropType.incMAD, 5] - ]) - }, - '어웨이크 링 전용 강화 주문서': { - name: '어웨이크 링 전용 강화 주문서', - icon: 2643132, - option: new Map([ - [GearPropType.incSTR, 10], - [GearPropType.incDEX, 10], - [GearPropType.incINT, 10], - [GearPropType.incLUK, 10], - [GearPropType.incMHP, 1000], - [GearPropType.incMMP, 1000], - [GearPropType.incPAD, 5], - [GearPropType.incMAD, 5] - ]) - } -}; diff --git a/src/lib/enchant/domains/upgrade/special-scroll.ts b/src/lib/enchant/domains/upgrade/special-scroll.ts deleted file mode 100644 index 2861ef5..0000000 --- a/src/lib/enchant/domains/upgrade/special-scroll.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Gear, GearType } from '@malib/gear'; -import { specialScrolls } from './scroll-data'; - -export function getSpecialScrolls(gear: Gear) { - const scrolls = []; - if (gear.type === GearType.earrings) { - scrolls.push(specialScrolls['귀 장식 지력 주문서 10%']); - } - if (Gear.isArmor(gear.type)) { - scrolls.push(specialScrolls['얼티밋 방어구 강화 주문서 20%']); - scrolls.push(specialScrolls['10주년 프라임 방어구 주문서']); - } - if (Gear.isAccessory(gear.type)) { - scrolls.push(specialScrolls['10주년 프라임 악세서리 주문서']); - } - if (Gear.isLeftWeapon(gear.type) || gear.type === GearType.machineHeart) { - scrolls.push( - specialScrolls['매지컬 한손무기 공격력 주문서 (+9)'], - specialScrolls['매지컬 한손무기 공격력 주문서 (+10)'], - specialScrolls['매지컬 한손무기 공격력 주문서 (+11)'], - specialScrolls['매지컬 한손무기 마력 주문서 (+9)'], - specialScrolls['매지컬 한손무기 마력 주문서 (+10)'], - specialScrolls['매지컬 한손무기 마력 주문서 (+11)'] - ); - } else if (gear.type === GearType.katara) { - scrolls.push( - specialScrolls['매지컬 한손무기 공격력 주문서 (+9)'], - specialScrolls['매지컬 한손무기 공격력 주문서 (+10)'], - specialScrolls['매지컬 한손무기 공격력 주문서 (+11)'] - ); - } - if (Gear.isDoubleHandWeapon(gear.type)) { - scrolls.push( - specialScrolls['매지컬 두손무기 공격력 주문서 (+9)'], - specialScrolls['매지컬 두손무기 공격력 주문서 (+10)'], - specialScrolls['매지컬 두손무기 공격력 주문서 (+11)'] - ); - } - - return scrolls; -} diff --git a/src/lib/enchant/domains/upgrade/spelltrace.spec.ts b/src/lib/enchant/domains/upgrade/spelltrace.spec.ts deleted file mode 100644 index a236315..0000000 --- a/src/lib/enchant/domains/upgrade/spelltrace.spec.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { expect, test } from 'vitest'; -import { Gear, GearPropType, GearType } from '@malib/gear'; -import { getSpellTraceTypes } from './spelltrace'; - -test.each([ - [ - GearType.earrings, - 110, - 0, - [ - GearPropType.incSTR, - GearPropType.incINT, - GearPropType.incDEX, - GearPropType.incLUK, - GearPropType.incMHP, - GearPropType.incAllStat - ] - ], - [GearType.shoes, 200, 1, [GearPropType.incSTR, GearPropType.incMHP, GearPropType.incAllStat]], - [GearType.staff, 200, 2, [GearPropType.incINT]], - [ - GearType.wand, - 8, - 0, - [ - GearPropType.incSTR, - GearPropType.incDEX, - GearPropType.incLUK, - GearPropType.incMHP, - GearPropType.incINT - ] - ], - [GearType.coat, 10, 4, [GearPropType.incDEX, GearPropType.incAllStat]], - [ - GearType.pants, - 150, - 16, - [GearPropType.incSTR, GearPropType.incDEX, GearPropType.incLUK, GearPropType.incAllStat] - ], - [GearType.bow, 140, 4, [GearPropType.incDEX]] -])( - 'getSpellTraceTypes(type: %i, reqLevel: %i, reqJob: %i) -> %o', - (type, reqLevel, reqJob, expected) => { - const gear = new Gear(); - gear.req.level = reqLevel; - gear.req.job = reqJob; - gear.type = type; - expect(getSpellTraceTypes(gear)).toEqual(expected); - } -); diff --git a/src/lib/enchant/domains/upgrade/spelltrace.ts b/src/lib/enchant/domains/upgrade/spelltrace.ts deleted file mode 100644 index 1598e41..0000000 --- a/src/lib/enchant/domains/upgrade/spelltrace.ts +++ /dev/null @@ -1,135 +0,0 @@ -import { - GearPropType, - GearType, - applyScroll, - applySpellTrace, - getSpellTraceScroll, - recalculateStarforce, - Gear, - type Scroll, - type SpellTraceProbability, - type SpellTraceStatType -} from '@malib/gear'; - -export class SpellTraceEnchanter { - constructor(gear: Gear) { - this.gear = gear; - this.probs = getSpellTraceProbs(gear); - this.infos = getSpellTraceInfos(gear); - } - - gear: Gear; - probs: SpellTraceProbability[]; - infos: SpellTraceInfo[]; - /** 4번째 강화일 시 주문의 흔적 */ - infos4: SpellTraceInfo[] | undefined; - - getProbs() { - return this.probs; - } - - getInfos() { - if (this.gear.upgradeCount + 1 === 4) { - return this.infos4 ?? (this.infos4 = getSpellTraceInfos(this.gear)); - } else { - return this.infos; - } - } - - apply(gear: Gear, info: SpellTraceInfo) { - applyScroll(gear, info.scroll); - recalculateStarforce(gear); - return gear; - } - - applyFull(gear: Gear, info: SpellTraceInfo) { - const count = gear.upgradeCountLeft; - for (let i = 0; i < count; i++) { - if (gear.upgradeCount + 1 === 4) { - applySpellTrace(gear, info.type, info.prob); - } else { - applyScroll(gear, info.scroll); - } - } - recalculateStarforce(gear); - return gear; - } - - static getUpdatedInstance(gear: Gear | undefined, prev: SpellTraceEnchanter | undefined) { - if (!gear) return undefined; - if (prev && prev.gear.itemID == gear.itemID) return prev; - return new this(gear); - } -} - -export type SpellTraceInfo = { - scroll: Scroll; - type: SpellTraceStatType; - prob: SpellTraceProbability; -}; - -export function getSpellTraceInfos(gear: Gear) { - const infos: SpellTraceInfo[] = []; - const types = getSpellTraceTypes(gear); - const probs = getSpellTraceProbs(gear); - for (const type of types) { - for (const prob of probs) { - const scroll = getSpellTraceScroll(gear, type, prob); - if (scroll && !infos.some((info) => info.scroll.name === scroll.name)) { - infos.push({ scroll: scroll, type: type, prob: prob }); - } - } - } - return infos; -} - -export function getSpellTraceTypes(gear: Gear): SpellTraceStatType[] { - const jobStat = [ - [GearPropType.incSTR, GearPropType.incMHP], - [GearPropType.incINT], - [GearPropType.incDEX], - [GearPropType.incSTR, GearPropType.incDEX, GearPropType.incLUK], - [GearPropType.incSTR, GearPropType.incDEX, GearPropType.incLUK] - ] as const; - let types: SpellTraceStatType[] = []; - if (gear.req.job === 0) { - if (Gear.isWeapon(gear.type) || gear.type === GearType.katara) { - types = [ - GearPropType.incSTR, - GearPropType.incDEX, - GearPropType.incLUK, - GearPropType.incMHP, - GearPropType.incINT - ]; - } else { - types = [ - GearPropType.incSTR, - GearPropType.incINT, - GearPropType.incDEX, - GearPropType.incLUK, - GearPropType.incMHP - ]; - } - } else { - for (let i = 0; i < 5; i++) { - if ((gear.req.job & (1 << i)) !== 0) { - for (const stat of jobStat[i]) { - if (!types.includes(stat)) types.push(stat); - } - } - } - types.sort((a, b) => a - b); - } - if (Gear.isArmor(gear.type) || Gear.isAccessory(gear.type)) { - types.push(GearPropType.incAllStat); - } - return types; -} - -export function getSpellTraceProbs(gear: Gear): SpellTraceProbability[] { - if (Gear.isWeapon(gear.type) || gear.type == GearType.katara || Gear.isArmor(gear.type)) { - return [100, 70, 30, 15]; - } else { - return [100, 70, 30]; - } -} diff --git a/src/lib/enchant/domains/util.ts b/src/lib/enchant/domains/util.ts deleted file mode 100644 index 5c4feb4..0000000 --- a/src/lib/enchant/domains/util.ts +++ /dev/null @@ -1,10 +0,0 @@ -export function resultOrFalse( - func: (arg: T, ...args: never[]) => boolean, - arg: T | undefined, - ...args: unknown[] -): boolean { - if (args) { - return arg ? func(arg, ...(args as never[])) : false; - } - return arg ? func(arg) : false; -} diff --git a/src/lib/enchant/images/upgrade/arkInnocent.png b/src/lib/enchant/images/upgrade/arkInnocent.png deleted file mode 100644 index 9c2f572..0000000 Binary files a/src/lib/enchant/images/upgrade/arkInnocent.png and /dev/null differ diff --git a/src/lib/enchant/images/upgrade/chaosScroll.png b/src/lib/enchant/images/upgrade/chaosScroll.png deleted file mode 100644 index ad47094..0000000 Binary files a/src/lib/enchant/images/upgrade/chaosScroll.png and /dev/null differ diff --git a/src/lib/enchant/images/upgrade/cleanSlate.png b/src/lib/enchant/images/upgrade/cleanSlate.png deleted file mode 100644 index c7219ae..0000000 Binary files a/src/lib/enchant/images/upgrade/cleanSlate.png and /dev/null differ diff --git a/src/lib/enchant/images/upgrade/fail.png b/src/lib/enchant/images/upgrade/fail.png deleted file mode 100644 index f5a18c1..0000000 Binary files a/src/lib/enchant/images/upgrade/fail.png and /dev/null differ diff --git a/src/lib/enchant/images/upgrade/goldenHammer.png b/src/lib/enchant/images/upgrade/goldenHammer.png deleted file mode 100644 index afa1e9d..0000000 Binary files a/src/lib/enchant/images/upgrade/goldenHammer.png and /dev/null differ diff --git a/src/lib/enchant/images/upgrade/innocent.png b/src/lib/enchant/images/upgrade/innocent.png deleted file mode 100644 index b54d1f9..0000000 Binary files a/src/lib/enchant/images/upgrade/innocent.png and /dev/null differ diff --git a/src/lib/enchant/images/upgrade/onlyScroll.png b/src/lib/enchant/images/upgrade/onlyScroll.png deleted file mode 100644 index c26164b..0000000 Binary files a/src/lib/enchant/images/upgrade/onlyScroll.png and /dev/null differ diff --git a/src/lib/enchant/images/upgrade/padScroll.png b/src/lib/enchant/images/upgrade/padScroll.png deleted file mode 100644 index 55099e1..0000000 Binary files a/src/lib/enchant/images/upgrade/padScroll.png and /dev/null differ diff --git a/src/lib/enchant/images/upgrade/specialScroll.png b/src/lib/enchant/images/upgrade/specialScroll.png deleted file mode 100644 index c908c15..0000000 Binary files a/src/lib/enchant/images/upgrade/specialScroll.png and /dev/null differ diff --git a/src/lib/enchant/images/upgrade/spellTrace.png b/src/lib/enchant/images/upgrade/spellTrace.png deleted file mode 100644 index f80accc..0000000 Binary files a/src/lib/enchant/images/upgrade/spellTrace.png and /dev/null differ diff --git a/src/lib/enchant/images/upgrade/spelltrace/spelltrace100.png b/src/lib/enchant/images/upgrade/spelltrace/spelltrace100.png deleted file mode 100644 index 72f56bf..0000000 Binary files a/src/lib/enchant/images/upgrade/spelltrace/spelltrace100.png and /dev/null differ diff --git a/src/lib/enchant/images/upgrade/spelltrace/spelltrace15.png b/src/lib/enchant/images/upgrade/spelltrace/spelltrace15.png deleted file mode 100644 index 6f70cc6..0000000 Binary files a/src/lib/enchant/images/upgrade/spelltrace/spelltrace15.png and /dev/null differ diff --git a/src/lib/enchant/images/upgrade/spelltrace/spelltrace30.png b/src/lib/enchant/images/upgrade/spelltrace/spelltrace30.png deleted file mode 100644 index c5b2fc6..0000000 Binary files a/src/lib/enchant/images/upgrade/spelltrace/spelltrace30.png and /dev/null differ diff --git a/src/lib/enchant/images/upgrade/spelltrace/spelltrace70.png b/src/lib/enchant/images/upgrade/spelltrace/spelltrace70.png deleted file mode 100644 index e687e11..0000000 Binary files a/src/lib/enchant/images/upgrade/spelltrace/spelltrace70.png and /dev/null differ diff --git a/src/lib/export.ts b/src/lib/export.ts deleted file mode 100644 index f9a07e3..0000000 --- a/src/lib/export.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type { GearMeta } from '$lib/inventory/stores/gear-store'; -import { stringifyGear, type Gear } from '@malib/gear'; -import { compressToBase64, compressToEncodedURIComponent } from 'lz-string'; - -export function stringifyGearMeta(gear: Gear, meta: GearMeta) { - return stringifyGear(gear) + '|' + JSON.stringify(meta); -} - -export function gearMetaToBase64(gear: Gear, meta: GearMeta) { - return compressToBase64(stringifyGearMeta(gear, meta)); -} - -export function gearMetaToEncodedURIComponent(gear: Gear, meta: GearMeta) { - return compressToEncodedURIComponent(stringifyGearMeta(gear, meta)); -} diff --git a/src/lib/features/gear-enchant-ui/GearEnchantUI.svelte b/src/lib/features/gear-enchant-ui/GearEnchantUI.svelte new file mode 100644 index 0000000..5ef90a5 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/GearEnchantUI.svelte @@ -0,0 +1,95 @@ + + +
+
+ +
+
+
+
+
+ +
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
diff --git a/src/lib/features/gear-enchant-ui/balanced-grid/BalancedGrid.svelte b/src/lib/features/gear-enchant-ui/balanced-grid/BalancedGrid.svelte new file mode 100644 index 0000000..ec405f5 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/balanced-grid/BalancedGrid.svelte @@ -0,0 +1,48 @@ + + +
size && 'sm:grid-cols-[1fr_1px_1fr]', + className + )} +> +
+ {#each leftItems as item} + {@render itemRenderer(item)} + {/each} +
+ {#if items.length > size} +
diff --git a/src/lib/features/gear-enchant-ui/balanced-grid/index.ts b/src/lib/features/gear-enchant-ui/balanced-grid/index.ts new file mode 100644 index 0000000..23578bc --- /dev/null +++ b/src/lib/features/gear-enchant-ui/balanced-grid/index.ts @@ -0,0 +1 @@ +export { default as BalancedGrid } from './BalancedGrid.svelte'; diff --git a/src/lib/features/gear-enchant-ui/index.ts b/src/lib/features/gear-enchant-ui/index.ts new file mode 100644 index 0000000..dc3f9c9 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/index.ts @@ -0,0 +1 @@ +export { default as GearEnchantUI } from './GearEnchantUI.svelte'; \ No newline at end of file diff --git a/src/lib/features/gear-enchant-ui/item-card/ItemCard.svelte b/src/lib/features/gear-enchant-ui/item-card/ItemCard.svelte new file mode 100644 index 0000000..889ac76 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/item-card/ItemCard.svelte @@ -0,0 +1,27 @@ + + + + + {@render children?.()} + diff --git a/src/lib/features/gear-enchant-ui/item-card/ItemCardContent.svelte b/src/lib/features/gear-enchant-ui/item-card/ItemCardContent.svelte new file mode 100644 index 0000000..6e6b671 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/item-card/ItemCardContent.svelte @@ -0,0 +1,14 @@ + + + + {@render children?.()} + diff --git a/src/lib/features/gear-enchant-ui/item-card/ItemCardFooter.svelte b/src/lib/features/gear-enchant-ui/item-card/ItemCardFooter.svelte new file mode 100644 index 0000000..eb267f6 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/item-card/ItemCardFooter.svelte @@ -0,0 +1,14 @@ + + + + {@render children?.()} + diff --git a/src/lib/features/gear-enchant-ui/item-card/ItemCardHeader.svelte b/src/lib/features/gear-enchant-ui/item-card/ItemCardHeader.svelte new file mode 100644 index 0000000..9197f78 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/item-card/ItemCardHeader.svelte @@ -0,0 +1,38 @@ + + + + {#if selectedItem} +
+ {#if selectedItem.icon} + + {/if} +
{selectedItem.name}
+
+ {#if clearable} + + {/if} + {:else} +
+
{placeholder}
+
+ {/if} +
diff --git a/src/lib/features/gear-enchant-ui/item-card/index.ts b/src/lib/features/gear-enchant-ui/item-card/index.ts new file mode 100644 index 0000000..a1d8176 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/item-card/index.ts @@ -0,0 +1,3 @@ +export { default as ItemCard } from './ItemCard.svelte'; +export { default as ItemCardContent } from './ItemCardContent.svelte'; +export { default as ItemCardFooter } from './ItemCardFooter.svelte'; diff --git a/src/lib/features/gear-enchant-ui/tab-selector/TabSelectorDrawer.svelte b/src/lib/features/gear-enchant-ui/tab-selector/TabSelectorDrawer.svelte new file mode 100644 index 0000000..2cdb6b8 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tab-selector/TabSelectorDrawer.svelte @@ -0,0 +1,55 @@ + + + + + + + +
+ {#each tabStore.tabs as tab} + {@const isCurrent = tab.value === tabStore.currentTab.value} + + {/each} +
+
+
diff --git a/src/lib/features/gear-enchant-ui/tab-selector/TabSelectorList.svelte b/src/lib/features/gear-enchant-ui/tab-selector/TabSelectorList.svelte new file mode 100644 index 0000000..4b7cad4 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tab-selector/TabSelectorList.svelte @@ -0,0 +1,42 @@ + + +
+ {#each tabStore.tabs as tab} + {@const isCurrent = tab.value === tabStore.currentTab.value} + + {/each} +
diff --git a/src/lib/features/gear-enchant-ui/tab-selector/TabStore.svelte.ts b/src/lib/features/gear-enchant-ui/tab-selector/TabStore.svelte.ts new file mode 100644 index 0000000..c3cb72e --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tab-selector/TabStore.svelte.ts @@ -0,0 +1,34 @@ +export interface Tab { + label: string; + value: string; + disabled?: boolean; +} + +export class TabStore { + tabs: Tab[] = $state([]); + private _currentTab: Tab | undefined = $state(); + + constructor(tabs: Tab[], initialTab?: string) { + this.tabs = tabs; + if (this.enabledTabs.length === 0) { + throw new Error('No enabled tabs'); + } + this._currentTab = + this.enabledTabs.find((tab) => tab.value === initialTab) ?? this.enabledTabs[0]; + } + + private enabledTabs = $derived(this.tabs.filter((tab) => !tab.disabled)); + + public currentTab = $derived(this._currentTab) as Tab; + + setTab(tab: string) { + const tabInfo = this.enabledTabs.find((t) => t.value === tab); + if (tabInfo) { + this._currentTab = tabInfo; + } + } +} + +export function createTabStore(tabs: Tab[], initialTab?: string) { + return new TabStore(tabs, initialTab); +} diff --git a/src/lib/features/gear-enchant-ui/tabs/add-option/GearAddOptionUI.svelte b/src/lib/features/gear-enchant-ui/tabs/add-option/GearAddOptionUI.svelte new file mode 100644 index 0000000..61691d3 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/add-option/GearAddOptionUI.svelte @@ -0,0 +1,117 @@ + + +
+
+
+ + +
+
+ {#each selectedOptions as option} + option.type, + (v) => { + option.type = v; + if (!v) { + option.grade = 0; + } + } + } + > + + {types.find((type) => type.value === option.type)?.label} + + + {#each types as type} + {type.label} + {/each} + + + + String(option.grade), (v) => (option.grade = Number(v) as AddOptionGradeOrEmpty) + } + disabled={!option.type} + > + + {#if option.type && option.grade} + + {:else} + - + {/if} + + + - + {#if option.type} + {#each getAvailableGrades(gear, option.type) as grade} + + + + {/each} + {/if} + + + {/each} +
+
+ + + + + + +
diff --git a/src/lib/features/gear-enchant-ui/tabs/add-option/components/GradeItem.svelte b/src/lib/features/gear-enchant-ui/tabs/add-option/components/GradeItem.svelte new file mode 100644 index 0000000..11d4dd0 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/add-option/components/GradeItem.svelte @@ -0,0 +1,30 @@ + + +
+ {getValueString(type, getAddOptionValue(gear, type, grade))} ({grade}단계) +
diff --git a/src/lib/features/gear-enchant-ui/tabs/add-option/model/addOption.ts b/src/lib/features/gear-enchant-ui/tabs/add-option/model/addOption.ts new file mode 100644 index 0000000..470910b --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/add-option/model/addOption.ts @@ -0,0 +1,123 @@ +import { AddOptionType, Gear, getAddOptionValue, ReadonlyGear } from '@malib/gear'; + +export function getAvailableTypes(gear: ReadonlyGear) { + const types: ReturnType = []; + for (const type of addOptionTypes) { + if (!type.value) { + types.push(type); + continue; + } + try { + getAddOptionValue(gear, type.value, 1); + types.push(type); + } catch {} + } + return types; +} + +export function getAvailableGrades(gear: ReadonlyGear, type: AddOptionType) { + const grades: ReturnType = []; + for (const grade of addOptionGrades) { + if (gear.attributes.bossReward && grade <= 2) { + continue; + } + try { + getAddOptionValue(gear, type, grade); + grades.push(grade); + } catch {} + } + return grades; +} + +export const addOptionTypes = [ + { + label: '-', + value: '' + }, + { + label: 'STR', + value: AddOptionType.str + }, + { + label: 'DEX', + value: AddOptionType.dex + }, + { + label: 'INT', + value: AddOptionType.int + }, + { + label: 'LUK', + value: AddOptionType.luk + }, + { + label: 'STR, DEX', + value: AddOptionType.str_dex + }, + { + label: 'STR, INT', + value: AddOptionType.str_int + }, + { + label: 'STR, LUK', + value: AddOptionType.str_luk + }, + { + label: 'DEX, INT', + value: AddOptionType.dex_int + }, + { + label: 'DEX, LUK', + value: AddOptionType.dex_luk + }, + { + label: 'INT, LUK', + value: AddOptionType.int_luk + }, + { + label: '올스탯', + value: AddOptionType.allStat + }, + { + label: '최대 HP', + value: AddOptionType.maxHp + }, + { + label: '최대 MP', + value: AddOptionType.maxMp + }, + { + label: '공격력', + value: AddOptionType.attackPower + }, + { + label: '마력', + value: AddOptionType.magicPower + }, + { + label: '방어력', + value: AddOptionType.armor + }, + { + label: '이동속도', + value: AddOptionType.speed + }, + { + label: '점프력', + value: AddOptionType.jump + }, + { + label: '데미지', + value: AddOptionType.damage + }, + { + label: '보스 몬스터 데미지', + value: AddOptionType.bossDamage + }, + { + label: '착용 레벨 감소', + value: AddOptionType.reqLevelDecrease + } +] as const; + +export const addOptionGrades = [1, 2, 3, 4, 5, 6, 7] as const; diff --git a/src/lib/features/gear-enchant-ui/tabs/add-option/model/types.ts b/src/lib/features/gear-enchant-ui/tabs/add-option/model/types.ts new file mode 100644 index 0000000..71efcfd --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/add-option/model/types.ts @@ -0,0 +1,9 @@ +import type { AddOptionGrade, AddOptionType } from '@malib/gear'; + +export type AddOptionTypeOrEmpty = AddOptionType | ''; +export type AddOptionGradeOrEmpty = AddOptionGrade | 0; + +export type SelectedOption = { + type: AddOptionTypeOrEmpty; + grade: AddOptionGradeOrEmpty; +}; diff --git a/src/lib/features/gear-enchant-ui/tabs/attributes/GearAttributeUI.svelte b/src/lib/features/gear-enchant-ui/tabs/attributes/GearAttributeUI.svelte new file mode 100644 index 0000000..c69b3a7 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/attributes/GearAttributeUI.svelte @@ -0,0 +1,201 @@ + + +
+
+

교환 가능 여부

+ String(gear.attributes.trade), + (v) => { + gear.data.attributes.trade = Number(v); + } + } + > + {#each tradeTypes as tradeType} +
+ + +
+ {/each} +
+
+ +
+

카르마의 가위

+ String(gear.attributes.cuttable), + (v) => { + gear.data.attributes.cuttable = Number(v); + } + } + > + {#each cuttableTypes as cuttableType} +
+ + +
+ {/each} +
+
+
최대 가위 사용 횟수
+ + {#each totalCuttableCounts as count} + + {/each} + +
+
+
+ + + {#if cuttableCountError} +

{cuttableCountError}

+ {/if} +
+
+
+ + {#if 80 <= gear.req.level && gear.req.level <= 110} +
+
+

착용 레벨 증가

+

+ 잠재능력과 에디셔널 잠재능력 수치는 자동으로 업데이트되지 않아요. +

+
+ + {#each reqLevelIncreases as reqLevelIncrease} + + {/each} + +
+ {/if} + +
+

이름 새기기

+ (itemTagError = undefined)} + /> + {#if itemTagError} +

{itemTagError}

+ {/if} + + + + +
+ + {#if isShapeChangeableGear(gear)} +
+

신비의 모루

+ + + + +
+ {/if} +
diff --git a/src/lib/features/gear-enchant-ui/tabs/attributes/components/AnvilDialog.svelte b/src/lib/features/gear-enchant-ui/tabs/attributes/components/AnvilDialog.svelte new file mode 100644 index 0000000..3d587ad --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/attributes/components/AnvilDialog.svelte @@ -0,0 +1,116 @@ + + + + 외형 설정하기 + + + 외형 설정하기 + +
+
+ + + {#if search} + + {/if} +
+ {#if results && results.length > 0} + String(item.id)} + size={9} + selected={selected ? String(selected.id) : null} + > + {#snippet children(item)} + (selected = item)} + onDeselect={() => (selected = null)} + > +
+ +
+ +
+
+
+ {/snippet} +
+ {:else if search} +
검색된 아이템이 없어요.
+ {:else} +
아이템 이름을 입력해 주세요.
+ {/if} +
+ + 닫기 + + +
+
diff --git a/src/lib/features/gear-enchant-ui/tabs/attributes/model/anvil.ts b/src/lib/features/gear-enchant-ui/tabs/attributes/model/anvil.ts new file mode 100644 index 0000000..5318ac2 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/attributes/model/anvil.ts @@ -0,0 +1,23 @@ +import { GearType, isShield, isWeapon, type ReadonlyGear } from '@malib/gear'; + +export function isShapeChangeableGear(gear: ReadonlyGear) { + if (isWeapon(gear.type) || gear.type === GearType.katara || isShield(gear.type)) { + return true; + } + switch (gear.type) { + case GearType.cap: + case GearType.faceAccessory: + case GearType.eyeAccessory: + case GearType.earrings: + case GearType.coat: + case GearType.longcoat: + case GearType.pants: + case GearType.shoes: + case GearType.glove: + case GearType.cape: + case GearType.medal: + return true; + default: + return false; + } +} diff --git a/src/lib/features/gear-enchant-ui/tabs/attributes/model/cuttable.ts b/src/lib/features/gear-enchant-ui/tabs/attributes/model/cuttable.ts new file mode 100644 index 0000000..46f6695 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/attributes/model/cuttable.ts @@ -0,0 +1,60 @@ +import { Gear, GearCuttable } from '@malib/gear'; + +export const cuttableTypes = [ + { + label: '사용 불가', + value: GearCuttable.None + }, + { + label: '카르마의 가위', + value: GearCuttable.Silver + }, + { + label: '플래티넘 카르마의 가위', + value: GearCuttable.Platinum + } +]; + +export const totalCuttableCounts = [ + { + label: '없음', + value: undefined + }, + { + label: '5회', + value: 5 + }, + { + label: '10회', + value: 10 + }, + { + label: '20회', + value: 20 + } +]; + +export function setTotalCuttableCount(gear: Gear, count: number | undefined) { + gear.data.attributes.cuttableCount = count; + gear.data.attributes.totalCuttableCount = count; +} + +export function setCuttableCount(gear: Gear, count: number | undefined) { + if (gear.attributes.totalCuttableCount === undefined) { + return; + } + + count = count ?? 0; + count = Math.max(0, count); + count = Math.min(count, gear.attributes.totalCuttableCount); + gear.data.attributes.cuttableCount = count; +} + +export function validateCuttableCount(gear: Gear, count: number | undefined) { + if (count === undefined || gear.attributes.totalCuttableCount === undefined) { + return; + } + if (count < 0 || count > gear.attributes.totalCuttableCount) { + return `가위 사용 잔여 횟수는 0 이상, 최대 횟수(${gear.attributes.totalCuttableCount}) 이하로 설정할 수 있어요.`; + } +} diff --git a/src/lib/features/gear-enchant-ui/tabs/attributes/model/itemtag.ts b/src/lib/features/gear-enchant-ui/tabs/attributes/model/itemtag.ts new file mode 100644 index 0000000..3ad457b --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/attributes/model/itemtag.ts @@ -0,0 +1,23 @@ +export function validateItemTag(itemTag: string): string | undefined { + const length = getMapleLength(itemTag); + if (length < 4 || length > 12) { + return '4자 이상, 12자 이하로 입력해주세요. 한글은 2자로 취급돼요.'; + } + const regex = /^[a-zA-Z0-9가-힣]+$/; + if (!regex.test(itemTag)) { + return '영문자, 숫자, 한글만 사용할 수 있어요.'; + } + return undefined; +} + +function getMapleLength(itemTag: string): number { + let length = 0; + for (const char of itemTag) { + if ('가' <= char && char <= '힣') { + length += 2; + } else { + length += 1; + } + } + return length; +} diff --git a/src/lib/features/gear-enchant-ui/tabs/attributes/model/req.ts b/src/lib/features/gear-enchant-ui/tabs/attributes/model/req.ts new file mode 100644 index 0000000..d337146 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/attributes/model/req.ts @@ -0,0 +1,18 @@ +export const reqLevelIncreases = [ + { + label: '없음', + value: 0 + }, + { + label: '+10', + value: 10 + }, + { + label: '+20', + value: 20 + }, + { + label: '+30', + value: 30 + } +]; diff --git a/src/lib/features/gear-enchant-ui/tabs/attributes/model/trade.ts b/src/lib/features/gear-enchant-ui/tabs/attributes/model/trade.ts new file mode 100644 index 0000000..7154da7 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/attributes/model/trade.ts @@ -0,0 +1,20 @@ +import { GearTrade } from '@malib/gear'; + +export const tradeTypes = [ + { + label: '교환 가능', + value: GearTrade.Tradeable + }, + { + label: '교환 불가', + value: GearTrade.TradeBlock + }, + { + label: '장착 시 교환 불가', + value: GearTrade.EquipTradeBlock + }, + { + label: '1회 교환 가능', + value: GearTrade.TradeOnce + } +]; diff --git a/src/lib/features/gear-enchant-ui/tabs/exceptional/GearExceptionalUI.svelte b/src/lib/features/gear-enchant-ui/tabs/exceptional/GearExceptionalUI.svelte new file mode 100644 index 0000000..f983536 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/exceptional/GearExceptionalUI.svelte @@ -0,0 +1,74 @@ + + +
+
+ +
+ 익셉셔널 강화 {gear.exceptionalUpgradeCount}회 (최대 + {gear.exceptionalTotalUpgradeableCount}회) +
+
+
+ + + + {#if exceptionalHammer} + {@const optionStrings = getGearOptionGroupedStrings(exceptionalHammer?.option)} + + {#snippet itemRenderer(strings: [string, string])} +
+ {strings[0]} + {strings[1]} +
+ {/snippet} +
+ {:else} +
+ {/if} +
+ + {#if exceptionalHammer} + + + + {:else} +
+ {/if} +
+
+ + + + + + +
diff --git a/src/lib/features/gear-enchant-ui/tabs/exceptional/model/exceptional.ts b/src/lib/features/gear-enchant-ui/tabs/exceptional/model/exceptional.ts new file mode 100644 index 0000000..cf3be7b --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/exceptional/model/exceptional.ts @@ -0,0 +1,19 @@ +import { GearType } from '@malib/gear'; + +import type { Gear } from '@malib/gear'; +import { exceptionalHammerData } from './hammerData'; + +export function getExceptionalHammer(gear: Gear) { + switch (gear.type) { + case GearType.belt: + return exceptionalHammerData['익셉셔널 해머 (벨트)']; + case GearType.earrings: + return exceptionalHammerData['익셉셔널 해머 (귀고리)']; + case GearType.faceAccessory: + return exceptionalHammerData['익셉셔널 해머 (얼굴장식)']; + case GearType.eyeAccessory: + return exceptionalHammerData['익셉셔널 해머 (눈장식)']; + default: + return null; + } +} diff --git a/src/lib/features/gear-enchant-ui/tabs/exceptional/model/hammerData.ts b/src/lib/features/gear-enchant-ui/tabs/exceptional/model/hammerData.ts new file mode 100644 index 0000000..9e0ec0e --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/exceptional/model/hammerData.ts @@ -0,0 +1,58 @@ +export const exceptionalHammerData = { + '익셉셔널 해머 (벨트)': { + name: '익셉셔널 해머 (벨트)', + icon: '2644204', + option: { + str: 20, + dex: 20, + int: 20, + luk: 20, + attackPower: 15, + magicPower: 15, + maxHp: 1000, + maxMp: 1000 + } + }, + '익셉셔널 해머 (얼굴장식)': { + name: '익셉셔널 해머 (얼굴장식)', + icon: '2644205', + option: { + str: 15, + dex: 15, + int: 15, + luk: 15, + attackPower: 10, + magicPower: 10, + maxHp: 750, + maxMp: 750 + } + }, + '익셉셔널 해머 (눈장식)': { + name: '익셉셔널 해머 (눈장식)', + icon: '2644206', + option: { + str: 15, + dex: 15, + int: 15, + luk: 15, + attackPower: 10, + magicPower: 10, + maxHp: 750, + maxMp: 750 + } + }, + '익셉셔널 해머 (귀고리)': { + name: '익셉셔널 해머 (귀고리)', + icon: '2644207', + option: { + str: 20, + dex: 20, + int: 20, + luk: 20, + attackPower: 15, + magicPower: 15, + maxHp: 1000, + maxMp: 1000 + } + } +}; diff --git a/src/lib/features/gear-enchant-ui/tabs/manage/GearManageUI.svelte b/src/lib/features/gear-enchant-ui/tabs/manage/GearManageUI.svelte new file mode 100644 index 0000000..3da6c6f --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/manage/GearManageUI.svelte @@ -0,0 +1,52 @@ + + +
+
+

아이템 이미지

+ + + +
+ + {#if patches.length > 0} +
+

아이템 프리셋

+
+ {#each patches as patch} +
+
+
+
{patch.name}
+

{patch.desc}

+
+ +
+
+ {/each} +
+
+ {/if} +
diff --git a/src/lib/features/gear-enchant-ui/tabs/manage/components/ImageDialog.svelte b/src/lib/features/gear-enchant-ui/tabs/manage/components/ImageDialog.svelte new file mode 100644 index 0000000..b87c637 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/manage/components/ImageDialog.svelte @@ -0,0 +1,98 @@ + + + + 열기 + + + 아이템 이미지 + + + {#if dataUrl} +
+ {gear.name} + {#if maybeInvalidImage} + + + 이미지가 정확하지 않을 수 있어요. + PC와 브라우저의 배율이 100%인지 확인해 주세요. + + {/if} +
+ {:else} +
+
+ +
+ +
+ {/if} + + + + +
+
diff --git a/src/lib/features/gear-enchant-ui/tabs/manage/model/patch.ts b/src/lib/features/gear-enchant-ui/tabs/manage/model/patch.ts new file mode 100644 index 0000000..ccebd1d --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/manage/model/patch.ts @@ -0,0 +1,137 @@ +import { + Gear, + GearCapability, + getSpellTraceScroll, + SpellTraceType, + toGearOption, + type AddOptionGrade, + type AddOptionType, + type GearUpgradeOption, + type ReadonlyGear, + type SpellTraceRate +} from '@malib/gear'; + +export interface Patch { + name: string; + desc: string; + can?: { + star?: GearCapability; + scroll?: GearCapability; + add?: GearCapability; + potential?: GearCapability; + additionalPotential?: GearCapability; + }; + star?: number; + scroll?: [number, SpellTraceType, SpellTraceRate][]; + add?: [AddOptionType, AddOptionGrade][]; +} + +export function applyPatch(gear: Gear, patch: Patch) { + if (patch.can?.star !== undefined) { + gear.data.attributes.canStarforce = patch.can.star; + } + if (patch.can?.scroll !== undefined) { + gear.data.attributes.canScroll = patch.can.scroll; + } + if (patch.can?.add !== undefined) { + gear.data.attributes.canAddOption = patch.can.add; + } + if (patch.can?.potential !== undefined) { + gear.data.attributes.canPotential = patch.can.potential; + } + if (patch.can?.additionalPotential !== undefined) { + gear.data.attributes.canAdditionalPotential = patch.can.additionalPotential; + } + if (patch.star !== undefined) { + const can = gear.data.attributes.canStarforce; + gear.data.attributes.canStarforce = GearCapability.Can; + gear.resetStarforce(); + while (gear.star < patch.star) { + gear.applyStarforceIgnoringMaxStar(); + } + gear.data.attributes.canStarforce = can; + } + if (patch.scroll !== undefined) { + const can = gear.data.attributes.canScroll; + gear.data.attributes.canScroll = GearCapability.Can; + gear.resetUpgrade(); + for (const [count, type, rate] of patch.scroll) { + for (let i = 0; i < count; i++) { + gear.applySpellTrace(type, rate); + } + } + gear.data.attributes.canScroll = can; + } + if (patch.add !== undefined) { + const can = gear.data.attributes.canAddOption; + gear.data.attributes.canAddOption = GearCapability.Can; + gear.resetAddOption(); + for (const [type, grade] of patch.add) { + gear.applyAddOption(type, grade); + } + gear.data.attributes.canAddOption = can; + } +} + +/** + * @param gear gear.data는 structuredClone이 가능한 순수 JS 객체여야 합니다. + */ +export function isPatchSatisfied(gear: ReadonlyGear, patch: Patch): boolean { + if (patch.can?.star !== undefined && gear.data.attributes.canStarforce !== patch.can.star) { + return false; + } + if (patch.can?.scroll !== undefined && gear.data.attributes.canScroll !== patch.can.scroll) { + return false; + } + if (patch.can?.add !== undefined && gear.data.attributes.canAddOption !== patch.can.add) { + return false; + } + if ( + patch.can?.potential !== undefined && + gear.data.attributes.canPotential !== patch.can.potential + ) { + return false; + } + if ( + patch.can?.additionalPotential !== undefined && + gear.data.attributes.canAdditionalPotential !== patch.can.additionalPotential + ) { + return false; + } + if (patch.star !== undefined && gear.star !== patch.star) { + return false; + } + if (patch.scroll !== undefined) { + if (gear.scrollUpgradeCount !== patch.scroll.reduce((acc, cur) => acc + cur[0], 0)) { + return false; + } + const tempGear = new Gear(structuredClone(gear.data)); + tempGear.data.attributes.canScroll = GearCapability.Can; + tempGear.resetUpgrade(); + for (const [count, type, rate] of patch.scroll) { + for (let i = 0; i < count; i++) { + tempGear.applySpellTrace(type, rate); + } + } + // Check gear.upgradeOption == tempGear.upgradeOption + for (const [stat, value] of Object.entries(tempGear.upgradeOption)) { + if (gear.upgradeOption[stat as keyof GearUpgradeOption] !== value) { + return false; + } + } + } + if (patch.add !== undefined) { + if (gear.addOptions.length !== patch.add.length) { + return false; + } + for (let i = 0; i < gear.addOptions.length; i++) { + if ( + gear.addOptions[i].type !== patch.add[i][0] || + gear.addOptions[i].grade !== patch.add[i][1] + ) { + return false; + } + } + } + return true; +} diff --git a/src/lib/features/gear-enchant-ui/tabs/manage/model/patches.ts b/src/lib/features/gear-enchant-ui/tabs/manage/model/patches.ts new file mode 100644 index 0000000..f64d142 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/manage/model/patches.ts @@ -0,0 +1,158 @@ +import { GearCapability, GearType, isWeapon, SpellTraceType, type ReadonlyGear } from '@malib/gear'; +import type { Patch } from './patch'; + +export function getSpecialPatches(gear: ReadonlyGear): Patch[] { + if (isGenesisOrDestinyWeapon(gear)) { + if (isDestinyWeapon(gear)) { + return getStatsFromWeaponType(gear.type).map(getDestinyPatch); + } else { + return getStatsFromWeaponType(gear.type).map(getGenesisPatch); + } + } + switch (gear.id) { + case 1152155: // 스칼렛 숄더 + return [ + { + name: '스칼렛 숄더', + desc: '추가 옵션 강화 불가 해제', + can: { + add: GearCapability.Can + } + } + ]; + case 1190400: // 보스 아레나 엠블렘 + return [ + { + name: '보스 아레나 엠블렘', + desc: '추가 옵션 강화 불가 해제', + can: { + add: GearCapability.Can + } + } + ]; + } + return []; +} + +function isGenesisOrDestinyWeapon(gear: ReadonlyGear): boolean { + const setItemId = gear.attributes.setItemId; + return isWeapon(gear.type) && setItemId !== undefined && 886 <= setItemId && setItemId <= 890; +} + +function isDestinyWeapon(gear: ReadonlyGear): boolean { + return isGenesisOrDestinyWeapon(gear) && gear.req.level === 250; +} + +function getGenesisPatch(stat: SpellTraceType): Patch { + const statName = getStatName(stat); + return { + name: `제네시스 무기 해방 (${statName})`, + desc: `${statName} 15% 주문서 강화 8회, 스타포스 22성`, + star: 22, + scroll: [[8, stat, 15]] + }; +} + +function getDestinyPatch(stat: SpellTraceType): Patch { + const statName = getStatName(stat); + return { + name: `데스티니 무기 해방 (${statName})`, + desc: `${statName} 15% 주문서 강화 8회, 스타포스 22성`, + star: 22, + scroll: [[8, stat, 15]] + }; +} + +function getStatName(stat: SpellTraceType): string { + switch (stat) { + case SpellTraceType.str: + return '힘'; + case SpellTraceType.dex: + return '민첩'; + case SpellTraceType.int: + return '지능'; + case SpellTraceType.luk: + return '운'; + case SpellTraceType.maxHp: + return '체력'; + case SpellTraceType.allStat: + return '올스탯'; + } +} + +function getStatsFromWeaponType(type: GearType): SpellTraceType[] { + switch (type) { + case GearType.shiningRod: + return [SpellTraceType.int]; + case GearType.tuner: + return [SpellTraceType.str]; + case GearType.breathShooter: + return [SpellTraceType.dex]; + case GearType.longSword2: + return [SpellTraceType.str]; + case GearType.soulShooter: + return [SpellTraceType.dex]; + case GearType.desperado: + return [SpellTraceType.maxHp]; + case GearType.energySword: + return [SpellTraceType.str, SpellTraceType.dex, SpellTraceType.luk]; + case GearType.espLimiter: + return [SpellTraceType.int]; + case GearType.chain: + return [SpellTraceType.luk]; + case GearType.magicGauntlet: + return [SpellTraceType.int]; + case GearType.ritualFan: + return [SpellTraceType.luk]; + case GearType.ohSword: + return [SpellTraceType.str]; + case GearType.ohAxe: + return [SpellTraceType.str]; + case GearType.ohBlunt: + return [SpellTraceType.str]; + case GearType.dagger: + return [SpellTraceType.luk]; + case GearType.cane: + return [SpellTraceType.luk]; + case GearType.wand: + return [SpellTraceType.int]; + case GearType.staff: + return [SpellTraceType.int]; + case GearType.thSword: + return [SpellTraceType.str]; + case GearType.chakram: + return [SpellTraceType.luk]; + case GearType.thAxe: + return [SpellTraceType.str]; + case GearType.thBlunt: + return [SpellTraceType.str]; + case GearType.spear: + return [SpellTraceType.str]; + case GearType.polearm: + return [SpellTraceType.str]; + case GearType.bow: + return [SpellTraceType.dex]; + case GearType.crossbow: + return [SpellTraceType.dex]; + case GearType.claw: + return [SpellTraceType.luk]; + case GearType.knuckle: + return [SpellTraceType.str]; + case GearType.gun: + return [SpellTraceType.dex]; + case GearType.dualBowguns: + return [SpellTraceType.dex]; + case GearType.handCannon: + return [SpellTraceType.str]; + case GearType.longSword: + return [SpellTraceType.str]; + case GearType.heavySword: + return [SpellTraceType.str]; + case GearType.gauntletRevolver: + return [SpellTraceType.str]; + case GearType.ancientBow: + return [SpellTraceType.dex]; + default: + return []; + } +} diff --git a/src/lib/features/gear-enchant-ui/tabs/potential/GearAdditionalPotentialUI.svelte b/src/lib/features/gear-enchant-ui/tabs/potential/GearAdditionalPotentialUI.svelte new file mode 100644 index 0000000..45c5e8d --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/potential/GearAdditionalPotentialUI.svelte @@ -0,0 +1,24 @@ + + + getGradeAdditionalPotentialDatas(gear, grade)} + gradeLabel="에디셔널 잠재능력 등급" + optionLabel="에디셔널 잠재능력 옵션" + onChange={(grade, potentials) => { + if (!gear.supportsAdditionalPotential) return; + + if (grade > PotentialGrade.Normal && potentials.length > 0) { + gear.setAdditionalPotential(grade, potentials); + } else { + gear.resetAdditionalPotential(); + } + }} +/> diff --git a/src/lib/features/gear-enchant-ui/tabs/potential/GearPotentialUI.svelte b/src/lib/features/gear-enchant-ui/tabs/potential/GearPotentialUI.svelte new file mode 100644 index 0000000..f03d1a7 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/potential/GearPotentialUI.svelte @@ -0,0 +1,24 @@ + + + getGradePotentialDatas(gear, grade)} + gradeLabel="잠재능력 등급" + optionLabel="잠재능력 옵션" + onChange={(grade, potentials) => { + if (!gear.supportsPotential) return; + + if (grade > PotentialGrade.Normal && potentials.length > 0) { + gear.setPotential(grade, potentials); + } else { + gear.resetPotential(); + } + }} +/> diff --git a/src/lib/features/gear-enchant-ui/tabs/potential/components/GearPotentialUIBase.svelte b/src/lib/features/gear-enchant-ui/tabs/potential/components/GearPotentialUIBase.svelte new file mode 100644 index 0000000..b7c39a0 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/potential/components/GearPotentialUIBase.svelte @@ -0,0 +1,96 @@ + + +
+
+

{gradeLabel}

+ + {#each grades as { label, value }} + + {/each} + +
+ +
+

{optionLabel}

+ {#each potentials as potential, index} + {@const options = index === 0 ? gradePotentials : concatPotentials} + potential?.summary ?? defaultValue, + (v) => (potentials[index] = options.find((p) => p.summary === v) ?? null) + } + disabled={grade === PotentialGrade.Normal} + > + + {#if potential} + + {:else} + {defaultLabel} + {/if} + + + {defaultLabel} + {#each options as option} + + + + {/each} + + + {/each} +
+
diff --git a/src/lib/features/gear-enchant-ui/tabs/potential/components/PotentialSummary.svelte b/src/lib/features/gear-enchant-ui/tabs/potential/components/PotentialSummary.svelte new file mode 100644 index 0000000..b03b7f8 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/potential/components/PotentialSummary.svelte @@ -0,0 +1,11 @@ + + +
+ + {potential.summary} +
diff --git a/src/lib/features/gear-enchant-ui/tabs/potential/components/PotentialTitle.svelte b/src/lib/features/gear-enchant-ui/tabs/potential/components/PotentialTitle.svelte new file mode 100644 index 0000000..e3c3ab2 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/potential/components/PotentialTitle.svelte @@ -0,0 +1,23 @@ + + + diff --git a/src/lib/features/gear-enchant-ui/tabs/potential/model/codes.ts b/src/lib/features/gear-enchant-ui/tabs/potential/model/codes.ts new file mode 100644 index 0000000..b14bb53 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/potential/model/codes.ts @@ -0,0 +1,68 @@ +import { PotentialGrade } from '@malib/gear'; + +export function getPotentialCodes(grade: PotentialGrade) { + switch (grade) { + case PotentialGrade.Normal: + return [1, 2, 3, 4, 5, 6, 9, 10, 11, 12, 13]; + case PotentialGrade.Rare: + return [ + 10001, 10002, 10003, 10004, 10005, 10006, 10009, 10010, 10011, 10012, 10013, 10041, 10042, + 10043, 10044, 10045, 10046, 10051, 10052, 10053, 10055, 10070, 10081, 10151, 10156, 10201, + 10202, 10206, 10207, 10221, 10222, 10226, 10227, 10231, 10232, 10236, 10237, 10241, 10242, + 10246, 10247, 10291 + ]; + case PotentialGrade.Epic: + return [ + 20041, 20042, 20043, 20044, 20045, 20046, 20051, 20052, 20053, 20055, 20070, 20086, 20201, + 20202, 20206, 20207, 20291, 20351, 20352, 20353, 20366, 20401, 20406 + ]; + case PotentialGrade.Unique: + return [ + 30041, 30042, 30043, 30044, 30045, 30046, 30051, 30052, 30053, 30055, 30070, 30086, 30091, + 30092, 30093, 30094, 30291, 30356, 30357, 30366, 30371, 30376, 30377, 30551, 30602, 30701, + 30702, 31001, 31002, 31003, 31004 + ]; + case PotentialGrade.Legendary: + return [ + 40041, 40042, 40043, 40044, 40045, 40046, 40051, 40052, 40053, 40055, 40056, 40070, 40086, + 40091, 40092, 40291, 40292, 40356, 40357, 40366, 40371, 40376, 40377, 40501, 40502, 40551, + 40556, 40557, 40602, 40603, 40650, 40656, 40701, 40702, 40703, 41005, 41006, 41007 + ]; + default: + return []; + } +} + +export function getAdditionalPotentialCodes(grade: PotentialGrade) { + switch (grade) { + case PotentialGrade.Normal: + return [2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010, 2011, 2012, 2013, 2015, 2016]; + case PotentialGrade.Rare: + return [ + 12001, 12002, 12003, 12004, 12005, 12006, 12009, 12010, 12011, 12012, 12013, 12015, 12016, + 12017, 12018, 12019, 12020, 12041, 12042, 12043, 12044, 12045, 12046, 12047, 12048, 12049, + 12050, 12051, 12052, 12053, 12055, 12070, 12081, 12082 + ]; + case PotentialGrade.Epic: + return [ + 22001, 22002, 22003, 22004, 22005, 22006, 22009, 22010, 22011, 22012, 22013, 22041, 22042, + 22043, 22044, 22045, 22046, 22051, 22052, 22053, 22055, 22057, 22058, 22059, 22060, 22070, + 22086, 22087, 22201, 22206, 22291 + ]; + case PotentialGrade.Unique: + return [ + 32001, 32002, 32003, 32004, 32005, 32006, 32011, 32012, 32013, 32041, 32042, 32043, 32044, + 32045, 32046, 32051, 32053, 32055, 32057, 32059, 32060, 32061, 32062, 32070, 32086, 32087, + 32091, 32092, 32093, 32094, 32201, 32206, 32291, 32551, 32601 + ]; + case PotentialGrade.Legendary: + return [ + 42001, 42002, 42003, 42004, 42005, 42006, 42011, 42012, 42013, 42041, 42042, 42043, 42044, + 42045, 42046, 42051, 42053, 42055, 42057, 42059, 42060, 42063, 42064, 42065, 42066, 42070, + 42086, 42087, 42091, 42092, 42093, 42094, 42095, 42096, 42292, 42501, 42551, 42556, 42602, + 42650, 42656 + ]; + default: + return []; + } +} diff --git a/src/lib/features/gear-enchant-ui/tabs/potential/model/grades.ts b/src/lib/features/gear-enchant-ui/tabs/potential/model/grades.ts new file mode 100644 index 0000000..6e92fa2 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/potential/model/grades.ts @@ -0,0 +1,24 @@ +import { PotentialGrade } from '@malib/gear'; + +export const grades = [ + { + label: '없음', + value: PotentialGrade.Normal + }, + { + label: '레어', + value: PotentialGrade.Rare + }, + { + label: '에픽', + value: PotentialGrade.Epic + }, + { + label: '유니크', + value: PotentialGrade.Unique + }, + { + label: '레전드리', + value: PotentialGrade.Legendary + } +] as const; diff --git a/src/lib/features/gear-enchant-ui/tabs/potential/model/item-option.json b/src/lib/features/gear-enchant-ui/tabs/potential/model/item-option.json new file mode 100644 index 0000000..c8f7902 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/potential/model/item-option.json @@ -0,0 +1 @@ +{"1":{"level":{"1":{"string":"STR +1","option":{"str":1}},"2":{"string":"STR +1","option":{"str":1}},"3":{"string":"STR +2","option":{"str":2}},"4":{"string":"STR +2","option":{"str":2}},"5":{"string":"STR +3","option":{"str":3}},"6":{"string":"STR +4","option":{"str":4}},"7":{"string":"STR +4","option":{"str":4}},"8":{"string":"STR +5","option":{"str":5}},"9":{"string":"STR +5","option":{"str":5}},"10":{"string":"STR +6","option":{"str":6}},"11":{"string":"STR +6","option":{"str":6}},"12":{"string":"STR +6","option":{"str":6}},"13":{"string":"STR +6","option":{"str":6}},"14":{"string":"STR +6","option":{"str":6}},"15":{"string":"STR +6","option":{"str":6}},"16":{"string":"STR +6","option":{"str":6}},"17":{"string":"STR +6","option":{"str":6}},"18":{"string":"STR +6","option":{"str":6}},"19":{"string":"STR +6","option":{"str":6}},"20":{"string":"STR +6","option":{"str":6}},"21":{"string":"STR +6","option":{"str":6}},"22":{"string":"STR +6","option":{"str":6}},"23":{"string":"STR +6","option":{"str":6}},"24":{"string":"STR +6","option":{"str":6}},"25":{"string":"STR +6","option":{"str":6}}}},"2":{"level":{"1":{"string":"DEX +1","option":{"dex":1}},"2":{"string":"DEX +1","option":{"dex":1}},"3":{"string":"DEX +2","option":{"dex":2}},"4":{"string":"DEX +2","option":{"dex":2}},"5":{"string":"DEX +3","option":{"dex":3}},"6":{"string":"DEX +4","option":{"dex":4}},"7":{"string":"DEX +4","option":{"dex":4}},"8":{"string":"DEX +5","option":{"dex":5}},"9":{"string":"DEX +5","option":{"dex":5}},"10":{"string":"DEX +6","option":{"dex":6}},"11":{"string":"DEX +6","option":{"dex":6}},"12":{"string":"DEX +6","option":{"dex":6}},"13":{"string":"DEX +6","option":{"dex":6}},"14":{"string":"DEX +6","option":{"dex":6}},"15":{"string":"DEX +6","option":{"dex":6}},"16":{"string":"DEX +6","option":{"dex":6}},"17":{"string":"DEX +6","option":{"dex":6}},"18":{"string":"DEX +6","option":{"dex":6}},"19":{"string":"DEX +6","option":{"dex":6}},"20":{"string":"DEX +6","option":{"dex":6}},"21":{"string":"DEX +6","option":{"dex":6}},"22":{"string":"DEX +6","option":{"dex":6}},"23":{"string":"DEX +6","option":{"dex":6}},"24":{"string":"DEX +6","option":{"dex":6}},"25":{"string":"DEX +6","option":{"dex":6}}}},"3":{"level":{"1":{"string":"INT +1","option":{"int":1}},"2":{"string":"INT +1","option":{"int":1}},"3":{"string":"INT +2","option":{"int":2}},"4":{"string":"INT +2","option":{"int":2}},"5":{"string":"INT +3","option":{"int":3}},"6":{"string":"INT +4","option":{"int":4}},"7":{"string":"INT +4","option":{"int":4}},"8":{"string":"INT +5","option":{"int":5}},"9":{"string":"INT +5","option":{"int":5}},"10":{"string":"INT +6","option":{"int":6}},"11":{"string":"INT +6","option":{"int":6}},"12":{"string":"INT +6","option":{"int":6}},"13":{"string":"INT +6","option":{"int":6}},"14":{"string":"INT +6","option":{"int":6}},"15":{"string":"INT +6","option":{"int":6}},"16":{"string":"INT +6","option":{"int":6}},"17":{"string":"INT +6","option":{"int":6}},"18":{"string":"INT +6","option":{"int":6}},"19":{"string":"INT +6","option":{"int":6}},"20":{"string":"INT +6","option":{"int":6}},"21":{"string":"INT +6","option":{"int":6}},"22":{"string":"INT +6","option":{"int":6}},"23":{"string":"INT +6","option":{"int":6}},"24":{"string":"INT +6","option":{"int":6}},"25":{"string":"INT +6","option":{"int":6}}}},"4":{"level":{"1":{"string":"LUK +1","option":{"luk":1}},"2":{"string":"LUK +1","option":{"luk":1}},"3":{"string":"LUK +2","option":{"luk":2}},"4":{"string":"LUK +2","option":{"luk":2}},"5":{"string":"LUK +3","option":{"luk":3}},"6":{"string":"LUK +4","option":{"luk":4}},"7":{"string":"LUK +4","option":{"luk":4}},"8":{"string":"LUK +5","option":{"luk":5}},"9":{"string":"LUK +5","option":{"luk":5}},"10":{"string":"LUK +6","option":{"luk":6}},"11":{"string":"LUK +6","option":{"luk":6}},"12":{"string":"LUK +6","option":{"luk":6}},"13":{"string":"LUK +6","option":{"luk":6}},"14":{"string":"LUK +6","option":{"luk":6}},"15":{"string":"LUK +6","option":{"luk":6}},"16":{"string":"LUK +6","option":{"luk":6}},"17":{"string":"LUK +6","option":{"luk":6}},"18":{"string":"LUK +6","option":{"luk":6}},"19":{"string":"LUK +6","option":{"luk":6}},"20":{"string":"LUK +6","option":{"luk":6}},"21":{"string":"LUK +6","option":{"luk":6}},"22":{"string":"LUK +6","option":{"luk":6}},"23":{"string":"LUK +6","option":{"luk":6}},"24":{"string":"LUK +6","option":{"luk":6}},"25":{"string":"LUK +6","option":{"luk":6}}}},"5":{"level":{"1":{"string":"최대 HP +5","option":{"maxHp":5}},"2":{"string":"최대 HP +10","option":{"maxHp":10}},"3":{"string":"최대 HP +15","option":{"maxHp":15}},"4":{"string":"최대 HP +20","option":{"maxHp":20}},"5":{"string":"최대 HP +25","option":{"maxHp":25}},"6":{"string":"최대 HP +30","option":{"maxHp":30}},"7":{"string":"최대 HP +35","option":{"maxHp":35}},"8":{"string":"최대 HP +40","option":{"maxHp":40}},"9":{"string":"최대 HP +45","option":{"maxHp":45}},"10":{"string":"최대 HP +50","option":{"maxHp":50}},"11":{"string":"최대 HP +55","option":{"maxHp":55}},"12":{"string":"최대 HP +60","option":{"maxHp":60}},"13":{"string":"최대 HP +60","option":{"maxHp":60}},"14":{"string":"최대 HP +60","option":{"maxHp":60}},"15":{"string":"최대 HP +60","option":{"maxHp":60}},"16":{"string":"최대 HP +60","option":{"maxHp":60}},"17":{"string":"최대 HP +60","option":{"maxHp":60}},"18":{"string":"최대 HP +60","option":{"maxHp":60}},"19":{"string":"최대 HP +60","option":{"maxHp":60}},"20":{"string":"최대 HP +60","option":{"maxHp":60}},"21":{"string":"최대 HP +60","option":{"maxHp":60}},"22":{"string":"최대 HP +60","option":{"maxHp":60}},"23":{"string":"최대 HP +60","option":{"maxHp":60}},"24":{"string":"최대 HP +60","option":{"maxHp":60}},"25":{"string":"최대 HP +60","option":{"maxHp":60}}}},"6":{"level":{"1":{"string":"최대 MP +5","option":{"maxMp":5}},"2":{"string":"최대 MP +10","option":{"maxMp":10}},"3":{"string":"최대 MP +15","option":{"maxMp":15}},"4":{"string":"최대 MP +20","option":{"maxMp":20}},"5":{"string":"최대 MP +25","option":{"maxMp":25}},"6":{"string":"최대 MP +30","option":{"maxMp":30}},"7":{"string":"최대 MP +35","option":{"maxMp":35}},"8":{"string":"최대 MP +40","option":{"maxMp":40}},"9":{"string":"최대 MP +45","option":{"maxMp":45}},"10":{"string":"최대 MP +50","option":{"maxMp":50}},"11":{"string":"최대 MP +55","option":{"maxMp":55}},"12":{"string":"최대 MP +60","option":{"maxMp":60}},"13":{"string":"최대 MP +60","option":{"maxMp":60}},"14":{"string":"최대 MP +60","option":{"maxMp":60}},"15":{"string":"최대 MP +60","option":{"maxMp":60}},"16":{"string":"최대 MP +60","option":{"maxMp":60}},"17":{"string":"최대 MP +60","option":{"maxMp":60}},"18":{"string":"최대 MP +60","option":{"maxMp":60}},"19":{"string":"최대 MP +60","option":{"maxMp":60}},"20":{"string":"최대 MP +60","option":{"maxMp":60}},"21":{"string":"최대 MP +60","option":{"maxMp":60}},"22":{"string":"최대 MP +60","option":{"maxMp":60}},"23":{"string":"최대 MP +60","option":{"maxMp":60}},"24":{"string":"최대 MP +60","option":{"maxMp":60}},"25":{"string":"최대 MP +60","option":{"maxMp":60}}}},"7":{"level":{"1":{"string":"최대 HP +5","option":{"maxHp":5}},"2":{"string":"최대 HP +10","option":{"maxHp":10}},"3":{"string":"최대 HP +15","option":{"maxHp":15}},"4":{"string":"최대 HP +20","option":{"maxHp":20}},"5":{"string":"최대 HP +25","option":{"maxHp":25}},"6":{"string":"최대 HP +30","option":{"maxHp":30}},"7":{"string":"최대 HP +35","option":{"maxHp":35}},"8":{"string":"최대 HP +40","option":{"maxHp":40}},"9":{"string":"최대 HP +45","option":{"maxHp":45}},"10":{"string":"최대 HP +50","option":{"maxHp":50}},"11":{"string":"최대 HP +55","option":{"maxHp":55}},"12":{"string":"최대 HP +60","option":{"maxHp":60}},"13":{"string":"최대 HP +60","option":{"maxHp":60}},"14":{"string":"최대 HP +60","option":{"maxHp":60}},"15":{"string":"최대 HP +60","option":{"maxHp":60}},"16":{"string":"최대 HP +60","option":{"maxHp":60}},"17":{"string":"최대 HP +60","option":{"maxHp":60}},"18":{"string":"최대 HP +60","option":{"maxHp":60}},"19":{"string":"최대 HP +60","option":{"maxHp":60}},"20":{"string":"최대 HP +60","option":{"maxHp":60}},"21":{"string":"최대 HP +60","option":{"maxHp":60}},"22":{"string":"최대 HP +60","option":{"maxHp":60}},"23":{"string":"최대 HP +60","option":{"maxHp":60}},"24":{"string":"최대 HP +60","option":{"maxHp":60}},"25":{"string":"최대 HP +60","option":{"maxHp":60}}}},"8":{"level":{"1":{"string":"최대 MP +5","option":{"maxMp":5}},"2":{"string":"최대 MP +10","option":{"maxMp":10}},"3":{"string":"최대 MP +15","option":{"maxMp":15}},"4":{"string":"최대 MP +20","option":{"maxMp":20}},"5":{"string":"최대 MP +25","option":{"maxMp":25}},"6":{"string":"최대 MP +30","option":{"maxMp":30}},"7":{"string":"최대 MP +35","option":{"maxMp":35}},"8":{"string":"최대 MP +40","option":{"maxMp":40}},"9":{"string":"최대 MP +45","option":{"maxMp":45}},"10":{"string":"최대 MP +50","option":{"maxMp":50}},"11":{"string":"최대 MP +55","option":{"maxMp":55}},"12":{"string":"최대 MP +60","option":{"maxMp":60}},"13":{"string":"최대 MP +60","option":{"maxMp":60}},"14":{"string":"최대 MP +60","option":{"maxMp":60}},"15":{"string":"최대 MP +60","option":{"maxMp":60}},"16":{"string":"최대 MP +60","option":{"maxMp":60}},"17":{"string":"최대 MP +60","option":{"maxMp":60}},"18":{"string":"최대 MP +60","option":{"maxMp":60}},"19":{"string":"최대 MP +60","option":{"maxMp":60}},"20":{"string":"최대 MP +60","option":{"maxMp":60}},"21":{"string":"최대 MP +60","option":{"maxMp":60}},"22":{"string":"최대 MP +60","option":{"maxMp":60}},"23":{"string":"최대 MP +60","option":{"maxMp":60}},"24":{"string":"최대 MP +60","option":{"maxMp":60}},"25":{"string":"최대 MP +60","option":{"maxMp":60}}}},"9":{"optionType":55,"level":{"1":{"string":"이동속도 +1","option":{"speed":1}},"2":{"string":"이동속도 +1","option":{"speed":1}},"3":{"string":"이동속도 +1","option":{"speed":1}},"4":{"string":"이동속도 +2","option":{"speed":2}},"5":{"string":"이동속도 +2","option":{"speed":2}},"6":{"string":"이동속도 +2","option":{"speed":2}},"7":{"string":"이동속도 +2","option":{"speed":2}},"8":{"string":"이동속도 +3","option":{"speed":3}},"9":{"string":"이동속도 +3","option":{"speed":3}},"10":{"string":"이동속도 +3","option":{"speed":3}},"11":{"string":"이동속도 +3","option":{"speed":3}},"12":{"string":"이동속도 +4","option":{"speed":4}},"13":{"string":"이동속도 +4","option":{"speed":4}},"14":{"string":"이동속도 +4","option":{"speed":4}},"15":{"string":"이동속도 +4","option":{"speed":4}},"16":{"string":"이동속도 +4","option":{"speed":4}},"17":{"string":"이동속도 +4","option":{"speed":4}},"18":{"string":"이동속도 +4","option":{"speed":4}},"19":{"string":"이동속도 +4","option":{"speed":4}},"20":{"string":"이동속도 +4","option":{"speed":4}},"21":{"string":"이동속도 +4","option":{"speed":4}},"22":{"string":"이동속도 +4","option":{"speed":4}},"23":{"string":"이동속도 +4","option":{"speed":4}},"24":{"string":"이동속도 +4","option":{"speed":4}},"25":{"string":"이동속도 +4","option":{"speed":4}}}},"10":{"optionType":55,"level":{"1":{"string":"점프력 +1","option":{"jump":1}},"2":{"string":"점프력 +1","option":{"jump":1}},"3":{"string":"점프력 +1","option":{"jump":1}},"4":{"string":"점프력 +2","option":{"jump":2}},"5":{"string":"점프력 +2","option":{"jump":2}},"6":{"string":"점프력 +2","option":{"jump":2}},"7":{"string":"점프력 +2","option":{"jump":2}},"8":{"string":"점프력 +3","option":{"jump":3}},"9":{"string":"점프력 +3","option":{"jump":3}},"10":{"string":"점프력 +3","option":{"jump":3}},"11":{"string":"점프력 +3","option":{"jump":3}},"12":{"string":"점프력 +4","option":{"jump":4}},"13":{"string":"점프력 +4","option":{"jump":4}},"14":{"string":"점프력 +4","option":{"jump":4}},"15":{"string":"점프력 +4","option":{"jump":4}},"16":{"string":"점프력 +4","option":{"jump":4}},"17":{"string":"점프력 +4","option":{"jump":4}},"18":{"string":"점프력 +4","option":{"jump":4}},"19":{"string":"점프력 +4","option":{"jump":4}},"20":{"string":"점프력 +4","option":{"jump":4}},"21":{"string":"점프력 +4","option":{"jump":4}},"22":{"string":"점프력 +4","option":{"jump":4}},"23":{"string":"점프력 +4","option":{"jump":4}},"24":{"string":"점프력 +4","option":{"jump":4}},"25":{"string":"점프력 +4","option":{"jump":4}}}},"11":{"optionType":10,"level":{"1":{"string":"공격력 +1","option":{"attackPower":1}},"2":{"string":"공격력 +1","option":{"attackPower":1}},"3":{"string":"공격력 +2","option":{"attackPower":2}},"4":{"string":"공격력 +2","option":{"attackPower":2}},"5":{"string":"공격력 +3","option":{"attackPower":3}},"6":{"string":"공격력 +3","option":{"attackPower":3}},"7":{"string":"공격력 +4","option":{"attackPower":4}},"8":{"string":"공격력 +4","option":{"attackPower":4}},"9":{"string":"공격력 +5","option":{"attackPower":5}},"10":{"string":"공격력 +6","option":{"attackPower":6}},"11":{"string":"공격력 +6","option":{"attackPower":6}},"12":{"string":"공격력 +6","option":{"attackPower":6}},"13":{"string":"공격력 +6","option":{"attackPower":6}},"14":{"string":"공격력 +6","option":{"attackPower":6}},"15":{"string":"공격력 +6","option":{"attackPower":6}},"16":{"string":"공격력 +6","option":{"attackPower":6}},"17":{"string":"공격력 +6","option":{"attackPower":6}},"18":{"string":"공격력 +6","option":{"attackPower":6}},"19":{"string":"공격력 +6","option":{"attackPower":6}},"20":{"string":"공격력 +6","option":{"attackPower":6}},"21":{"string":"공격력 +6","option":{"attackPower":6}},"22":{"string":"공격력 +6","option":{"attackPower":6}},"23":{"string":"공격력 +6","option":{"attackPower":6}},"24":{"string":"공격력 +6","option":{"attackPower":6}},"25":{"string":"공격력 +6","option":{"attackPower":6}}}},"12":{"optionType":10,"level":{"1":{"string":"마력 +1","option":{"magicPower":1}},"2":{"string":"마력 +1","option":{"magicPower":1}},"3":{"string":"마력 +2","option":{"magicPower":2}},"4":{"string":"마력 +2","option":{"magicPower":2}},"5":{"string":"마력 +3","option":{"magicPower":3}},"6":{"string":"마력 +3","option":{"magicPower":3}},"7":{"string":"마력 +4","option":{"magicPower":4}},"8":{"string":"마력 +4","option":{"magicPower":4}},"9":{"string":"마력 +5","option":{"magicPower":5}},"10":{"string":"마력 +6","option":{"magicPower":6}},"11":{"string":"마력 +6","option":{"magicPower":6}},"12":{"string":"마력 +6","option":{"magicPower":6}},"13":{"string":"마력 +6","option":{"magicPower":6}},"14":{"string":"마력 +6","option":{"magicPower":6}},"15":{"string":"마력 +6","option":{"magicPower":6}},"16":{"string":"마력 +6","option":{"magicPower":6}},"17":{"string":"마력 +6","option":{"magicPower":6}},"18":{"string":"마력 +6","option":{"magicPower":6}},"19":{"string":"마력 +6","option":{"magicPower":6}},"20":{"string":"마력 +6","option":{"magicPower":6}},"21":{"string":"마력 +6","option":{"magicPower":6}},"22":{"string":"마력 +6","option":{"magicPower":6}},"23":{"string":"마력 +6","option":{"magicPower":6}},"24":{"string":"마력 +6","option":{"magicPower":6}},"25":{"string":"마력 +6","option":{"magicPower":6}}}},"13":{"optionType":11,"level":{"1":{"string":"방어력 +5","option":{"armor":5}},"2":{"string":"방어력 +10","option":{"armor":10}},"3":{"string":"방어력 +15","option":{"armor":15}},"4":{"string":"방어력 +20","option":{"armor":20}},"5":{"string":"방어력 +25","option":{"armor":25}},"6":{"string":"방어력 +30","option":{"armor":30}},"7":{"string":"방어력 +35","option":{"armor":35}},"8":{"string":"방어력 +40","option":{"armor":40}},"9":{"string":"방어력 +45","option":{"armor":45}},"10":{"string":"방어력 +50","option":{"armor":50}},"11":{"string":"방어력 +55","option":{"armor":55}},"12":{"string":"방어력 +60","option":{"armor":60}},"13":{"string":"방어력 +60","option":{"armor":60}},"14":{"string":"방어력 +60","option":{"armor":60}},"15":{"string":"방어력 +60","option":{"armor":60}},"16":{"string":"방어력 +60","option":{"armor":60}},"17":{"string":"방어력 +60","option":{"armor":60}},"18":{"string":"방어력 +60","option":{"armor":60}},"19":{"string":"방어력 +60","option":{"armor":60}},"20":{"string":"방어력 +60","option":{"armor":60}},"21":{"string":"방어력 +60","option":{"armor":60}},"22":{"string":"방어력 +60","option":{"armor":60}},"23":{"string":"방어력 +60","option":{"armor":60}},"24":{"string":"방어력 +60","option":{"armor":60}},"25":{"string":"방어력 +60","option":{"armor":60}}}},"14":{"optionType":11,"level":{"1":{"string":"방어력 +5","option":{"armor":5}},"2":{"string":"방어력 +10","option":{"armor":10}},"3":{"string":"방어력 +15","option":{"armor":15}},"4":{"string":"방어력 +20","option":{"armor":20}},"5":{"string":"방어력 +25","option":{"armor":25}},"6":{"string":"방어력 +30","option":{"armor":30}},"7":{"string":"방어력 +35","option":{"armor":35}},"8":{"string":"방어력 +40","option":{"armor":40}},"9":{"string":"방어력 +45","option":{"armor":45}},"10":{"string":"방어력 +50","option":{"armor":50}},"11":{"string":"방어력 +55","option":{"armor":55}},"12":{"string":"방어력 +60","option":{"armor":60}},"13":{"string":"방어력 +60","option":{"armor":60}},"14":{"string":"방어력 +60","option":{"armor":60}},"15":{"string":"방어력 +60","option":{"armor":60}},"16":{"string":"방어력 +60","option":{"armor":60}},"17":{"string":"방어력 +60","option":{"armor":60}},"18":{"string":"방어력 +60","option":{"armor":60}},"19":{"string":"방어력 +60","option":{"armor":60}},"20":{"string":"방어력 +60","option":{"armor":60}},"21":{"string":"방어력 +60","option":{"armor":60}},"22":{"string":"방어력 +60","option":{"armor":60}},"23":{"string":"방어력 +60","option":{"armor":60}},"24":{"string":"방어력 +60","option":{"armor":60}},"25":{"string":"방어력 +60","option":{"armor":60}}}},"101":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"STR +3","option":{"str":3}},"2":{"string":"STR +3","option":{"str":3}},"3":{"string":"STR +3","option":{"str":3}},"4":{"string":"STR +3","option":{"str":3}},"5":{"string":"STR +3","option":{"str":3}},"6":{"string":"STR +3","option":{"str":3}},"7":{"string":"STR +3","option":{"str":3}},"8":{"string":"STR +3","option":{"str":3}},"9":{"string":"STR +3","option":{"str":3}},"10":{"string":"STR +3","option":{"str":3}},"11":{"string":"STR +3","option":{"str":3}},"12":{"string":"STR +3","option":{"str":3}},"13":{"string":"STR +3","option":{"str":3}},"14":{"string":"STR +3","option":{"str":3}},"15":{"string":"STR +3","option":{"str":3}},"16":{"string":"STR +3","option":{"str":3}},"17":{"string":"STR +3","option":{"str":3}},"18":{"string":"STR +3","option":{"str":3}},"19":{"string":"STR +3","option":{"str":3}},"20":{"string":"STR +3","option":{"str":3}},"21":{"string":"STR +3","option":{"str":3}},"22":{"string":"STR +3","option":{"str":3}},"23":{"string":"STR +3","option":{"str":3}},"24":{"string":"STR +3","option":{"str":3}},"25":{"string":"STR +3","option":{"str":3}}}},"102":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"DEX +3","option":{"dex":3}},"2":{"string":"DEX +3","option":{"dex":3}},"3":{"string":"DEX +3","option":{"dex":3}},"4":{"string":"DEX +3","option":{"dex":3}},"5":{"string":"DEX +3","option":{"dex":3}},"6":{"string":"DEX +3","option":{"dex":3}},"7":{"string":"DEX +3","option":{"dex":3}},"8":{"string":"DEX +3","option":{"dex":3}},"9":{"string":"DEX +3","option":{"dex":3}},"10":{"string":"DEX +3","option":{"dex":3}},"11":{"string":"DEX +3","option":{"dex":3}},"12":{"string":"DEX +3","option":{"dex":3}},"13":{"string":"DEX +3","option":{"dex":3}},"14":{"string":"DEX +3","option":{"dex":3}},"15":{"string":"DEX +3","option":{"dex":3}},"16":{"string":"DEX +3","option":{"dex":3}},"17":{"string":"DEX +3","option":{"dex":3}},"18":{"string":"DEX +3","option":{"dex":3}},"19":{"string":"DEX +3","option":{"dex":3}},"20":{"string":"DEX +3","option":{"dex":3}},"21":{"string":"DEX +3","option":{"dex":3}},"22":{"string":"DEX +3","option":{"dex":3}},"23":{"string":"DEX +3","option":{"dex":3}},"24":{"string":"DEX +3","option":{"dex":3}},"25":{"string":"DEX +3","option":{"dex":3}}}},"103":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"INT +3","option":{"int":3}},"2":{"string":"INT +3","option":{"int":3}},"3":{"string":"INT +3","option":{"int":3}},"4":{"string":"INT +3","option":{"int":3}},"5":{"string":"INT +3","option":{"int":3}},"6":{"string":"INT +3","option":{"int":3}},"7":{"string":"INT +3","option":{"int":3}},"8":{"string":"INT +3","option":{"int":3}},"9":{"string":"INT +3","option":{"int":3}},"10":{"string":"INT +3","option":{"int":3}},"11":{"string":"INT +3","option":{"int":3}},"12":{"string":"INT +3","option":{"int":3}},"13":{"string":"INT +3","option":{"int":3}},"14":{"string":"INT +3","option":{"int":3}},"15":{"string":"INT +3","option":{"int":3}},"16":{"string":"INT +3","option":{"int":3}},"17":{"string":"INT +3","option":{"int":3}},"18":{"string":"INT +3","option":{"int":3}},"19":{"string":"INT +3","option":{"int":3}},"20":{"string":"INT +3","option":{"int":3}},"21":{"string":"INT +3","option":{"int":3}},"22":{"string":"INT +3","option":{"int":3}},"23":{"string":"INT +3","option":{"int":3}},"24":{"string":"INT +3","option":{"int":3}},"25":{"string":"INT +3","option":{"int":3}}}},"104":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"LUK +3","option":{"luk":3}},"2":{"string":"LUK +3","option":{"luk":3}},"3":{"string":"LUK +3","option":{"luk":3}},"4":{"string":"LUK +3","option":{"luk":3}},"5":{"string":"LUK +3","option":{"luk":3}},"6":{"string":"LUK +3","option":{"luk":3}},"7":{"string":"LUK +3","option":{"luk":3}},"8":{"string":"LUK +3","option":{"luk":3}},"9":{"string":"LUK +3","option":{"luk":3}},"10":{"string":"LUK +3","option":{"luk":3}},"11":{"string":"LUK +3","option":{"luk":3}},"12":{"string":"LUK +3","option":{"luk":3}},"13":{"string":"LUK +3","option":{"luk":3}},"14":{"string":"LUK +3","option":{"luk":3}},"15":{"string":"LUK +3","option":{"luk":3}},"16":{"string":"LUK +3","option":{"luk":3}},"17":{"string":"LUK +3","option":{"luk":3}},"18":{"string":"LUK +3","option":{"luk":3}},"19":{"string":"LUK +3","option":{"luk":3}},"20":{"string":"LUK +3","option":{"luk":3}},"21":{"string":"LUK +3","option":{"luk":3}},"22":{"string":"LUK +3","option":{"luk":3}},"23":{"string":"LUK +3","option":{"luk":3}},"24":{"string":"LUK +3","option":{"luk":3}},"25":{"string":"LUK +3","option":{"luk":3}}}},"105":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"STR +5","option":{"str":5}},"2":{"string":"STR +5","option":{"str":5}},"3":{"string":"STR +5","option":{"str":5}},"4":{"string":"STR +5","option":{"str":5}},"5":{"string":"STR +5","option":{"str":5}},"6":{"string":"STR +5","option":{"str":5}},"7":{"string":"STR +5","option":{"str":5}},"8":{"string":"STR +5","option":{"str":5}},"9":{"string":"STR +5","option":{"str":5}},"10":{"string":"STR +5","option":{"str":5}},"11":{"string":"STR +5","option":{"str":5}},"12":{"string":"STR +5","option":{"str":5}},"13":{"string":"STR +5","option":{"str":5}},"14":{"string":"STR +5","option":{"str":5}},"15":{"string":"STR +5","option":{"str":5}},"16":{"string":"STR +5","option":{"str":5}},"17":{"string":"STR +5","option":{"str":5}},"18":{"string":"STR +5","option":{"str":5}},"19":{"string":"STR +5","option":{"str":5}},"20":{"string":"STR +5","option":{"str":5}},"21":{"string":"STR +5","option":{"str":5}},"22":{"string":"STR +5","option":{"str":5}},"23":{"string":"STR +5","option":{"str":5}},"24":{"string":"STR +5","option":{"str":5}},"25":{"string":"STR +5","option":{"str":5}}}},"106":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"DEX +5","option":{"dex":5}},"2":{"string":"DEX +5","option":{"dex":5}},"3":{"string":"DEX +5","option":{"dex":5}},"4":{"string":"DEX +5","option":{"dex":5}},"5":{"string":"DEX +5","option":{"dex":5}},"6":{"string":"DEX +5","option":{"dex":5}},"7":{"string":"DEX +5","option":{"dex":5}},"8":{"string":"DEX +5","option":{"dex":5}},"9":{"string":"DEX +5","option":{"dex":5}},"10":{"string":"DEX +5","option":{"dex":5}},"11":{"string":"DEX +5","option":{"dex":5}},"12":{"string":"DEX +5","option":{"dex":5}},"13":{"string":"DEX +5","option":{"dex":5}},"14":{"string":"DEX +5","option":{"dex":5}},"15":{"string":"DEX +5","option":{"dex":5}},"16":{"string":"DEX +5","option":{"dex":5}},"17":{"string":"DEX +5","option":{"dex":5}},"18":{"string":"DEX +5","option":{"dex":5}},"19":{"string":"DEX +5","option":{"dex":5}},"20":{"string":"DEX +5","option":{"dex":5}},"21":{"string":"DEX +5","option":{"dex":5}},"22":{"string":"DEX +5","option":{"dex":5}},"23":{"string":"DEX +5","option":{"dex":5}},"24":{"string":"DEX +5","option":{"dex":5}},"25":{"string":"DEX +5","option":{"dex":5}}}},"107":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"INT +5","option":{"int":5}},"2":{"string":"INT +5","option":{"int":5}},"3":{"string":"INT +5","option":{"int":5}},"4":{"string":"INT +5","option":{"int":5}},"5":{"string":"INT +5","option":{"int":5}},"6":{"string":"INT +5","option":{"int":5}},"7":{"string":"INT +5","option":{"int":5}},"8":{"string":"INT +5","option":{"int":5}},"9":{"string":"INT +5","option":{"int":5}},"10":{"string":"INT +5","option":{"int":5}},"11":{"string":"INT +5","option":{"int":5}},"12":{"string":"INT +5","option":{"int":5}},"13":{"string":"INT +5","option":{"int":5}},"14":{"string":"INT +5","option":{"int":5}},"15":{"string":"INT +5","option":{"int":5}},"16":{"string":"INT +5","option":{"int":5}},"17":{"string":"INT +5","option":{"int":5}},"18":{"string":"INT +5","option":{"int":5}},"19":{"string":"INT +5","option":{"int":5}},"20":{"string":"INT +5","option":{"int":5}},"21":{"string":"INT +5","option":{"int":5}},"22":{"string":"INT +5","option":{"int":5}},"23":{"string":"INT +5","option":{"int":5}},"24":{"string":"INT +5","option":{"int":5}},"25":{"string":"INT +5","option":{"int":5}}}},"108":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"LUK +5","option":{"luk":5}},"2":{"string":"LUK +5","option":{"luk":5}},"3":{"string":"LUK +5","option":{"luk":5}},"4":{"string":"LUK +5","option":{"luk":5}},"5":{"string":"LUK +5","option":{"luk":5}},"6":{"string":"LUK +5","option":{"luk":5}},"7":{"string":"LUK +5","option":{"luk":5}},"8":{"string":"LUK +5","option":{"luk":5}},"9":{"string":"LUK +5","option":{"luk":5}},"10":{"string":"LUK +5","option":{"luk":5}},"11":{"string":"LUK +5","option":{"luk":5}},"12":{"string":"LUK +5","option":{"luk":5}},"13":{"string":"LUK +5","option":{"luk":5}},"14":{"string":"LUK +5","option":{"luk":5}},"15":{"string":"LUK +5","option":{"luk":5}},"16":{"string":"LUK +5","option":{"luk":5}},"17":{"string":"LUK +5","option":{"luk":5}},"18":{"string":"LUK +5","option":{"luk":5}},"19":{"string":"LUK +5","option":{"luk":5}},"20":{"string":"LUK +5","option":{"luk":5}},"21":{"string":"LUK +5","option":{"luk":5}},"22":{"string":"LUK +5","option":{"luk":5}},"23":{"string":"LUK +5","option":{"luk":5}},"24":{"string":"LUK +5","option":{"luk":5}},"25":{"string":"LUK +5","option":{"luk":5}}}},"109":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"STR +7","option":{"str":7}},"2":{"string":"STR +7","option":{"str":7}},"3":{"string":"STR +7","option":{"str":7}},"4":{"string":"STR +7","option":{"str":7}},"5":{"string":"STR +7","option":{"str":7}},"6":{"string":"STR +7","option":{"str":7}},"7":{"string":"STR +7","option":{"str":7}},"8":{"string":"STR +7","option":{"str":7}},"9":{"string":"STR +7","option":{"str":7}},"10":{"string":"STR +7","option":{"str":7}},"11":{"string":"STR +7","option":{"str":7}},"12":{"string":"STR +7","option":{"str":7}},"13":{"string":"STR +7","option":{"str":7}},"14":{"string":"STR +7","option":{"str":7}},"15":{"string":"STR +7","option":{"str":7}},"16":{"string":"STR +7","option":{"str":7}},"17":{"string":"STR +7","option":{"str":7}},"18":{"string":"STR +7","option":{"str":7}},"19":{"string":"STR +7","option":{"str":7}},"20":{"string":"STR +7","option":{"str":7}},"21":{"string":"STR +7","option":{"str":7}},"22":{"string":"STR +7","option":{"str":7}},"23":{"string":"STR +7","option":{"str":7}},"24":{"string":"STR +7","option":{"str":7}},"25":{"string":"STR +7","option":{"str":7}}}},"110":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"DEX +7","option":{"dex":7}},"2":{"string":"DEX +7","option":{"dex":7}},"3":{"string":"DEX +7","option":{"dex":7}},"4":{"string":"DEX +7","option":{"dex":7}},"5":{"string":"DEX +7","option":{"dex":7}},"6":{"string":"DEX +7","option":{"dex":7}},"7":{"string":"DEX +7","option":{"dex":7}},"8":{"string":"DEX +7","option":{"dex":7}},"9":{"string":"DEX +7","option":{"dex":7}},"10":{"string":"DEX +7","option":{"dex":7}},"11":{"string":"DEX +7","option":{"dex":7}},"12":{"string":"DEX +7","option":{"dex":7}},"13":{"string":"DEX +7","option":{"dex":7}},"14":{"string":"DEX +7","option":{"dex":7}},"15":{"string":"DEX +7","option":{"dex":7}},"16":{"string":"DEX +7","option":{"dex":7}},"17":{"string":"DEX +7","option":{"dex":7}},"18":{"string":"DEX +7","option":{"dex":7}},"19":{"string":"DEX +7","option":{"dex":7}},"20":{"string":"DEX +7","option":{"dex":7}},"21":{"string":"DEX +7","option":{"dex":7}},"22":{"string":"DEX +7","option":{"dex":7}},"23":{"string":"DEX +7","option":{"dex":7}},"24":{"string":"DEX +7","option":{"dex":7}},"25":{"string":"DEX +7","option":{"dex":7}}}},"111":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"INT +7","option":{"int":7}},"2":{"string":"INT +7","option":{"int":7}},"3":{"string":"INT +7","option":{"int":7}},"4":{"string":"INT +7","option":{"int":7}},"5":{"string":"INT +7","option":{"int":7}},"6":{"string":"INT +7","option":{"int":7}},"7":{"string":"INT +7","option":{"int":7}},"8":{"string":"INT +7","option":{"int":7}},"9":{"string":"INT +7","option":{"int":7}},"10":{"string":"INT +7","option":{"int":7}},"11":{"string":"INT +7","option":{"int":7}},"12":{"string":"INT +7","option":{"int":7}},"13":{"string":"INT +7","option":{"int":7}},"14":{"string":"INT +7","option":{"int":7}},"15":{"string":"INT +7","option":{"int":7}},"16":{"string":"INT +7","option":{"int":7}},"17":{"string":"INT +7","option":{"int":7}},"18":{"string":"INT +7","option":{"int":7}},"19":{"string":"INT +7","option":{"int":7}},"20":{"string":"INT +7","option":{"int":7}},"21":{"string":"INT +7","option":{"int":7}},"22":{"string":"INT +7","option":{"int":7}},"23":{"string":"INT +7","option":{"int":7}},"24":{"string":"INT +7","option":{"int":7}},"25":{"string":"INT +7","option":{"int":7}}}},"112":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"LUK +7","option":{"luk":7}},"2":{"string":"LUK +7","option":{"luk":7}},"3":{"string":"LUK +7","option":{"luk":7}},"4":{"string":"LUK +7","option":{"luk":7}},"5":{"string":"LUK +7","option":{"luk":7}},"6":{"string":"LUK +7","option":{"luk":7}},"7":{"string":"LUK +7","option":{"luk":7}},"8":{"string":"LUK +7","option":{"luk":7}},"9":{"string":"LUK +7","option":{"luk":7}},"10":{"string":"LUK +7","option":{"luk":7}},"11":{"string":"LUK +7","option":{"luk":7}},"12":{"string":"LUK +7","option":{"luk":7}},"13":{"string":"LUK +7","option":{"luk":7}},"14":{"string":"LUK +7","option":{"luk":7}},"15":{"string":"LUK +7","option":{"luk":7}},"16":{"string":"LUK +7","option":{"luk":7}},"17":{"string":"LUK +7","option":{"luk":7}},"18":{"string":"LUK +7","option":{"luk":7}},"19":{"string":"LUK +7","option":{"luk":7}},"20":{"string":"LUK +7","option":{"luk":7}},"21":{"string":"LUK +7","option":{"luk":7}},"22":{"string":"LUK +7","option":{"luk":7}},"23":{"string":"LUK +7","option":{"luk":7}},"24":{"string":"LUK +7","option":{"luk":7}},"25":{"string":"LUK +7","option":{"luk":7}}}},"113":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"STR +10","option":{"str":10}},"2":{"string":"STR +10","option":{"str":10}},"3":{"string":"STR +10","option":{"str":10}},"4":{"string":"STR +10","option":{"str":10}},"5":{"string":"STR +10","option":{"str":10}},"6":{"string":"STR +10","option":{"str":10}},"7":{"string":"STR +10","option":{"str":10}},"8":{"string":"STR +10","option":{"str":10}},"9":{"string":"STR +10","option":{"str":10}},"10":{"string":"STR +10","option":{"str":10}},"11":{"string":"STR +10","option":{"str":10}},"12":{"string":"STR +10","option":{"str":10}},"13":{"string":"STR +10","option":{"str":10}},"14":{"string":"STR +10","option":{"str":10}},"15":{"string":"STR +10","option":{"str":10}},"16":{"string":"STR +10","option":{"str":10}},"17":{"string":"STR +10","option":{"str":10}},"18":{"string":"STR +10","option":{"str":10}},"19":{"string":"STR +10","option":{"str":10}},"20":{"string":"STR +10","option":{"str":10}},"21":{"string":"STR +10","option":{"str":10}},"22":{"string":"STR +10","option":{"str":10}},"23":{"string":"STR +10","option":{"str":10}},"24":{"string":"STR +10","option":{"str":10}},"25":{"string":"STR +10","option":{"str":10}}}},"114":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"DEX +10","option":{"dex":10}},"2":{"string":"DEX +10","option":{"dex":10}},"3":{"string":"DEX +10","option":{"dex":10}},"4":{"string":"DEX +10","option":{"dex":10}},"5":{"string":"DEX +10","option":{"dex":10}},"6":{"string":"DEX +10","option":{"dex":10}},"7":{"string":"DEX +10","option":{"dex":10}},"8":{"string":"DEX +10","option":{"dex":10}},"9":{"string":"DEX +10","option":{"dex":10}},"10":{"string":"DEX +10","option":{"dex":10}},"11":{"string":"DEX +10","option":{"dex":10}},"12":{"string":"DEX +10","option":{"dex":10}},"13":{"string":"DEX +10","option":{"dex":10}},"14":{"string":"DEX +10","option":{"dex":10}},"15":{"string":"DEX +10","option":{"dex":10}},"16":{"string":"DEX +10","option":{"dex":10}},"17":{"string":"DEX +10","option":{"dex":10}},"18":{"string":"DEX +10","option":{"dex":10}},"19":{"string":"DEX +10","option":{"dex":10}},"20":{"string":"DEX +10","option":{"dex":10}},"21":{"string":"DEX +10","option":{"dex":10}},"22":{"string":"DEX +10","option":{"dex":10}},"23":{"string":"DEX +10","option":{"dex":10}},"24":{"string":"DEX +10","option":{"dex":10}},"25":{"string":"DEX +10","option":{"dex":10}}}},"115":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"INT +10","option":{"int":10}},"2":{"string":"INT +10","option":{"int":10}},"3":{"string":"INT +10","option":{"int":10}},"4":{"string":"INT +10","option":{"int":10}},"5":{"string":"INT +10","option":{"int":10}},"6":{"string":"INT +10","option":{"int":10}},"7":{"string":"INT +10","option":{"int":10}},"8":{"string":"INT +10","option":{"int":10}},"9":{"string":"INT +10","option":{"int":10}},"10":{"string":"INT +10","option":{"int":10}},"11":{"string":"INT +10","option":{"int":10}},"12":{"string":"INT +10","option":{"int":10}},"13":{"string":"INT +10","option":{"int":10}},"14":{"string":"INT +10","option":{"int":10}},"15":{"string":"INT +10","option":{"int":10}},"16":{"string":"INT +10","option":{"int":10}},"17":{"string":"INT +10","option":{"int":10}},"18":{"string":"INT +10","option":{"int":10}},"19":{"string":"INT +10","option":{"int":10}},"20":{"string":"INT +10","option":{"int":10}},"21":{"string":"INT +10","option":{"int":10}},"22":{"string":"INT +10","option":{"int":10}},"23":{"string":"INT +10","option":{"int":10}},"24":{"string":"INT +10","option":{"int":10}},"25":{"string":"INT +10","option":{"int":10}}}},"116":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"LUK +10","option":{"luk":10}},"2":{"string":"LUK +10","option":{"luk":10}},"3":{"string":"LUK +10","option":{"luk":10}},"4":{"string":"LUK +10","option":{"luk":10}},"5":{"string":"LUK +10","option":{"luk":10}},"6":{"string":"LUK +10","option":{"luk":10}},"7":{"string":"LUK +10","option":{"luk":10}},"8":{"string":"LUK +10","option":{"luk":10}},"9":{"string":"LUK +10","option":{"luk":10}},"10":{"string":"LUK +10","option":{"luk":10}},"11":{"string":"LUK +10","option":{"luk":10}},"12":{"string":"LUK +10","option":{"luk":10}},"13":{"string":"LUK +10","option":{"luk":10}},"14":{"string":"LUK +10","option":{"luk":10}},"15":{"string":"LUK +10","option":{"luk":10}},"16":{"string":"LUK +10","option":{"luk":10}},"17":{"string":"LUK +10","option":{"luk":10}},"18":{"string":"LUK +10","option":{"luk":10}},"19":{"string":"LUK +10","option":{"luk":10}},"20":{"string":"LUK +10","option":{"luk":10}},"21":{"string":"LUK +10","option":{"luk":10}},"22":{"string":"LUK +10","option":{"luk":10}},"23":{"string":"LUK +10","option":{"luk":10}},"24":{"string":"LUK +10","option":{"luk":10}},"25":{"string":"LUK +10","option":{"luk":10}}}},"117":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"STR +15","option":{"str":15}},"2":{"string":"STR +15","option":{"str":15}},"3":{"string":"STR +15","option":{"str":15}},"4":{"string":"STR +15","option":{"str":15}},"5":{"string":"STR +15","option":{"str":15}},"6":{"string":"STR +15","option":{"str":15}},"7":{"string":"STR +15","option":{"str":15}},"8":{"string":"STR +15","option":{"str":15}},"9":{"string":"STR +15","option":{"str":15}},"10":{"string":"STR +15","option":{"str":15}},"11":{"string":"STR +15","option":{"str":15}},"12":{"string":"STR +15","option":{"str":15}},"13":{"string":"STR +15","option":{"str":15}},"14":{"string":"STR +15","option":{"str":15}},"15":{"string":"STR +15","option":{"str":15}},"16":{"string":"STR +15","option":{"str":15}},"17":{"string":"STR +15","option":{"str":15}},"18":{"string":"STR +15","option":{"str":15}},"19":{"string":"STR +15","option":{"str":15}},"20":{"string":"STR +15","option":{"str":15}},"21":{"string":"STR +15","option":{"str":15}},"22":{"string":"STR +15","option":{"str":15}},"23":{"string":"STR +15","option":{"str":15}},"24":{"string":"STR +15","option":{"str":15}},"25":{"string":"STR +15","option":{"str":15}}}},"118":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"DEX +15","option":{"dex":15}},"2":{"string":"DEX +15","option":{"dex":15}},"3":{"string":"DEX +15","option":{"dex":15}},"4":{"string":"DEX +15","option":{"dex":15}},"5":{"string":"DEX +15","option":{"dex":15}},"6":{"string":"DEX +15","option":{"dex":15}},"7":{"string":"DEX +15","option":{"dex":15}},"8":{"string":"DEX +15","option":{"dex":15}},"9":{"string":"DEX +15","option":{"dex":15}},"10":{"string":"DEX +15","option":{"dex":15}},"11":{"string":"DEX +15","option":{"dex":15}},"12":{"string":"DEX +15","option":{"dex":15}},"13":{"string":"DEX +15","option":{"dex":15}},"14":{"string":"DEX +15","option":{"dex":15}},"15":{"string":"DEX +15","option":{"dex":15}},"16":{"string":"DEX +15","option":{"dex":15}},"17":{"string":"DEX +15","option":{"dex":15}},"18":{"string":"DEX +15","option":{"dex":15}},"19":{"string":"DEX +15","option":{"dex":15}},"20":{"string":"DEX +15","option":{"dex":15}},"21":{"string":"DEX +15","option":{"dex":15}},"22":{"string":"DEX +15","option":{"dex":15}},"23":{"string":"DEX +15","option":{"dex":15}},"24":{"string":"DEX +15","option":{"dex":15}},"25":{"string":"DEX +15","option":{"dex":15}}}},"119":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"INT +15","option":{"int":15}},"2":{"string":"INT +15","option":{"int":15}},"3":{"string":"INT +15","option":{"int":15}},"4":{"string":"INT +15","option":{"int":15}},"5":{"string":"INT +15","option":{"int":15}},"6":{"string":"INT +15","option":{"int":15}},"7":{"string":"INT +15","option":{"int":15}},"8":{"string":"INT +15","option":{"int":15}},"9":{"string":"INT +15","option":{"int":15}},"10":{"string":"INT +15","option":{"int":15}},"11":{"string":"INT +15","option":{"int":15}},"12":{"string":"INT +15","option":{"int":15}},"13":{"string":"INT +15","option":{"int":15}},"14":{"string":"INT +15","option":{"int":15}},"15":{"string":"INT +15","option":{"int":15}},"16":{"string":"INT +15","option":{"int":15}},"17":{"string":"INT +15","option":{"int":15}},"18":{"string":"INT +15","option":{"int":15}},"19":{"string":"INT +15","option":{"int":15}},"20":{"string":"INT +15","option":{"int":15}},"21":{"string":"INT +15","option":{"int":15}},"22":{"string":"INT +15","option":{"int":15}},"23":{"string":"INT +15","option":{"int":15}},"24":{"string":"INT +15","option":{"int":15}},"25":{"string":"INT +15","option":{"int":15}}}},"120":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"LUK +15","option":{"luk":15}},"2":{"string":"LUK +15","option":{"luk":15}},"3":{"string":"LUK +15","option":{"luk":15}},"4":{"string":"LUK +15","option":{"luk":15}},"5":{"string":"LUK +15","option":{"luk":15}},"6":{"string":"LUK +15","option":{"luk":15}},"7":{"string":"LUK +15","option":{"luk":15}},"8":{"string":"LUK +15","option":{"luk":15}},"9":{"string":"LUK +15","option":{"luk":15}},"10":{"string":"LUK +15","option":{"luk":15}},"11":{"string":"LUK +15","option":{"luk":15}},"12":{"string":"LUK +15","option":{"luk":15}},"13":{"string":"LUK +15","option":{"luk":15}},"14":{"string":"LUK +15","option":{"luk":15}},"15":{"string":"LUK +15","option":{"luk":15}},"16":{"string":"LUK +15","option":{"luk":15}},"17":{"string":"LUK +15","option":{"luk":15}},"18":{"string":"LUK +15","option":{"luk":15}},"19":{"string":"LUK +15","option":{"luk":15}},"20":{"string":"LUK +15","option":{"luk":15}},"21":{"string":"LUK +15","option":{"luk":15}},"22":{"string":"LUK +15","option":{"luk":15}},"23":{"string":"LUK +15","option":{"luk":15}},"24":{"string":"LUK +15","option":{"luk":15}},"25":{"string":"LUK +15","option":{"luk":15}}}},"121":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"STR +20","option":{"str":20}},"2":{"string":"STR +20","option":{"str":20}},"3":{"string":"STR +20","option":{"str":20}},"4":{"string":"STR +20","option":{"str":20}},"5":{"string":"STR +20","option":{"str":20}},"6":{"string":"STR +20","option":{"str":20}},"7":{"string":"STR +20","option":{"str":20}},"8":{"string":"STR +20","option":{"str":20}},"9":{"string":"STR +20","option":{"str":20}},"10":{"string":"STR +20","option":{"str":20}},"11":{"string":"STR +20","option":{"str":20}},"12":{"string":"STR +20","option":{"str":20}},"13":{"string":"STR +20","option":{"str":20}},"14":{"string":"STR +20","option":{"str":20}},"15":{"string":"STR +20","option":{"str":20}},"16":{"string":"STR +20","option":{"str":20}},"17":{"string":"STR +20","option":{"str":20}},"18":{"string":"STR +20","option":{"str":20}},"19":{"string":"STR +20","option":{"str":20}},"20":{"string":"STR +20","option":{"str":20}},"21":{"string":"STR +20","option":{"str":20}},"22":{"string":"STR +20","option":{"str":20}},"23":{"string":"STR +20","option":{"str":20}},"24":{"string":"STR +20","option":{"str":20}},"25":{"string":"STR +20","option":{"str":20}}}},"122":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"DEX +20","option":{"dex":20}},"2":{"string":"DEX +20","option":{"dex":20}},"3":{"string":"DEX +20","option":{"dex":20}},"4":{"string":"DEX +20","option":{"dex":20}},"5":{"string":"DEX +20","option":{"dex":20}},"6":{"string":"DEX +20","option":{"dex":20}},"7":{"string":"DEX +20","option":{"dex":20}},"8":{"string":"DEX +20","option":{"dex":20}},"9":{"string":"DEX +20","option":{"dex":20}},"10":{"string":"DEX +20","option":{"dex":20}},"11":{"string":"DEX +20","option":{"dex":20}},"12":{"string":"DEX +20","option":{"dex":20}},"13":{"string":"DEX +20","option":{"dex":20}},"14":{"string":"DEX +20","option":{"dex":20}},"15":{"string":"DEX +20","option":{"dex":20}},"16":{"string":"DEX +20","option":{"dex":20}},"17":{"string":"DEX +20","option":{"dex":20}},"18":{"string":"DEX +20","option":{"dex":20}},"19":{"string":"DEX +20","option":{"dex":20}},"20":{"string":"DEX +20","option":{"dex":20}},"21":{"string":"DEX +20","option":{"dex":20}},"22":{"string":"DEX +20","option":{"dex":20}},"23":{"string":"DEX +20","option":{"dex":20}},"24":{"string":"DEX +20","option":{"dex":20}},"25":{"string":"DEX +20","option":{"dex":20}}}},"123":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"INT +20","option":{"int":20}},"2":{"string":"INT +20","option":{"int":20}},"3":{"string":"INT +20","option":{"int":20}},"4":{"string":"INT +20","option":{"int":20}},"5":{"string":"INT +20","option":{"int":20}},"6":{"string":"INT +20","option":{"int":20}},"7":{"string":"INT +20","option":{"int":20}},"8":{"string":"INT +20","option":{"int":20}},"9":{"string":"INT +20","option":{"int":20}},"10":{"string":"INT +20","option":{"int":20}},"11":{"string":"INT +20","option":{"int":20}},"12":{"string":"INT +20","option":{"int":20}},"13":{"string":"INT +20","option":{"int":20}},"14":{"string":"INT +20","option":{"int":20}},"15":{"string":"INT +20","option":{"int":20}},"16":{"string":"INT +20","option":{"int":20}},"17":{"string":"INT +20","option":{"int":20}},"18":{"string":"INT +20","option":{"int":20}},"19":{"string":"INT +20","option":{"int":20}},"20":{"string":"INT +20","option":{"int":20}},"21":{"string":"INT +20","option":{"int":20}},"22":{"string":"INT +20","option":{"int":20}},"23":{"string":"INT +20","option":{"int":20}},"24":{"string":"INT +20","option":{"int":20}},"25":{"string":"INT +20","option":{"int":20}}}},"124":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"LUK +20","option":{"luk":20}},"2":{"string":"LUK +20","option":{"luk":20}},"3":{"string":"LUK +20","option":{"luk":20}},"4":{"string":"LUK +20","option":{"luk":20}},"5":{"string":"LUK +20","option":{"luk":20}},"6":{"string":"LUK +20","option":{"luk":20}},"7":{"string":"LUK +20","option":{"luk":20}},"8":{"string":"LUK +20","option":{"luk":20}},"9":{"string":"LUK +20","option":{"luk":20}},"10":{"string":"LUK +20","option":{"luk":20}},"11":{"string":"LUK +20","option":{"luk":20}},"12":{"string":"LUK +20","option":{"luk":20}},"13":{"string":"LUK +20","option":{"luk":20}},"14":{"string":"LUK +20","option":{"luk":20}},"15":{"string":"LUK +20","option":{"luk":20}},"16":{"string":"LUK +20","option":{"luk":20}},"17":{"string":"LUK +20","option":{"luk":20}},"18":{"string":"LUK +20","option":{"luk":20}},"19":{"string":"LUK +20","option":{"luk":20}},"20":{"string":"LUK +20","option":{"luk":20}},"21":{"string":"LUK +20","option":{"luk":20}},"22":{"string":"LUK +20","option":{"luk":20}},"23":{"string":"LUK +20","option":{"luk":20}},"24":{"string":"LUK +20","option":{"luk":20}},"25":{"string":"LUK +20","option":{"luk":20}}}},"131":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"최대 HP +150","option":{"maxHp":150}},"2":{"string":"최대 HP +150","option":{"maxHp":150}},"3":{"string":"최대 HP +150","option":{"maxHp":150}},"4":{"string":"최대 HP +150","option":{"maxHp":150}},"5":{"string":"최대 HP +150","option":{"maxHp":150}},"6":{"string":"최대 HP +150","option":{"maxHp":150}},"7":{"string":"최대 HP +150","option":{"maxHp":150}},"8":{"string":"최대 HP +150","option":{"maxHp":150}},"9":{"string":"최대 HP +150","option":{"maxHp":150}},"10":{"string":"최대 HP +150","option":{"maxHp":150}},"11":{"string":"최대 HP +150","option":{"maxHp":150}},"12":{"string":"최대 HP +150","option":{"maxHp":150}},"13":{"string":"최대 HP +150","option":{"maxHp":150}},"14":{"string":"최대 HP +150","option":{"maxHp":150}},"15":{"string":"최대 HP +150","option":{"maxHp":150}},"16":{"string":"최대 HP +150","option":{"maxHp":150}},"17":{"string":"최대 HP +150","option":{"maxHp":150}},"18":{"string":"최대 HP +150","option":{"maxHp":150}},"19":{"string":"최대 HP +150","option":{"maxHp":150}},"20":{"string":"최대 HP +150","option":{"maxHp":150}},"21":{"string":"최대 HP +150","option":{"maxHp":150}},"22":{"string":"최대 HP +150","option":{"maxHp":150}},"23":{"string":"최대 HP +150","option":{"maxHp":150}},"24":{"string":"최대 HP +150","option":{"maxHp":150}},"25":{"string":"최대 HP +150","option":{"maxHp":150}}}},"132":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"최대 MP +150","option":{"maxMp":150}},"2":{"string":"최대 MP +150","option":{"maxMp":150}},"3":{"string":"최대 MP +150","option":{"maxMp":150}},"4":{"string":"최대 MP +150","option":{"maxMp":150}},"5":{"string":"최대 MP +150","option":{"maxMp":150}},"6":{"string":"최대 MP +150","option":{"maxMp":150}},"7":{"string":"최대 MP +150","option":{"maxMp":150}},"8":{"string":"최대 MP +150","option":{"maxMp":150}},"9":{"string":"최대 MP +150","option":{"maxMp":150}},"10":{"string":"최대 MP +150","option":{"maxMp":150}},"11":{"string":"최대 MP +150","option":{"maxMp":150}},"12":{"string":"최대 MP +150","option":{"maxMp":150}},"13":{"string":"최대 MP +150","option":{"maxMp":150}},"14":{"string":"최대 MP +150","option":{"maxMp":150}},"15":{"string":"최대 MP +150","option":{"maxMp":150}},"16":{"string":"최대 MP +150","option":{"maxMp":150}},"17":{"string":"최대 MP +150","option":{"maxMp":150}},"18":{"string":"최대 MP +150","option":{"maxMp":150}},"19":{"string":"최대 MP +150","option":{"maxMp":150}},"20":{"string":"최대 MP +150","option":{"maxMp":150}},"21":{"string":"최대 MP +150","option":{"maxMp":150}},"22":{"string":"최대 MP +150","option":{"maxMp":150}},"23":{"string":"최대 MP +150","option":{"maxMp":150}},"24":{"string":"최대 MP +150","option":{"maxMp":150}},"25":{"string":"최대 MP +150","option":{"maxMp":150}}}},"133":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"최대 HP +200","option":{"maxHp":200}},"2":{"string":"최대 HP +200","option":{"maxHp":200}},"3":{"string":"최대 HP +200","option":{"maxHp":200}},"4":{"string":"최대 HP +200","option":{"maxHp":200}},"5":{"string":"최대 HP +200","option":{"maxHp":200}},"6":{"string":"최대 HP +200","option":{"maxHp":200}},"7":{"string":"최대 HP +200","option":{"maxHp":200}},"8":{"string":"최대 HP +200","option":{"maxHp":200}},"9":{"string":"최대 HP +200","option":{"maxHp":200}},"10":{"string":"최대 HP +200","option":{"maxHp":200}},"11":{"string":"최대 HP +200","option":{"maxHp":200}},"12":{"string":"최대 HP +200","option":{"maxHp":200}},"13":{"string":"최대 HP +200","option":{"maxHp":200}},"14":{"string":"최대 HP +200","option":{"maxHp":200}},"15":{"string":"최대 HP +200","option":{"maxHp":200}},"16":{"string":"최대 HP +200","option":{"maxHp":200}},"17":{"string":"최대 HP +200","option":{"maxHp":200}},"18":{"string":"최대 HP +200","option":{"maxHp":200}},"19":{"string":"최대 HP +200","option":{"maxHp":200}},"20":{"string":"최대 HP +200","option":{"maxHp":200}},"21":{"string":"최대 HP +200","option":{"maxHp":200}},"22":{"string":"최대 HP +200","option":{"maxHp":200}},"23":{"string":"최대 HP +200","option":{"maxHp":200}},"24":{"string":"최대 HP +200","option":{"maxHp":200}},"25":{"string":"최대 HP +200","option":{"maxHp":200}}}},"134":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"최대 MP +200","option":{"maxMp":200}},"2":{"string":"최대 MP +200","option":{"maxMp":200}},"3":{"string":"최대 MP +200","option":{"maxMp":200}},"4":{"string":"최대 MP +200","option":{"maxMp":200}},"5":{"string":"최대 MP +200","option":{"maxMp":200}},"6":{"string":"최대 MP +200","option":{"maxMp":200}},"7":{"string":"최대 MP +200","option":{"maxMp":200}},"8":{"string":"최대 MP +200","option":{"maxMp":200}},"9":{"string":"최대 MP +200","option":{"maxMp":200}},"10":{"string":"최대 MP +200","option":{"maxMp":200}},"11":{"string":"최대 MP +200","option":{"maxMp":200}},"12":{"string":"최대 MP +200","option":{"maxMp":200}},"13":{"string":"최대 MP +200","option":{"maxMp":200}},"14":{"string":"최대 MP +200","option":{"maxMp":200}},"15":{"string":"최대 MP +200","option":{"maxMp":200}},"16":{"string":"최대 MP +200","option":{"maxMp":200}},"17":{"string":"최대 MP +200","option":{"maxMp":200}},"18":{"string":"최대 MP +200","option":{"maxMp":200}},"19":{"string":"최대 MP +200","option":{"maxMp":200}},"20":{"string":"최대 MP +200","option":{"maxMp":200}},"21":{"string":"최대 MP +200","option":{"maxMp":200}},"22":{"string":"최대 MP +200","option":{"maxMp":200}},"23":{"string":"최대 MP +200","option":{"maxMp":200}},"24":{"string":"최대 MP +200","option":{"maxMp":200}},"25":{"string":"최대 MP +200","option":{"maxMp":200}}}},"135":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"최대 HP +300","option":{"maxHp":300}},"2":{"string":"최대 HP +300","option":{"maxHp":300}},"3":{"string":"최대 HP +300","option":{"maxHp":300}},"4":{"string":"최대 HP +300","option":{"maxHp":300}},"5":{"string":"최대 HP +300","option":{"maxHp":300}},"6":{"string":"최대 HP +300","option":{"maxHp":300}},"7":{"string":"최대 HP +300","option":{"maxHp":300}},"8":{"string":"최대 HP +300","option":{"maxHp":300}},"9":{"string":"최대 HP +300","option":{"maxHp":300}},"10":{"string":"최대 HP +300","option":{"maxHp":300}},"11":{"string":"최대 HP +300","option":{"maxHp":300}},"12":{"string":"최대 HP +300","option":{"maxHp":300}},"13":{"string":"최대 HP +300","option":{"maxHp":300}},"14":{"string":"최대 HP +300","option":{"maxHp":300}},"15":{"string":"최대 HP +300","option":{"maxHp":300}},"16":{"string":"최대 HP +300","option":{"maxHp":300}},"17":{"string":"최대 HP +300","option":{"maxHp":300}},"18":{"string":"최대 HP +300","option":{"maxHp":300}},"19":{"string":"최대 HP +300","option":{"maxHp":300}},"20":{"string":"최대 HP +300","option":{"maxHp":300}},"21":{"string":"최대 HP +300","option":{"maxHp":300}},"22":{"string":"최대 HP +300","option":{"maxHp":300}},"23":{"string":"최대 HP +300","option":{"maxHp":300}},"24":{"string":"최대 HP +300","option":{"maxHp":300}},"25":{"string":"최대 HP +300","option":{"maxHp":300}}}},"136":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"최대 MP +300","option":{"maxMp":300}},"2":{"string":"최대 MP +300","option":{"maxMp":300}},"3":{"string":"최대 MP +300","option":{"maxMp":300}},"4":{"string":"최대 MP +300","option":{"maxMp":300}},"5":{"string":"최대 MP +300","option":{"maxMp":300}},"6":{"string":"최대 MP +300","option":{"maxMp":300}},"7":{"string":"최대 MP +300","option":{"maxMp":300}},"8":{"string":"최대 MP +300","option":{"maxMp":300}},"9":{"string":"최대 MP +300","option":{"maxMp":300}},"10":{"string":"최대 MP +300","option":{"maxMp":300}},"11":{"string":"최대 MP +300","option":{"maxMp":300}},"12":{"string":"최대 MP +300","option":{"maxMp":300}},"13":{"string":"최대 MP +300","option":{"maxMp":300}},"14":{"string":"최대 MP +300","option":{"maxMp":300}},"15":{"string":"최대 MP +300","option":{"maxMp":300}},"16":{"string":"최대 MP +300","option":{"maxMp":300}},"17":{"string":"최대 MP +300","option":{"maxMp":300}},"18":{"string":"최대 MP +300","option":{"maxMp":300}},"19":{"string":"최대 MP +300","option":{"maxMp":300}},"20":{"string":"최대 MP +300","option":{"maxMp":300}},"21":{"string":"최대 MP +300","option":{"maxMp":300}},"22":{"string":"최대 MP +300","option":{"maxMp":300}},"23":{"string":"최대 MP +300","option":{"maxMp":300}},"24":{"string":"최대 MP +300","option":{"maxMp":300}},"25":{"string":"최대 MP +300","option":{"maxMp":300}}}},"137":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"최대 HP +400","option":{"maxHp":400}},"2":{"string":"최대 HP +400","option":{"maxHp":400}},"3":{"string":"최대 HP +400","option":{"maxHp":400}},"4":{"string":"최대 HP +400","option":{"maxHp":400}},"5":{"string":"최대 HP +400","option":{"maxHp":400}},"6":{"string":"최대 HP +400","option":{"maxHp":400}},"7":{"string":"최대 HP +400","option":{"maxHp":400}},"8":{"string":"최대 HP +400","option":{"maxHp":400}},"9":{"string":"최대 HP +400","option":{"maxHp":400}},"10":{"string":"최대 HP +400","option":{"maxHp":400}},"11":{"string":"최대 HP +400","option":{"maxHp":400}},"12":{"string":"최대 HP +400","option":{"maxHp":400}},"13":{"string":"최대 HP +400","option":{"maxHp":400}},"14":{"string":"최대 HP +400","option":{"maxHp":400}},"15":{"string":"최대 HP +400","option":{"maxHp":400}},"16":{"string":"최대 HP +400","option":{"maxHp":400}},"17":{"string":"최대 HP +400","option":{"maxHp":400}},"18":{"string":"최대 HP +400","option":{"maxHp":400}},"19":{"string":"최대 HP +400","option":{"maxHp":400}},"20":{"string":"최대 HP +400","option":{"maxHp":400}},"21":{"string":"최대 HP +400","option":{"maxHp":400}},"22":{"string":"최대 HP +400","option":{"maxHp":400}},"23":{"string":"최대 HP +400","option":{"maxHp":400}},"24":{"string":"최대 HP +400","option":{"maxHp":400}},"25":{"string":"최대 HP +400","option":{"maxHp":400}}}},"138":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"최대 HP +600","option":{"maxHp":600}},"2":{"string":"최대 HP +600","option":{"maxHp":600}},"3":{"string":"최대 HP +600","option":{"maxHp":600}},"4":{"string":"최대 HP +600","option":{"maxHp":600}},"5":{"string":"최대 HP +600","option":{"maxHp":600}},"6":{"string":"최대 HP +600","option":{"maxHp":600}},"7":{"string":"최대 HP +600","option":{"maxHp":600}},"8":{"string":"최대 HP +600","option":{"maxHp":600}},"9":{"string":"최대 HP +600","option":{"maxHp":600}},"10":{"string":"최대 HP +600","option":{"maxHp":600}},"11":{"string":"최대 HP +600","option":{"maxHp":600}},"12":{"string":"최대 HP +600","option":{"maxHp":600}},"13":{"string":"최대 HP +600","option":{"maxHp":600}},"14":{"string":"최대 HP +600","option":{"maxHp":600}},"15":{"string":"최대 HP +600","option":{"maxHp":600}},"16":{"string":"최대 HP +600","option":{"maxHp":600}},"17":{"string":"최대 HP +600","option":{"maxHp":600}},"18":{"string":"최대 HP +600","option":{"maxHp":600}},"19":{"string":"최대 HP +600","option":{"maxHp":600}},"20":{"string":"최대 HP +600","option":{"maxHp":600}},"21":{"string":"최대 HP +600","option":{"maxHp":600}},"22":{"string":"최대 HP +600","option":{"maxHp":600}},"23":{"string":"최대 HP +600","option":{"maxHp":600}},"24":{"string":"최대 HP +600","option":{"maxHp":600}},"25":{"string":"최대 HP +600","option":{"maxHp":600}}}},"139":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"최대 HP +800","option":{"maxHp":800}},"2":{"string":"최대 HP +800","option":{"maxHp":800}},"3":{"string":"최대 HP +800","option":{"maxHp":800}},"4":{"string":"최대 HP +800","option":{"maxHp":800}},"5":{"string":"최대 HP +800","option":{"maxHp":800}},"6":{"string":"최대 HP +800","option":{"maxHp":800}},"7":{"string":"최대 HP +800","option":{"maxHp":800}},"8":{"string":"최대 HP +800","option":{"maxHp":800}},"9":{"string":"최대 HP +800","option":{"maxHp":800}},"10":{"string":"최대 HP +800","option":{"maxHp":800}},"11":{"string":"최대 HP +800","option":{"maxHp":800}},"12":{"string":"최대 HP +800","option":{"maxHp":800}},"13":{"string":"최대 HP +800","option":{"maxHp":800}},"14":{"string":"최대 HP +800","option":{"maxHp":800}},"15":{"string":"최대 HP +800","option":{"maxHp":800}},"16":{"string":"최대 HP +800","option":{"maxHp":800}},"17":{"string":"최대 HP +800","option":{"maxHp":800}},"18":{"string":"최대 HP +800","option":{"maxHp":800}},"19":{"string":"최대 HP +800","option":{"maxHp":800}},"20":{"string":"최대 HP +800","option":{"maxHp":800}},"21":{"string":"최대 HP +800","option":{"maxHp":800}},"22":{"string":"최대 HP +800","option":{"maxHp":800}},"23":{"string":"최대 HP +800","option":{"maxHp":800}},"24":{"string":"최대 HP +800","option":{"maxHp":800}},"25":{"string":"최대 HP +800","option":{"maxHp":800}}}},"140":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"최대 HP +1000","option":{"maxHp":1000}},"2":{"string":"최대 HP +1000","option":{"maxHp":1000}},"3":{"string":"최대 HP +1000","option":{"maxHp":1000}},"4":{"string":"최대 HP +1000","option":{"maxHp":1000}},"5":{"string":"최대 HP +1000","option":{"maxHp":1000}},"6":{"string":"최대 HP +1000","option":{"maxHp":1000}},"7":{"string":"최대 HP +1000","option":{"maxHp":1000}},"8":{"string":"최대 HP +1000","option":{"maxHp":1000}},"9":{"string":"최대 HP +1000","option":{"maxHp":1000}},"10":{"string":"최대 HP +1000","option":{"maxHp":1000}},"11":{"string":"최대 HP +1000","option":{"maxHp":1000}},"12":{"string":"최대 HP +1000","option":{"maxHp":1000}},"13":{"string":"최대 HP +1000","option":{"maxHp":1000}},"14":{"string":"최대 HP +1000","option":{"maxHp":1000}},"15":{"string":"최대 HP +1000","option":{"maxHp":1000}},"16":{"string":"최대 HP +1000","option":{"maxHp":1000}},"17":{"string":"최대 HP +1000","option":{"maxHp":1000}},"18":{"string":"최대 HP +1000","option":{"maxHp":1000}},"19":{"string":"최대 HP +1000","option":{"maxHp":1000}},"20":{"string":"최대 HP +1000","option":{"maxHp":1000}},"21":{"string":"최대 HP +1000","option":{"maxHp":1000}},"22":{"string":"최대 HP +1000","option":{"maxHp":1000}},"23":{"string":"최대 HP +1000","option":{"maxHp":1000}},"24":{"string":"최대 HP +1000","option":{"maxHp":1000}},"25":{"string":"최대 HP +1000","option":{"maxHp":1000}}}},"141":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"최대 HP +1200","option":{"maxHp":1200}},"2":{"string":"최대 HP +1200","option":{"maxHp":1200}},"3":{"string":"최대 HP +1200","option":{"maxHp":1200}},"4":{"string":"최대 HP +1200","option":{"maxHp":1200}},"5":{"string":"최대 HP +1200","option":{"maxHp":1200}},"6":{"string":"최대 HP +1200","option":{"maxHp":1200}},"7":{"string":"최대 HP +1200","option":{"maxHp":1200}},"8":{"string":"최대 HP +1200","option":{"maxHp":1200}},"9":{"string":"최대 HP +1200","option":{"maxHp":1200}},"10":{"string":"최대 HP +1200","option":{"maxHp":1200}},"11":{"string":"최대 HP +1200","option":{"maxHp":1200}},"12":{"string":"최대 HP +1200","option":{"maxHp":1200}},"13":{"string":"최대 HP +1200","option":{"maxHp":1200}},"14":{"string":"최대 HP +1200","option":{"maxHp":1200}},"15":{"string":"최대 HP +1200","option":{"maxHp":1200}},"16":{"string":"최대 HP +1200","option":{"maxHp":1200}},"17":{"string":"최대 HP +1200","option":{"maxHp":1200}},"18":{"string":"최대 HP +1200","option":{"maxHp":1200}},"19":{"string":"최대 HP +1200","option":{"maxHp":1200}},"20":{"string":"최대 HP +1200","option":{"maxHp":1200}},"21":{"string":"최대 HP +1200","option":{"maxHp":1200}},"22":{"string":"최대 HP +1200","option":{"maxHp":1200}},"23":{"string":"최대 HP +1200","option":{"maxHp":1200}},"24":{"string":"최대 HP +1200","option":{"maxHp":1200}},"25":{"string":"최대 HP +1200","option":{"maxHp":1200}}}},"142":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"최대 HP +1500","option":{"maxHp":1500}},"2":{"string":"최대 HP +1500","option":{"maxHp":1500}},"3":{"string":"최대 HP +1500","option":{"maxHp":1500}},"4":{"string":"최대 HP +1500","option":{"maxHp":1500}},"5":{"string":"최대 HP +1500","option":{"maxHp":1500}},"6":{"string":"최대 HP +1500","option":{"maxHp":1500}},"7":{"string":"최대 HP +1500","option":{"maxHp":1500}},"8":{"string":"최대 HP +1500","option":{"maxHp":1500}},"9":{"string":"최대 HP +1500","option":{"maxHp":1500}},"10":{"string":"최대 HP +1500","option":{"maxHp":1500}},"11":{"string":"최대 HP +1500","option":{"maxHp":1500}},"12":{"string":"최대 HP +1500","option":{"maxHp":1500}},"13":{"string":"최대 HP +1500","option":{"maxHp":1500}},"14":{"string":"최대 HP +1500","option":{"maxHp":1500}},"15":{"string":"최대 HP +1500","option":{"maxHp":1500}},"16":{"string":"최대 HP +1500","option":{"maxHp":1500}},"17":{"string":"최대 HP +1500","option":{"maxHp":1500}},"18":{"string":"최대 HP +1500","option":{"maxHp":1500}},"19":{"string":"최대 HP +1500","option":{"maxHp":1500}},"20":{"string":"최대 HP +1500","option":{"maxHp":1500}},"21":{"string":"최대 HP +1500","option":{"maxHp":1500}},"22":{"string":"최대 HP +1500","option":{"maxHp":1500}},"23":{"string":"최대 HP +1500","option":{"maxHp":1500}},"24":{"string":"최대 HP +1500","option":{"maxHp":1500}},"25":{"string":"최대 HP +1500","option":{"maxHp":1500}}}},"151":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"공격력 +3","option":{"attackPower":3}},"2":{"string":"공격력 +3","option":{"attackPower":3}},"3":{"string":"공격력 +3","option":{"attackPower":3}},"4":{"string":"공격력 +3","option":{"attackPower":3}},"5":{"string":"공격력 +3","option":{"attackPower":3}},"6":{"string":"공격력 +3","option":{"attackPower":3}},"7":{"string":"공격력 +3","option":{"attackPower":3}},"8":{"string":"공격력 +3","option":{"attackPower":3}},"9":{"string":"공격력 +3","option":{"attackPower":3}},"10":{"string":"공격력 +3","option":{"attackPower":3}},"11":{"string":"공격력 +3","option":{"attackPower":3}},"12":{"string":"공격력 +3","option":{"attackPower":3}},"13":{"string":"공격력 +3","option":{"attackPower":3}},"14":{"string":"공격력 +3","option":{"attackPower":3}},"15":{"string":"공격력 +3","option":{"attackPower":3}},"16":{"string":"공격력 +3","option":{"attackPower":3}},"17":{"string":"공격력 +3","option":{"attackPower":3}},"18":{"string":"공격력 +3","option":{"attackPower":3}},"19":{"string":"공격력 +3","option":{"attackPower":3}},"20":{"string":"공격력 +3","option":{"attackPower":3}},"21":{"string":"공격력 +3","option":{"attackPower":3}},"22":{"string":"공격력 +3","option":{"attackPower":3}},"23":{"string":"공격력 +3","option":{"attackPower":3}},"24":{"string":"공격력 +3","option":{"attackPower":3}},"25":{"string":"공격력 +3","option":{"attackPower":3}}}},"152":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"마력 +3","option":{"magicPower":3}},"2":{"string":"마력 +3","option":{"magicPower":3}},"3":{"string":"마력 +3","option":{"magicPower":3}},"4":{"string":"마력 +3","option":{"magicPower":3}},"5":{"string":"마력 +3","option":{"magicPower":3}},"6":{"string":"마력 +3","option":{"magicPower":3}},"7":{"string":"마력 +3","option":{"magicPower":3}},"8":{"string":"마력 +3","option":{"magicPower":3}},"9":{"string":"마력 +3","option":{"magicPower":3}},"10":{"string":"마력 +3","option":{"magicPower":3}},"11":{"string":"마력 +3","option":{"magicPower":3}},"12":{"string":"마력 +3","option":{"magicPower":3}},"13":{"string":"마력 +3","option":{"magicPower":3}},"14":{"string":"마력 +3","option":{"magicPower":3}},"15":{"string":"마력 +3","option":{"magicPower":3}},"16":{"string":"마력 +3","option":{"magicPower":3}},"17":{"string":"마력 +3","option":{"magicPower":3}},"18":{"string":"마력 +3","option":{"magicPower":3}},"19":{"string":"마력 +3","option":{"magicPower":3}},"20":{"string":"마력 +3","option":{"magicPower":3}},"21":{"string":"마력 +3","option":{"magicPower":3}},"22":{"string":"마력 +3","option":{"magicPower":3}},"23":{"string":"마력 +3","option":{"magicPower":3}},"24":{"string":"마력 +3","option":{"magicPower":3}},"25":{"string":"마력 +3","option":{"magicPower":3}}}},"153":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"공격력 +4","option":{"attackPower":4}},"2":{"string":"공격력 +4","option":{"attackPower":4}},"3":{"string":"공격력 +4","option":{"attackPower":4}},"4":{"string":"공격력 +4","option":{"attackPower":4}},"5":{"string":"공격력 +4","option":{"attackPower":4}},"6":{"string":"공격력 +4","option":{"attackPower":4}},"7":{"string":"공격력 +4","option":{"attackPower":4}},"8":{"string":"공격력 +4","option":{"attackPower":4}},"9":{"string":"공격력 +4","option":{"attackPower":4}},"10":{"string":"공격력 +4","option":{"attackPower":4}},"11":{"string":"공격력 +4","option":{"attackPower":4}},"12":{"string":"공격력 +4","option":{"attackPower":4}},"13":{"string":"공격력 +4","option":{"attackPower":4}},"14":{"string":"공격력 +4","option":{"attackPower":4}},"15":{"string":"공격력 +4","option":{"attackPower":4}},"16":{"string":"공격력 +4","option":{"attackPower":4}},"17":{"string":"공격력 +4","option":{"attackPower":4}},"18":{"string":"공격력 +4","option":{"attackPower":4}},"19":{"string":"공격력 +4","option":{"attackPower":4}},"20":{"string":"공격력 +4","option":{"attackPower":4}},"21":{"string":"공격력 +4","option":{"attackPower":4}},"22":{"string":"공격력 +4","option":{"attackPower":4}},"23":{"string":"공격력 +4","option":{"attackPower":4}},"24":{"string":"공격력 +4","option":{"attackPower":4}},"25":{"string":"공격력 +4","option":{"attackPower":4}}}},"154":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"마력 +4","option":{"magicPower":4}},"2":{"string":"마력 +4","option":{"magicPower":4}},"3":{"string":"마력 +4","option":{"magicPower":4}},"4":{"string":"마력 +4","option":{"magicPower":4}},"5":{"string":"마력 +4","option":{"magicPower":4}},"6":{"string":"마력 +4","option":{"magicPower":4}},"7":{"string":"마력 +4","option":{"magicPower":4}},"8":{"string":"마력 +4","option":{"magicPower":4}},"9":{"string":"마력 +4","option":{"magicPower":4}},"10":{"string":"마력 +4","option":{"magicPower":4}},"11":{"string":"마력 +4","option":{"magicPower":4}},"12":{"string":"마력 +4","option":{"magicPower":4}},"13":{"string":"마력 +4","option":{"magicPower":4}},"14":{"string":"마력 +4","option":{"magicPower":4}},"15":{"string":"마력 +4","option":{"magicPower":4}},"16":{"string":"마력 +4","option":{"magicPower":4}},"17":{"string":"마력 +4","option":{"magicPower":4}},"18":{"string":"마력 +4","option":{"magicPower":4}},"19":{"string":"마력 +4","option":{"magicPower":4}},"20":{"string":"마력 +4","option":{"magicPower":4}},"21":{"string":"마력 +4","option":{"magicPower":4}},"22":{"string":"마력 +4","option":{"magicPower":4}},"23":{"string":"마력 +4","option":{"magicPower":4}},"24":{"string":"마력 +4","option":{"magicPower":4}},"25":{"string":"마력 +4","option":{"magicPower":4}}}},"155":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"공격력 +5","option":{"attackPower":5}},"2":{"string":"공격력 +5","option":{"attackPower":5}},"3":{"string":"공격력 +5","option":{"attackPower":5}},"4":{"string":"공격력 +5","option":{"attackPower":5}},"5":{"string":"공격력 +5","option":{"attackPower":5}},"6":{"string":"공격력 +5","option":{"attackPower":5}},"7":{"string":"공격력 +5","option":{"attackPower":5}},"8":{"string":"공격력 +5","option":{"attackPower":5}},"9":{"string":"공격력 +5","option":{"attackPower":5}},"10":{"string":"공격력 +5","option":{"attackPower":5}},"11":{"string":"공격력 +5","option":{"attackPower":5}},"12":{"string":"공격력 +5","option":{"attackPower":5}},"13":{"string":"공격력 +5","option":{"attackPower":5}},"14":{"string":"공격력 +5","option":{"attackPower":5}},"15":{"string":"공격력 +5","option":{"attackPower":5}},"16":{"string":"공격력 +5","option":{"attackPower":5}},"17":{"string":"공격력 +5","option":{"attackPower":5}},"18":{"string":"공격력 +5","option":{"attackPower":5}},"19":{"string":"공격력 +5","option":{"attackPower":5}},"20":{"string":"공격력 +5","option":{"attackPower":5}},"21":{"string":"공격력 +5","option":{"attackPower":5}},"22":{"string":"공격력 +5","option":{"attackPower":5}},"23":{"string":"공격력 +5","option":{"attackPower":5}},"24":{"string":"공격력 +5","option":{"attackPower":5}},"25":{"string":"공격력 +5","option":{"attackPower":5}}}},"156":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"마력 +5","option":{"magicPower":5}},"2":{"string":"마력 +5","option":{"magicPower":5}},"3":{"string":"마력 +5","option":{"magicPower":5}},"4":{"string":"마력 +5","option":{"magicPower":5}},"5":{"string":"마력 +5","option":{"magicPower":5}},"6":{"string":"마력 +5","option":{"magicPower":5}},"7":{"string":"마력 +5","option":{"magicPower":5}},"8":{"string":"마력 +5","option":{"magicPower":5}},"9":{"string":"마력 +5","option":{"magicPower":5}},"10":{"string":"마력 +5","option":{"magicPower":5}},"11":{"string":"마력 +5","option":{"magicPower":5}},"12":{"string":"마력 +5","option":{"magicPower":5}},"13":{"string":"마력 +5","option":{"magicPower":5}},"14":{"string":"마력 +5","option":{"magicPower":5}},"15":{"string":"마력 +5","option":{"magicPower":5}},"16":{"string":"마력 +5","option":{"magicPower":5}},"17":{"string":"마력 +5","option":{"magicPower":5}},"18":{"string":"마력 +5","option":{"magicPower":5}},"19":{"string":"마력 +5","option":{"magicPower":5}},"20":{"string":"마력 +5","option":{"magicPower":5}},"21":{"string":"마력 +5","option":{"magicPower":5}},"22":{"string":"마력 +5","option":{"magicPower":5}},"23":{"string":"마력 +5","option":{"magicPower":5}},"24":{"string":"마력 +5","option":{"magicPower":5}},"25":{"string":"마력 +5","option":{"magicPower":5}}}},"157":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"공격력 +5","option":{"attackPower":5}},"2":{"string":"공격력 +5","option":{"attackPower":5}},"3":{"string":"공격력 +5","option":{"attackPower":5}},"4":{"string":"공격력 +5","option":{"attackPower":5}},"5":{"string":"공격력 +5","option":{"attackPower":5}},"6":{"string":"공격력 +5","option":{"attackPower":5}},"7":{"string":"공격력 +5","option":{"attackPower":5}},"8":{"string":"공격력 +5","option":{"attackPower":5}},"9":{"string":"공격력 +5","option":{"attackPower":5}},"10":{"string":"공격력 +5","option":{"attackPower":5}},"11":{"string":"공격력 +5","option":{"attackPower":5}},"12":{"string":"공격력 +5","option":{"attackPower":5}},"13":{"string":"공격력 +5","option":{"attackPower":5}},"14":{"string":"공격력 +5","option":{"attackPower":5}},"15":{"string":"공격력 +5","option":{"attackPower":5}},"16":{"string":"공격력 +5","option":{"attackPower":5}},"17":{"string":"공격력 +5","option":{"attackPower":5}},"18":{"string":"공격력 +5","option":{"attackPower":5}},"19":{"string":"공격력 +5","option":{"attackPower":5}},"20":{"string":"공격력 +5","option":{"attackPower":5}},"21":{"string":"공격력 +5","option":{"attackPower":5}},"22":{"string":"공격력 +5","option":{"attackPower":5}},"23":{"string":"공격력 +5","option":{"attackPower":5}},"24":{"string":"공격력 +5","option":{"attackPower":5}},"25":{"string":"공격력 +5","option":{"attackPower":5}}}},"158":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"마력 +5","option":{"magicPower":5}},"2":{"string":"마력 +5","option":{"magicPower":5}},"3":{"string":"마력 +5","option":{"magicPower":5}},"4":{"string":"마력 +5","option":{"magicPower":5}},"5":{"string":"마력 +5","option":{"magicPower":5}},"6":{"string":"마력 +5","option":{"magicPower":5}},"7":{"string":"마력 +5","option":{"magicPower":5}},"8":{"string":"마력 +5","option":{"magicPower":5}},"9":{"string":"마력 +5","option":{"magicPower":5}},"10":{"string":"마력 +5","option":{"magicPower":5}},"11":{"string":"마력 +5","option":{"magicPower":5}},"12":{"string":"마력 +5","option":{"magicPower":5}},"13":{"string":"마력 +5","option":{"magicPower":5}},"14":{"string":"마력 +5","option":{"magicPower":5}},"15":{"string":"마력 +5","option":{"magicPower":5}},"16":{"string":"마력 +5","option":{"magicPower":5}},"17":{"string":"마력 +5","option":{"magicPower":5}},"18":{"string":"마력 +5","option":{"magicPower":5}},"19":{"string":"마력 +5","option":{"magicPower":5}},"20":{"string":"마력 +5","option":{"magicPower":5}},"21":{"string":"마력 +5","option":{"magicPower":5}},"22":{"string":"마력 +5","option":{"magicPower":5}},"23":{"string":"마력 +5","option":{"magicPower":5}},"24":{"string":"마력 +5","option":{"magicPower":5}},"25":{"string":"마력 +5","option":{"magicPower":5}}}},"159":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"공격력 +7","option":{"attackPower":7}},"2":{"string":"공격력 +7","option":{"attackPower":7}},"3":{"string":"공격력 +7","option":{"attackPower":7}},"4":{"string":"공격력 +7","option":{"attackPower":7}},"5":{"string":"공격력 +7","option":{"attackPower":7}},"6":{"string":"공격력 +7","option":{"attackPower":7}},"7":{"string":"공격력 +7","option":{"attackPower":7}},"8":{"string":"공격력 +7","option":{"attackPower":7}},"9":{"string":"공격력 +7","option":{"attackPower":7}},"10":{"string":"공격력 +7","option":{"attackPower":7}},"11":{"string":"공격력 +7","option":{"attackPower":7}},"12":{"string":"공격력 +7","option":{"attackPower":7}},"13":{"string":"공격력 +7","option":{"attackPower":7}},"14":{"string":"공격력 +7","option":{"attackPower":7}},"15":{"string":"공격력 +7","option":{"attackPower":7}},"16":{"string":"공격력 +7","option":{"attackPower":7}},"17":{"string":"공격력 +7","option":{"attackPower":7}},"18":{"string":"공격력 +7","option":{"attackPower":7}},"19":{"string":"공격력 +7","option":{"attackPower":7}},"20":{"string":"공격력 +7","option":{"attackPower":7}},"21":{"string":"공격력 +7","option":{"attackPower":7}},"22":{"string":"공격력 +7","option":{"attackPower":7}},"23":{"string":"공격력 +7","option":{"attackPower":7}},"24":{"string":"공격력 +7","option":{"attackPower":7}},"25":{"string":"공격력 +7","option":{"attackPower":7}}}},"160":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"마력 +7","option":{"magicPower":7}},"2":{"string":"마력 +7","option":{"magicPower":7}},"3":{"string":"마력 +7","option":{"magicPower":7}},"4":{"string":"마력 +7","option":{"magicPower":7}},"5":{"string":"마력 +7","option":{"magicPower":7}},"6":{"string":"마력 +7","option":{"magicPower":7}},"7":{"string":"마력 +7","option":{"magicPower":7}},"8":{"string":"마력 +7","option":{"magicPower":7}},"9":{"string":"마력 +7","option":{"magicPower":7}},"10":{"string":"마력 +7","option":{"magicPower":7}},"11":{"string":"마력 +7","option":{"magicPower":7}},"12":{"string":"마력 +7","option":{"magicPower":7}},"13":{"string":"마력 +7","option":{"magicPower":7}},"14":{"string":"마력 +7","option":{"magicPower":7}},"15":{"string":"마력 +7","option":{"magicPower":7}},"16":{"string":"마력 +7","option":{"magicPower":7}},"17":{"string":"마력 +7","option":{"magicPower":7}},"18":{"string":"마력 +7","option":{"magicPower":7}},"19":{"string":"마력 +7","option":{"magicPower":7}},"20":{"string":"마력 +7","option":{"magicPower":7}},"21":{"string":"마력 +7","option":{"magicPower":7}},"22":{"string":"마력 +7","option":{"magicPower":7}},"23":{"string":"마력 +7","option":{"magicPower":7}},"24":{"string":"마력 +7","option":{"magicPower":7}},"25":{"string":"마력 +7","option":{"magicPower":7}}}},"161":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"공격력 +10","option":{"attackPower":10}},"2":{"string":"공격력 +10","option":{"attackPower":10}},"3":{"string":"공격력 +10","option":{"attackPower":10}},"4":{"string":"공격력 +10","option":{"attackPower":10}},"5":{"string":"공격력 +10","option":{"attackPower":10}},"6":{"string":"공격력 +10","option":{"attackPower":10}},"7":{"string":"공격력 +10","option":{"attackPower":10}},"8":{"string":"공격력 +10","option":{"attackPower":10}},"9":{"string":"공격력 +10","option":{"attackPower":10}},"10":{"string":"공격력 +10","option":{"attackPower":10}},"11":{"string":"공격력 +10","option":{"attackPower":10}},"12":{"string":"공격력 +10","option":{"attackPower":10}},"13":{"string":"공격력 +10","option":{"attackPower":10}},"14":{"string":"공격력 +10","option":{"attackPower":10}},"15":{"string":"공격력 +10","option":{"attackPower":10}},"16":{"string":"공격력 +10","option":{"attackPower":10}},"17":{"string":"공격력 +10","option":{"attackPower":10}},"18":{"string":"공격력 +10","option":{"attackPower":10}},"19":{"string":"공격력 +10","option":{"attackPower":10}},"20":{"string":"공격력 +10","option":{"attackPower":10}},"21":{"string":"공격력 +10","option":{"attackPower":10}},"22":{"string":"공격력 +10","option":{"attackPower":10}},"23":{"string":"공격력 +10","option":{"attackPower":10}},"24":{"string":"공격력 +10","option":{"attackPower":10}},"25":{"string":"공격력 +10","option":{"attackPower":10}}}},"162":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"마력 +10","option":{"magicPower":10}},"2":{"string":"마력 +10","option":{"magicPower":10}},"3":{"string":"마력 +10","option":{"magicPower":10}},"4":{"string":"마력 +10","option":{"magicPower":10}},"5":{"string":"마력 +10","option":{"magicPower":10}},"6":{"string":"마력 +10","option":{"magicPower":10}},"7":{"string":"마력 +10","option":{"magicPower":10}},"8":{"string":"마력 +10","option":{"magicPower":10}},"9":{"string":"마력 +10","option":{"magicPower":10}},"10":{"string":"마력 +10","option":{"magicPower":10}},"11":{"string":"마력 +10","option":{"magicPower":10}},"12":{"string":"마력 +10","option":{"magicPower":10}},"13":{"string":"마력 +10","option":{"magicPower":10}},"14":{"string":"마력 +10","option":{"magicPower":10}},"15":{"string":"마력 +10","option":{"magicPower":10}},"16":{"string":"마력 +10","option":{"magicPower":10}},"17":{"string":"마력 +10","option":{"magicPower":10}},"18":{"string":"마력 +10","option":{"magicPower":10}},"19":{"string":"마력 +10","option":{"magicPower":10}},"20":{"string":"마력 +10","option":{"magicPower":10}},"21":{"string":"마력 +10","option":{"magicPower":10}},"22":{"string":"마력 +10","option":{"magicPower":10}},"23":{"string":"마력 +10","option":{"magicPower":10}},"24":{"string":"마력 +10","option":{"magicPower":10}},"25":{"string":"마력 +10","option":{"magicPower":10}}}},"163":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"STR +12","option":{"str":12}},"2":{"string":"STR +12","option":{"str":12}},"3":{"string":"STR +12","option":{"str":12}},"4":{"string":"STR +12","option":{"str":12}},"5":{"string":"STR +12","option":{"str":12}},"6":{"string":"STR +12","option":{"str":12}},"7":{"string":"STR +12","option":{"str":12}},"8":{"string":"STR +12","option":{"str":12}},"9":{"string":"STR +12","option":{"str":12}},"10":{"string":"STR +12","option":{"str":12}},"11":{"string":"STR +12","option":{"str":12}},"12":{"string":"STR +12","option":{"str":12}},"13":{"string":"STR +12","option":{"str":12}},"14":{"string":"STR +12","option":{"str":12}},"15":{"string":"STR +12","option":{"str":12}},"16":{"string":"STR +12","option":{"str":12}},"17":{"string":"STR +12","option":{"str":12}},"18":{"string":"STR +12","option":{"str":12}},"19":{"string":"STR +12","option":{"str":12}},"20":{"string":"STR +12","option":{"str":12}},"21":{"string":"STR +12","option":{"str":12}},"22":{"string":"STR +12","option":{"str":12}},"23":{"string":"STR +12","option":{"str":12}},"24":{"string":"STR +12","option":{"str":12}},"25":{"string":"STR +12","option":{"str":12}}}},"164":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"DEX +12","option":{"dex":12}},"2":{"string":"DEX +12","option":{"dex":12}},"3":{"string":"DEX +12","option":{"dex":12}},"4":{"string":"DEX +12","option":{"dex":12}},"5":{"string":"DEX +12","option":{"dex":12}},"6":{"string":"DEX +12","option":{"dex":12}},"7":{"string":"DEX +12","option":{"dex":12}},"8":{"string":"DEX +12","option":{"dex":12}},"9":{"string":"DEX +12","option":{"dex":12}},"10":{"string":"DEX +12","option":{"dex":12}},"11":{"string":"DEX +12","option":{"dex":12}},"12":{"string":"DEX +12","option":{"dex":12}},"13":{"string":"DEX +12","option":{"dex":12}},"14":{"string":"DEX +12","option":{"dex":12}},"15":{"string":"DEX +12","option":{"dex":12}},"16":{"string":"DEX +12","option":{"dex":12}},"17":{"string":"DEX +12","option":{"dex":12}},"18":{"string":"DEX +12","option":{"dex":12}},"19":{"string":"DEX +12","option":{"dex":12}},"20":{"string":"DEX +12","option":{"dex":12}},"21":{"string":"DEX +12","option":{"dex":12}},"22":{"string":"DEX +12","option":{"dex":12}},"23":{"string":"DEX +12","option":{"dex":12}},"24":{"string":"DEX +12","option":{"dex":12}},"25":{"string":"DEX +12","option":{"dex":12}}}},"165":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"INT +12","option":{"int":12}},"2":{"string":"INT +12","option":{"int":12}},"3":{"string":"INT +12","option":{"int":12}},"4":{"string":"INT +12","option":{"int":12}},"5":{"string":"INT +12","option":{"int":12}},"6":{"string":"INT +12","option":{"int":12}},"7":{"string":"INT +12","option":{"int":12}},"8":{"string":"INT +12","option":{"int":12}},"9":{"string":"INT +12","option":{"int":12}},"10":{"string":"INT +12","option":{"int":12}},"11":{"string":"INT +12","option":{"int":12}},"12":{"string":"INT +12","option":{"int":12}},"13":{"string":"INT +12","option":{"int":12}},"14":{"string":"INT +12","option":{"int":12}},"15":{"string":"INT +12","option":{"int":12}},"16":{"string":"INT +12","option":{"int":12}},"17":{"string":"INT +12","option":{"int":12}},"18":{"string":"INT +12","option":{"int":12}},"19":{"string":"INT +12","option":{"int":12}},"20":{"string":"INT +12","option":{"int":12}},"21":{"string":"INT +12","option":{"int":12}},"22":{"string":"INT +12","option":{"int":12}},"23":{"string":"INT +12","option":{"int":12}},"24":{"string":"INT +12","option":{"int":12}},"25":{"string":"INT +12","option":{"int":12}}}},"166":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"LUK +12","option":{"luk":12}},"2":{"string":"LUK +12","option":{"luk":12}},"3":{"string":"LUK +12","option":{"luk":12}},"4":{"string":"LUK +12","option":{"luk":12}},"5":{"string":"LUK +12","option":{"luk":12}},"6":{"string":"LUK +12","option":{"luk":12}},"7":{"string":"LUK +12","option":{"luk":12}},"8":{"string":"LUK +12","option":{"luk":12}},"9":{"string":"LUK +12","option":{"luk":12}},"10":{"string":"LUK +12","option":{"luk":12}},"11":{"string":"LUK +12","option":{"luk":12}},"12":{"string":"LUK +12","option":{"luk":12}},"13":{"string":"LUK +12","option":{"luk":12}},"14":{"string":"LUK +12","option":{"luk":12}},"15":{"string":"LUK +12","option":{"luk":12}},"16":{"string":"LUK +12","option":{"luk":12}},"17":{"string":"LUK +12","option":{"luk":12}},"18":{"string":"LUK +12","option":{"luk":12}},"19":{"string":"LUK +12","option":{"luk":12}},"20":{"string":"LUK +12","option":{"luk":12}},"21":{"string":"LUK +12","option":{"luk":12}},"22":{"string":"LUK +12","option":{"luk":12}},"23":{"string":"LUK +12","option":{"luk":12}},"24":{"string":"LUK +12","option":{"luk":12}},"25":{"string":"LUK +12","option":{"luk":12}}}},"167":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"STR +24","option":{"str":24}},"2":{"string":"STR +24","option":{"str":24}},"3":{"string":"STR +24","option":{"str":24}},"4":{"string":"STR +24","option":{"str":24}},"5":{"string":"STR +24","option":{"str":24}},"6":{"string":"STR +24","option":{"str":24}},"7":{"string":"STR +24","option":{"str":24}},"8":{"string":"STR +24","option":{"str":24}},"9":{"string":"STR +24","option":{"str":24}},"10":{"string":"STR +24","option":{"str":24}},"11":{"string":"STR +24","option":{"str":24}},"12":{"string":"STR +24","option":{"str":24}},"13":{"string":"STR +24","option":{"str":24}},"14":{"string":"STR +24","option":{"str":24}},"15":{"string":"STR +24","option":{"str":24}},"16":{"string":"STR +24","option":{"str":24}},"17":{"string":"STR +24","option":{"str":24}},"18":{"string":"STR +24","option":{"str":24}},"19":{"string":"STR +24","option":{"str":24}},"20":{"string":"STR +24","option":{"str":24}},"21":{"string":"STR +24","option":{"str":24}},"22":{"string":"STR +24","option":{"str":24}},"23":{"string":"STR +24","option":{"str":24}},"24":{"string":"STR +24","option":{"str":24}},"25":{"string":"STR +24","option":{"str":24}}}},"168":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"DEX +24","option":{"dex":24}},"2":{"string":"DEX +24","option":{"dex":24}},"3":{"string":"DEX +24","option":{"dex":24}},"4":{"string":"DEX +24","option":{"dex":24}},"5":{"string":"DEX +24","option":{"dex":24}},"6":{"string":"DEX +24","option":{"dex":24}},"7":{"string":"DEX +24","option":{"dex":24}},"8":{"string":"DEX +24","option":{"dex":24}},"9":{"string":"DEX +24","option":{"dex":24}},"10":{"string":"DEX +24","option":{"dex":24}},"11":{"string":"DEX +24","option":{"dex":24}},"12":{"string":"DEX +24","option":{"dex":24}},"13":{"string":"DEX +24","option":{"dex":24}},"14":{"string":"DEX +24","option":{"dex":24}},"15":{"string":"DEX +24","option":{"dex":24}},"16":{"string":"DEX +24","option":{"dex":24}},"17":{"string":"DEX +24","option":{"dex":24}},"18":{"string":"DEX +24","option":{"dex":24}},"19":{"string":"DEX +24","option":{"dex":24}},"20":{"string":"DEX +24","option":{"dex":24}},"21":{"string":"DEX +24","option":{"dex":24}},"22":{"string":"DEX +24","option":{"dex":24}},"23":{"string":"DEX +24","option":{"dex":24}},"24":{"string":"DEX +24","option":{"dex":24}},"25":{"string":"DEX +24","option":{"dex":24}}}},"169":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"INT +24","option":{"int":24}},"2":{"string":"INT +24","option":{"int":24}},"3":{"string":"INT +24","option":{"int":24}},"4":{"string":"INT +24","option":{"int":24}},"5":{"string":"INT +24","option":{"int":24}},"6":{"string":"INT +24","option":{"int":24}},"7":{"string":"INT +24","option":{"int":24}},"8":{"string":"INT +24","option":{"int":24}},"9":{"string":"INT +24","option":{"int":24}},"10":{"string":"INT +24","option":{"int":24}},"11":{"string":"INT +24","option":{"int":24}},"12":{"string":"INT +24","option":{"int":24}},"13":{"string":"INT +24","option":{"int":24}},"14":{"string":"INT +24","option":{"int":24}},"15":{"string":"INT +24","option":{"int":24}},"16":{"string":"INT +24","option":{"int":24}},"17":{"string":"INT +24","option":{"int":24}},"18":{"string":"INT +24","option":{"int":24}},"19":{"string":"INT +24","option":{"int":24}},"20":{"string":"INT +24","option":{"int":24}},"21":{"string":"INT +24","option":{"int":24}},"22":{"string":"INT +24","option":{"int":24}},"23":{"string":"INT +24","option":{"int":24}},"24":{"string":"INT +24","option":{"int":24}},"25":{"string":"INT +24","option":{"int":24}}}},"170":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"LUK +24","option":{"luk":24}},"2":{"string":"LUK +24","option":{"luk":24}},"3":{"string":"LUK +24","option":{"luk":24}},"4":{"string":"LUK +24","option":{"luk":24}},"5":{"string":"LUK +24","option":{"luk":24}},"6":{"string":"LUK +24","option":{"luk":24}},"7":{"string":"LUK +24","option":{"luk":24}},"8":{"string":"LUK +24","option":{"luk":24}},"9":{"string":"LUK +24","option":{"luk":24}},"10":{"string":"LUK +24","option":{"luk":24}},"11":{"string":"LUK +24","option":{"luk":24}},"12":{"string":"LUK +24","option":{"luk":24}},"13":{"string":"LUK +24","option":{"luk":24}},"14":{"string":"LUK +24","option":{"luk":24}},"15":{"string":"LUK +24","option":{"luk":24}},"16":{"string":"LUK +24","option":{"luk":24}},"17":{"string":"LUK +24","option":{"luk":24}},"18":{"string":"LUK +24","option":{"luk":24}},"19":{"string":"LUK +24","option":{"luk":24}},"20":{"string":"LUK +24","option":{"luk":24}},"21":{"string":"LUK +24","option":{"luk":24}},"22":{"string":"LUK +24","option":{"luk":24}},"23":{"string":"LUK +24","option":{"luk":24}},"24":{"string":"LUK +24","option":{"luk":24}},"25":{"string":"LUK +24","option":{"luk":24}}}},"171":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"공격력 +6","option":{"attackPower":6}},"2":{"string":"공격력 +6","option":{"attackPower":6}},"3":{"string":"공격력 +6","option":{"attackPower":6}},"4":{"string":"공격력 +6","option":{"attackPower":6}},"5":{"string":"공격력 +6","option":{"attackPower":6}},"6":{"string":"공격력 +6","option":{"attackPower":6}},"7":{"string":"공격력 +6","option":{"attackPower":6}},"8":{"string":"공격력 +6","option":{"attackPower":6}},"9":{"string":"공격력 +6","option":{"attackPower":6}},"10":{"string":"공격력 +6","option":{"attackPower":6}},"11":{"string":"공격력 +6","option":{"attackPower":6}},"12":{"string":"공격력 +6","option":{"attackPower":6}},"13":{"string":"공격력 +6","option":{"attackPower":6}},"14":{"string":"공격력 +6","option":{"attackPower":6}},"15":{"string":"공격력 +6","option":{"attackPower":6}},"16":{"string":"공격력 +6","option":{"attackPower":6}},"17":{"string":"공격력 +6","option":{"attackPower":6}},"18":{"string":"공격력 +6","option":{"attackPower":6}},"19":{"string":"공격력 +6","option":{"attackPower":6}},"20":{"string":"공격력 +6","option":{"attackPower":6}},"21":{"string":"공격력 +6","option":{"attackPower":6}},"22":{"string":"공격력 +6","option":{"attackPower":6}},"23":{"string":"공격력 +6","option":{"attackPower":6}},"24":{"string":"공격력 +6","option":{"attackPower":6}},"25":{"string":"공격력 +6","option":{"attackPower":6}}}},"172":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"마력 +6","option":{"magicPower":6}},"2":{"string":"마력 +6","option":{"magicPower":6}},"3":{"string":"마력 +6","option":{"magicPower":6}},"4":{"string":"마력 +6","option":{"magicPower":6}},"5":{"string":"마력 +6","option":{"magicPower":6}},"6":{"string":"마력 +6","option":{"magicPower":6}},"7":{"string":"마력 +6","option":{"magicPower":6}},"8":{"string":"마력 +6","option":{"magicPower":6}},"9":{"string":"마력 +6","option":{"magicPower":6}},"10":{"string":"마력 +6","option":{"magicPower":6}},"11":{"string":"마력 +6","option":{"magicPower":6}},"12":{"string":"마력 +6","option":{"magicPower":6}},"13":{"string":"마력 +6","option":{"magicPower":6}},"14":{"string":"마력 +6","option":{"magicPower":6}},"15":{"string":"마력 +6","option":{"magicPower":6}},"16":{"string":"마력 +6","option":{"magicPower":6}},"17":{"string":"마력 +6","option":{"magicPower":6}},"18":{"string":"마력 +6","option":{"magicPower":6}},"19":{"string":"마력 +6","option":{"magicPower":6}},"20":{"string":"마력 +6","option":{"magicPower":6}},"21":{"string":"마력 +6","option":{"magicPower":6}},"22":{"string":"마력 +6","option":{"magicPower":6}},"23":{"string":"마력 +6","option":{"magicPower":6}},"24":{"string":"마력 +6","option":{"magicPower":6}},"25":{"string":"마력 +6","option":{"magicPower":6}}}},"173":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"공격력 +6","option":{"attackPower":6}},"2":{"string":"공격력 +6","option":{"attackPower":6}},"3":{"string":"공격력 +6","option":{"attackPower":6}},"4":{"string":"공격력 +6","option":{"attackPower":6}},"5":{"string":"공격력 +6","option":{"attackPower":6}},"6":{"string":"공격력 +6","option":{"attackPower":6}},"7":{"string":"공격력 +6","option":{"attackPower":6}},"8":{"string":"공격력 +6","option":{"attackPower":6}},"9":{"string":"공격력 +6","option":{"attackPower":6}},"10":{"string":"공격력 +6","option":{"attackPower":6}},"11":{"string":"공격력 +6","option":{"attackPower":6}},"12":{"string":"공격력 +6","option":{"attackPower":6}},"13":{"string":"공격력 +6","option":{"attackPower":6}},"14":{"string":"공격력 +6","option":{"attackPower":6}},"15":{"string":"공격력 +6","option":{"attackPower":6}},"16":{"string":"공격력 +6","option":{"attackPower":6}},"17":{"string":"공격력 +6","option":{"attackPower":6}},"18":{"string":"공격력 +6","option":{"attackPower":6}},"19":{"string":"공격력 +6","option":{"attackPower":6}},"20":{"string":"공격력 +6","option":{"attackPower":6}},"21":{"string":"공격력 +6","option":{"attackPower":6}},"22":{"string":"공격력 +6","option":{"attackPower":6}},"23":{"string":"공격력 +6","option":{"attackPower":6}},"24":{"string":"공격력 +6","option":{"attackPower":6}},"25":{"string":"공격력 +6","option":{"attackPower":6}}}},"174":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"마력 +6","option":{"magicPower":6}},"2":{"string":"마력 +6","option":{"magicPower":6}},"3":{"string":"마력 +6","option":{"magicPower":6}},"4":{"string":"마력 +6","option":{"magicPower":6}},"5":{"string":"마력 +6","option":{"magicPower":6}},"6":{"string":"마력 +6","option":{"magicPower":6}},"7":{"string":"마력 +6","option":{"magicPower":6}},"8":{"string":"마력 +6","option":{"magicPower":6}},"9":{"string":"마력 +6","option":{"magicPower":6}},"10":{"string":"마력 +6","option":{"magicPower":6}},"11":{"string":"마력 +6","option":{"magicPower":6}},"12":{"string":"마력 +6","option":{"magicPower":6}},"13":{"string":"마력 +6","option":{"magicPower":6}},"14":{"string":"마력 +6","option":{"magicPower":6}},"15":{"string":"마력 +6","option":{"magicPower":6}},"16":{"string":"마력 +6","option":{"magicPower":6}},"17":{"string":"마력 +6","option":{"magicPower":6}},"18":{"string":"마력 +6","option":{"magicPower":6}},"19":{"string":"마력 +6","option":{"magicPower":6}},"20":{"string":"마력 +6","option":{"magicPower":6}},"21":{"string":"마력 +6","option":{"magicPower":6}},"22":{"string":"마력 +6","option":{"magicPower":6}},"23":{"string":"마력 +6","option":{"magicPower":6}},"24":{"string":"마력 +6","option":{"magicPower":6}},"25":{"string":"마력 +6","option":{"magicPower":6}}}},"175":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"최대 HP +500","option":{"maxHp":500}},"2":{"string":"최대 HP +500","option":{"maxHp":500}},"3":{"string":"최대 HP +500","option":{"maxHp":500}},"4":{"string":"최대 HP +500","option":{"maxHp":500}},"5":{"string":"최대 HP +500","option":{"maxHp":500}},"6":{"string":"최대 HP +500","option":{"maxHp":500}},"7":{"string":"최대 HP +500","option":{"maxHp":500}},"8":{"string":"최대 HP +500","option":{"maxHp":500}},"9":{"string":"최대 HP +500","option":{"maxHp":500}},"10":{"string":"최대 HP +500","option":{"maxHp":500}},"11":{"string":"최대 HP +500","option":{"maxHp":500}},"12":{"string":"최대 HP +500","option":{"maxHp":500}},"13":{"string":"최대 HP +500","option":{"maxHp":500}},"14":{"string":"최대 HP +500","option":{"maxHp":500}},"15":{"string":"최대 HP +500","option":{"maxHp":500}},"16":{"string":"최대 HP +500","option":{"maxHp":500}},"17":{"string":"최대 HP +500","option":{"maxHp":500}},"18":{"string":"최대 HP +500","option":{"maxHp":500}},"19":{"string":"최대 HP +500","option":{"maxHp":500}},"20":{"string":"최대 HP +500","option":{"maxHp":500}},"21":{"string":"최대 HP +500","option":{"maxHp":500}},"22":{"string":"최대 HP +500","option":{"maxHp":500}},"23":{"string":"최대 HP +500","option":{"maxHp":500}},"24":{"string":"최대 HP +500","option":{"maxHp":500}},"25":{"string":"최대 HP +500","option":{"maxHp":500}}}},"176":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"최대 HP +1100","option":{"maxHp":1100}},"2":{"string":"최대 HP +1100","option":{"maxHp":1100}},"3":{"string":"최대 HP +1100","option":{"maxHp":1100}},"4":{"string":"최대 HP +1100","option":{"maxHp":1100}},"5":{"string":"최대 HP +1100","option":{"maxHp":1100}},"6":{"string":"최대 HP +1100","option":{"maxHp":1100}},"7":{"string":"최대 HP +1100","option":{"maxHp":1100}},"8":{"string":"최대 HP +1100","option":{"maxHp":1100}},"9":{"string":"최대 HP +1100","option":{"maxHp":1100}},"10":{"string":"최대 HP +1100","option":{"maxHp":1100}},"11":{"string":"최대 HP +1100","option":{"maxHp":1100}},"12":{"string":"최대 HP +1100","option":{"maxHp":1100}},"13":{"string":"최대 HP +1100","option":{"maxHp":1100}},"14":{"string":"최대 HP +1100","option":{"maxHp":1100}},"15":{"string":"최대 HP +1100","option":{"maxHp":1100}},"16":{"string":"최대 HP +1100","option":{"maxHp":1100}},"17":{"string":"최대 HP +1100","option":{"maxHp":1100}},"18":{"string":"최대 HP +1100","option":{"maxHp":1100}},"19":{"string":"최대 HP +1100","option":{"maxHp":1100}},"20":{"string":"최대 HP +1100","option":{"maxHp":1100}},"21":{"string":"최대 HP +1100","option":{"maxHp":1100}},"22":{"string":"최대 HP +1100","option":{"maxHp":1100}},"23":{"string":"최대 HP +1100","option":{"maxHp":1100}},"24":{"string":"최대 HP +1100","option":{"maxHp":1100}},"25":{"string":"최대 HP +1100","option":{"maxHp":1100}}}},"177":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"최대 HP +960","option":{"maxHp":960}},"2":{"string":"최대 HP +960","option":{"maxHp":960}},"3":{"string":"최대 HP +960","option":{"maxHp":960}},"4":{"string":"최대 HP +960","option":{"maxHp":960}},"5":{"string":"최대 HP +960","option":{"maxHp":960}},"6":{"string":"최대 HP +960","option":{"maxHp":960}},"7":{"string":"최대 HP +960","option":{"maxHp":960}},"8":{"string":"최대 HP +960","option":{"maxHp":960}},"9":{"string":"최대 HP +960","option":{"maxHp":960}},"10":{"string":"최대 HP +960","option":{"maxHp":960}},"11":{"string":"최대 HP +960","option":{"maxHp":960}},"12":{"string":"최대 HP +960","option":{"maxHp":960}},"13":{"string":"최대 HP +960","option":{"maxHp":960}},"14":{"string":"최대 HP +960","option":{"maxHp":960}},"15":{"string":"최대 HP +960","option":{"maxHp":960}},"16":{"string":"최대 HP +960","option":{"maxHp":960}},"17":{"string":"최대 HP +960","option":{"maxHp":960}},"18":{"string":"최대 HP +960","option":{"maxHp":960}},"19":{"string":"최대 HP +960","option":{"maxHp":960}},"20":{"string":"최대 HP +960","option":{"maxHp":960}},"21":{"string":"최대 HP +960","option":{"maxHp":960}},"22":{"string":"최대 HP +960","option":{"maxHp":960}},"23":{"string":"최대 HP +960","option":{"maxHp":960}},"24":{"string":"최대 HP +960","option":{"maxHp":960}},"25":{"string":"최대 HP +960","option":{"maxHp":960}}}},"178":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"최대 HP +2000","option":{"maxHp":2000}},"2":{"string":"최대 HP +2000","option":{"maxHp":2000}},"3":{"string":"최대 HP +2000","option":{"maxHp":2000}},"4":{"string":"최대 HP +2000","option":{"maxHp":2000}},"5":{"string":"최대 HP +2000","option":{"maxHp":2000}},"6":{"string":"최대 HP +2000","option":{"maxHp":2000}},"7":{"string":"최대 HP +2000","option":{"maxHp":2000}},"8":{"string":"최대 HP +2000","option":{"maxHp":2000}},"9":{"string":"최대 HP +2000","option":{"maxHp":2000}},"10":{"string":"최대 HP +2000","option":{"maxHp":2000}},"11":{"string":"최대 HP +2000","option":{"maxHp":2000}},"12":{"string":"최대 HP +2000","option":{"maxHp":2000}},"13":{"string":"최대 HP +2000","option":{"maxHp":2000}},"14":{"string":"최대 HP +2000","option":{"maxHp":2000}},"15":{"string":"최대 HP +2000","option":{"maxHp":2000}},"16":{"string":"최대 HP +2000","option":{"maxHp":2000}},"17":{"string":"최대 HP +2000","option":{"maxHp":2000}},"18":{"string":"최대 HP +2000","option":{"maxHp":2000}},"19":{"string":"최대 HP +2000","option":{"maxHp":2000}},"20":{"string":"최대 HP +2000","option":{"maxHp":2000}},"21":{"string":"최대 HP +2000","option":{"maxHp":2000}},"22":{"string":"최대 HP +2000","option":{"maxHp":2000}},"23":{"string":"최대 HP +2000","option":{"maxHp":2000}},"24":{"string":"최대 HP +2000","option":{"maxHp":2000}},"25":{"string":"최대 HP +2000","option":{"maxHp":2000}}}},"179":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"STR +4","option":{"str":4}},"2":{"string":"STR +4","option":{"str":4}},"3":{"string":"STR +4","option":{"str":4}},"4":{"string":"STR +4","option":{"str":4}},"5":{"string":"STR +4","option":{"str":4}},"6":{"string":"STR +4","option":{"str":4}},"7":{"string":"STR +4","option":{"str":4}},"8":{"string":"STR +4","option":{"str":4}},"9":{"string":"STR +4","option":{"str":4}},"10":{"string":"STR +4","option":{"str":4}},"11":{"string":"STR +4","option":{"str":4}},"12":{"string":"STR +4","option":{"str":4}},"13":{"string":"STR +4","option":{"str":4}},"14":{"string":"STR +4","option":{"str":4}},"15":{"string":"STR +4","option":{"str":4}},"16":{"string":"STR +4","option":{"str":4}},"17":{"string":"STR +4","option":{"str":4}},"18":{"string":"STR +4","option":{"str":4}},"19":{"string":"STR +4","option":{"str":4}},"20":{"string":"STR +4","option":{"str":4}},"21":{"string":"STR +4","option":{"str":4}},"22":{"string":"STR +4","option":{"str":4}},"23":{"string":"STR +4","option":{"str":4}},"24":{"string":"STR +4","option":{"str":4}},"25":{"string":"STR +4","option":{"str":4}}}},"180":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"DEX +4","option":{"dex":4}},"2":{"string":"DEX +4","option":{"dex":4}},"3":{"string":"DEX +4","option":{"dex":4}},"4":{"string":"DEX +4","option":{"dex":4}},"5":{"string":"DEX +4","option":{"dex":4}},"6":{"string":"DEX +4","option":{"dex":4}},"7":{"string":"DEX +4","option":{"dex":4}},"8":{"string":"DEX +4","option":{"dex":4}},"9":{"string":"DEX +4","option":{"dex":4}},"10":{"string":"DEX +4","option":{"dex":4}},"11":{"string":"DEX +4","option":{"dex":4}},"12":{"string":"DEX +4","option":{"dex":4}},"13":{"string":"DEX +4","option":{"dex":4}},"14":{"string":"DEX +4","option":{"dex":4}},"15":{"string":"DEX +4","option":{"dex":4}},"16":{"string":"DEX +4","option":{"dex":4}},"17":{"string":"DEX +4","option":{"dex":4}},"18":{"string":"DEX +4","option":{"dex":4}},"19":{"string":"DEX +4","option":{"dex":4}},"20":{"string":"DEX +4","option":{"dex":4}},"21":{"string":"DEX +4","option":{"dex":4}},"22":{"string":"DEX +4","option":{"dex":4}},"23":{"string":"DEX +4","option":{"dex":4}},"24":{"string":"DEX +4","option":{"dex":4}},"25":{"string":"DEX +4","option":{"dex":4}}}},"181":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"INT +4","option":{"int":4}},"2":{"string":"INT +4","option":{"int":4}},"3":{"string":"INT +4","option":{"int":4}},"4":{"string":"INT +4","option":{"int":4}},"5":{"string":"INT +4","option":{"int":4}},"6":{"string":"INT +4","option":{"int":4}},"7":{"string":"INT +4","option":{"int":4}},"8":{"string":"INT +4","option":{"int":4}},"9":{"string":"INT +4","option":{"int":4}},"10":{"string":"INT +4","option":{"int":4}},"11":{"string":"INT +4","option":{"int":4}},"12":{"string":"INT +4","option":{"int":4}},"13":{"string":"INT +4","option":{"int":4}},"14":{"string":"INT +4","option":{"int":4}},"15":{"string":"INT +4","option":{"int":4}},"16":{"string":"INT +4","option":{"int":4}},"17":{"string":"INT +4","option":{"int":4}},"18":{"string":"INT +4","option":{"int":4}},"19":{"string":"INT +4","option":{"int":4}},"20":{"string":"INT +4","option":{"int":4}},"21":{"string":"INT +4","option":{"int":4}},"22":{"string":"INT +4","option":{"int":4}},"23":{"string":"INT +4","option":{"int":4}},"24":{"string":"INT +4","option":{"int":4}},"25":{"string":"INT +4","option":{"int":4}}}},"182":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"LUK +4","option":{"luk":4}},"2":{"string":"LUK +4","option":{"luk":4}},"3":{"string":"LUK +4","option":{"luk":4}},"4":{"string":"LUK +4","option":{"luk":4}},"5":{"string":"LUK +4","option":{"luk":4}},"6":{"string":"LUK +4","option":{"luk":4}},"7":{"string":"LUK +4","option":{"luk":4}},"8":{"string":"LUK +4","option":{"luk":4}},"9":{"string":"LUK +4","option":{"luk":4}},"10":{"string":"LUK +4","option":{"luk":4}},"11":{"string":"LUK +4","option":{"luk":4}},"12":{"string":"LUK +4","option":{"luk":4}},"13":{"string":"LUK +4","option":{"luk":4}},"14":{"string":"LUK +4","option":{"luk":4}},"15":{"string":"LUK +4","option":{"luk":4}},"16":{"string":"LUK +4","option":{"luk":4}},"17":{"string":"LUK +4","option":{"luk":4}},"18":{"string":"LUK +4","option":{"luk":4}},"19":{"string":"LUK +4","option":{"luk":4}},"20":{"string":"LUK +4","option":{"luk":4}},"21":{"string":"LUK +4","option":{"luk":4}},"22":{"string":"LUK +4","option":{"luk":4}},"23":{"string":"LUK +4","option":{"luk":4}},"24":{"string":"LUK +4","option":{"luk":4}},"25":{"string":"LUK +4","option":{"luk":4}}}},"183":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"최대 HP +180","option":{"maxHp":180}},"2":{"string":"최대 HP +180","option":{"maxHp":180}},"3":{"string":"최대 HP +180","option":{"maxHp":180}},"4":{"string":"최대 HP +180","option":{"maxHp":180}},"5":{"string":"최대 HP +180","option":{"maxHp":180}},"6":{"string":"최대 HP +180","option":{"maxHp":180}},"7":{"string":"최대 HP +180","option":{"maxHp":180}},"8":{"string":"최대 HP +180","option":{"maxHp":180}},"9":{"string":"최대 HP +180","option":{"maxHp":180}},"10":{"string":"최대 HP +180","option":{"maxHp":180}},"11":{"string":"최대 HP +180","option":{"maxHp":180}},"12":{"string":"최대 HP +180","option":{"maxHp":180}},"13":{"string":"최대 HP +180","option":{"maxHp":180}},"14":{"string":"최대 HP +180","option":{"maxHp":180}},"15":{"string":"최대 HP +180","option":{"maxHp":180}},"16":{"string":"최대 HP +180","option":{"maxHp":180}},"17":{"string":"최대 HP +180","option":{"maxHp":180}},"18":{"string":"최대 HP +180","option":{"maxHp":180}},"19":{"string":"최대 HP +180","option":{"maxHp":180}},"20":{"string":"최대 HP +180","option":{"maxHp":180}},"21":{"string":"최대 HP +180","option":{"maxHp":180}},"22":{"string":"최대 HP +180","option":{"maxHp":180}},"23":{"string":"최대 HP +180","option":{"maxHp":180}},"24":{"string":"최대 HP +180","option":{"maxHp":180}},"25":{"string":"최대 HP +180","option":{"maxHp":180}}}},"184":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"최대 MP +180","option":{"maxMp":180}},"2":{"string":"최대 MP +180","option":{"maxMp":180}},"3":{"string":"최대 MP +180","option":{"maxMp":180}},"4":{"string":"최대 MP +180","option":{"maxMp":180}},"5":{"string":"최대 MP +180","option":{"maxMp":180}},"6":{"string":"최대 MP +180","option":{"maxMp":180}},"7":{"string":"최대 MP +180","option":{"maxMp":180}},"8":{"string":"최대 MP +180","option":{"maxMp":180}},"9":{"string":"최대 MP +180","option":{"maxMp":180}},"10":{"string":"최대 MP +180","option":{"maxMp":180}},"11":{"string":"최대 MP +180","option":{"maxMp":180}},"12":{"string":"최대 MP +180","option":{"maxMp":180}},"13":{"string":"최대 MP +180","option":{"maxMp":180}},"14":{"string":"최대 MP +180","option":{"maxMp":180}},"15":{"string":"최대 MP +180","option":{"maxMp":180}},"16":{"string":"최대 MP +180","option":{"maxMp":180}},"17":{"string":"최대 MP +180","option":{"maxMp":180}},"18":{"string":"최대 MP +180","option":{"maxMp":180}},"19":{"string":"최대 MP +180","option":{"maxMp":180}},"20":{"string":"최대 MP +180","option":{"maxMp":180}},"21":{"string":"최대 MP +180","option":{"maxMp":180}},"22":{"string":"최대 MP +180","option":{"maxMp":180}},"23":{"string":"최대 MP +180","option":{"maxMp":180}},"24":{"string":"최대 MP +180","option":{"maxMp":180}},"25":{"string":"최대 MP +180","option":{"maxMp":180}}}},"185":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"STR +18","option":{"str":18}},"2":{"string":"STR +18","option":{"str":18}},"3":{"string":"STR +18","option":{"str":18}},"4":{"string":"STR +18","option":{"str":18}},"5":{"string":"STR +18","option":{"str":18}},"6":{"string":"STR +18","option":{"str":18}},"7":{"string":"STR +18","option":{"str":18}},"8":{"string":"STR +18","option":{"str":18}},"9":{"string":"STR +18","option":{"str":18}},"10":{"string":"STR +18","option":{"str":18}},"11":{"string":"STR +18","option":{"str":18}},"12":{"string":"STR +18","option":{"str":18}},"13":{"string":"STR +18","option":{"str":18}},"14":{"string":"STR +18","option":{"str":18}},"15":{"string":"STR +18","option":{"str":18}},"16":{"string":"STR +18","option":{"str":18}},"17":{"string":"STR +18","option":{"str":18}},"18":{"string":"STR +18","option":{"str":18}},"19":{"string":"STR +18","option":{"str":18}},"20":{"string":"STR +18","option":{"str":18}},"21":{"string":"STR +18","option":{"str":18}},"22":{"string":"STR +18","option":{"str":18}},"23":{"string":"STR +18","option":{"str":18}},"24":{"string":"STR +18","option":{"str":18}},"25":{"string":"STR +18","option":{"str":18}}}},"186":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"DEX +18","option":{"dex":18}},"2":{"string":"DEX +18","option":{"dex":18}},"3":{"string":"DEX +18","option":{"dex":18}},"4":{"string":"DEX +18","option":{"dex":18}},"5":{"string":"DEX +18","option":{"dex":18}},"6":{"string":"DEX +18","option":{"dex":18}},"7":{"string":"DEX +18","option":{"dex":18}},"8":{"string":"DEX +18","option":{"dex":18}},"9":{"string":"DEX +18","option":{"dex":18}},"10":{"string":"DEX +18","option":{"dex":18}},"11":{"string":"DEX +18","option":{"dex":18}},"12":{"string":"DEX +18","option":{"dex":18}},"13":{"string":"DEX +18","option":{"dex":18}},"14":{"string":"DEX +18","option":{"dex":18}},"15":{"string":"DEX +18","option":{"dex":18}},"16":{"string":"DEX +18","option":{"dex":18}},"17":{"string":"DEX +18","option":{"dex":18}},"18":{"string":"DEX +18","option":{"dex":18}},"19":{"string":"DEX +18","option":{"dex":18}},"20":{"string":"DEX +18","option":{"dex":18}},"21":{"string":"DEX +18","option":{"dex":18}},"22":{"string":"DEX +18","option":{"dex":18}},"23":{"string":"DEX +18","option":{"dex":18}},"24":{"string":"DEX +18","option":{"dex":18}},"25":{"string":"DEX +18","option":{"dex":18}}}},"187":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"INT +18","option":{"int":18}},"2":{"string":"INT +18","option":{"int":18}},"3":{"string":"INT +18","option":{"int":18}},"4":{"string":"INT +18","option":{"int":18}},"5":{"string":"INT +18","option":{"int":18}},"6":{"string":"INT +18","option":{"int":18}},"7":{"string":"INT +18","option":{"int":18}},"8":{"string":"INT +18","option":{"int":18}},"9":{"string":"INT +18","option":{"int":18}},"10":{"string":"INT +18","option":{"int":18}},"11":{"string":"INT +18","option":{"int":18}},"12":{"string":"INT +18","option":{"int":18}},"13":{"string":"INT +18","option":{"int":18}},"14":{"string":"INT +18","option":{"int":18}},"15":{"string":"INT +18","option":{"int":18}},"16":{"string":"INT +18","option":{"int":18}},"17":{"string":"INT +18","option":{"int":18}},"18":{"string":"INT +18","option":{"int":18}},"19":{"string":"INT +18","option":{"int":18}},"20":{"string":"INT +18","option":{"int":18}},"21":{"string":"INT +18","option":{"int":18}},"22":{"string":"INT +18","option":{"int":18}},"23":{"string":"INT +18","option":{"int":18}},"24":{"string":"INT +18","option":{"int":18}},"25":{"string":"INT +18","option":{"int":18}}}},"188":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"LUK +18","option":{"luk":18}},"2":{"string":"LUK +18","option":{"luk":18}},"3":{"string":"LUK +18","option":{"luk":18}},"4":{"string":"LUK +18","option":{"luk":18}},"5":{"string":"LUK +18","option":{"luk":18}},"6":{"string":"LUK +18","option":{"luk":18}},"7":{"string":"LUK +18","option":{"luk":18}},"8":{"string":"LUK +18","option":{"luk":18}},"9":{"string":"LUK +18","option":{"luk":18}},"10":{"string":"LUK +18","option":{"luk":18}},"11":{"string":"LUK +18","option":{"luk":18}},"12":{"string":"LUK +18","option":{"luk":18}},"13":{"string":"LUK +18","option":{"luk":18}},"14":{"string":"LUK +18","option":{"luk":18}},"15":{"string":"LUK +18","option":{"luk":18}},"16":{"string":"LUK +18","option":{"luk":18}},"17":{"string":"LUK +18","option":{"luk":18}},"18":{"string":"LUK +18","option":{"luk":18}},"19":{"string":"LUK +18","option":{"luk":18}},"20":{"string":"LUK +18","option":{"luk":18}},"21":{"string":"LUK +18","option":{"luk":18}},"22":{"string":"LUK +18","option":{"luk":18}},"23":{"string":"LUK +18","option":{"luk":18}},"24":{"string":"LUK +18","option":{"luk":18}},"25":{"string":"LUK +18","option":{"luk":18}}}},"189":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"최대 HP +700","option":{"maxHp":700}},"2":{"string":"최대 HP +700","option":{"maxHp":700}},"3":{"string":"최대 HP +700","option":{"maxHp":700}},"4":{"string":"최대 HP +700","option":{"maxHp":700}},"5":{"string":"최대 HP +700","option":{"maxHp":700}},"6":{"string":"최대 HP +700","option":{"maxHp":700}},"7":{"string":"최대 HP +700","option":{"maxHp":700}},"8":{"string":"최대 HP +700","option":{"maxHp":700}},"9":{"string":"최대 HP +700","option":{"maxHp":700}},"10":{"string":"최대 HP +700","option":{"maxHp":700}},"11":{"string":"최대 HP +700","option":{"maxHp":700}},"12":{"string":"최대 HP +700","option":{"maxHp":700}},"13":{"string":"최대 HP +700","option":{"maxHp":700}},"14":{"string":"최대 HP +700","option":{"maxHp":700}},"15":{"string":"최대 HP +700","option":{"maxHp":700}},"16":{"string":"최대 HP +700","option":{"maxHp":700}},"17":{"string":"최대 HP +700","option":{"maxHp":700}},"18":{"string":"최대 HP +700","option":{"maxHp":700}},"19":{"string":"최대 HP +700","option":{"maxHp":700}},"20":{"string":"최대 HP +700","option":{"maxHp":700}},"21":{"string":"최대 HP +700","option":{"maxHp":700}},"22":{"string":"최대 HP +700","option":{"maxHp":700}},"23":{"string":"최대 HP +700","option":{"maxHp":700}},"24":{"string":"최대 HP +700","option":{"maxHp":700}},"25":{"string":"최대 HP +700","option":{"maxHp":700}}}},"190":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"최대 HP +1300","option":{"maxHp":1300}},"2":{"string":"최대 HP +1300","option":{"maxHp":1300}},"3":{"string":"최대 HP +1300","option":{"maxHp":1300}},"4":{"string":"최대 HP +1300","option":{"maxHp":1300}},"5":{"string":"최대 HP +1300","option":{"maxHp":1300}},"6":{"string":"최대 HP +1300","option":{"maxHp":1300}},"7":{"string":"최대 HP +1300","option":{"maxHp":1300}},"8":{"string":"최대 HP +1300","option":{"maxHp":1300}},"9":{"string":"최대 HP +1300","option":{"maxHp":1300}},"10":{"string":"최대 HP +1300","option":{"maxHp":1300}},"11":{"string":"최대 HP +1300","option":{"maxHp":1300}},"12":{"string":"최대 HP +1300","option":{"maxHp":1300}},"13":{"string":"최대 HP +1300","option":{"maxHp":1300}},"14":{"string":"최대 HP +1300","option":{"maxHp":1300}},"15":{"string":"최대 HP +1300","option":{"maxHp":1300}},"16":{"string":"최대 HP +1300","option":{"maxHp":1300}},"17":{"string":"최대 HP +1300","option":{"maxHp":1300}},"18":{"string":"최대 HP +1300","option":{"maxHp":1300}},"19":{"string":"최대 HP +1300","option":{"maxHp":1300}},"20":{"string":"최대 HP +1300","option":{"maxHp":1300}},"21":{"string":"최대 HP +1300","option":{"maxHp":1300}},"22":{"string":"최대 HP +1300","option":{"maxHp":1300}},"23":{"string":"최대 HP +1300","option":{"maxHp":1300}},"24":{"string":"최대 HP +1300","option":{"maxHp":1300}},"25":{"string":"최대 HP +1300","option":{"maxHp":1300}}}},"191":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"공격력 +8","option":{"attackPower":8}},"2":{"string":"공격력 +8","option":{"attackPower":8}},"3":{"string":"공격력 +8","option":{"attackPower":8}},"4":{"string":"공격력 +8","option":{"attackPower":8}},"5":{"string":"공격력 +8","option":{"attackPower":8}},"6":{"string":"공격력 +8","option":{"attackPower":8}},"7":{"string":"공격력 +8","option":{"attackPower":8}},"8":{"string":"공격력 +8","option":{"attackPower":8}},"9":{"string":"공격력 +8","option":{"attackPower":8}},"10":{"string":"공격력 +8","option":{"attackPower":8}},"11":{"string":"공격력 +8","option":{"attackPower":8}},"12":{"string":"공격력 +8","option":{"attackPower":8}},"13":{"string":"공격력 +8","option":{"attackPower":8}},"14":{"string":"공격력 +8","option":{"attackPower":8}},"15":{"string":"공격력 +8","option":{"attackPower":8}},"16":{"string":"공격력 +8","option":{"attackPower":8}},"17":{"string":"공격력 +8","option":{"attackPower":8}},"18":{"string":"공격력 +8","option":{"attackPower":8}},"19":{"string":"공격력 +8","option":{"attackPower":8}},"20":{"string":"공격력 +8","option":{"attackPower":8}},"21":{"string":"공격력 +8","option":{"attackPower":8}},"22":{"string":"공격력 +8","option":{"attackPower":8}},"23":{"string":"공격력 +8","option":{"attackPower":8}},"24":{"string":"공격력 +8","option":{"attackPower":8}},"25":{"string":"공격력 +8","option":{"attackPower":8}}}},"192":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"마력 +8","option":{"magicPower":8}},"2":{"string":"마력 +8","option":{"magicPower":8}},"3":{"string":"마력 +8","option":{"magicPower":8}},"4":{"string":"마력 +8","option":{"magicPower":8}},"5":{"string":"마력 +8","option":{"magicPower":8}},"6":{"string":"마력 +8","option":{"magicPower":8}},"7":{"string":"마력 +8","option":{"magicPower":8}},"8":{"string":"마력 +8","option":{"magicPower":8}},"9":{"string":"마력 +8","option":{"magicPower":8}},"10":{"string":"마력 +8","option":{"magicPower":8}},"11":{"string":"마력 +8","option":{"magicPower":8}},"12":{"string":"마력 +8","option":{"magicPower":8}},"13":{"string":"마력 +8","option":{"magicPower":8}},"14":{"string":"마력 +8","option":{"magicPower":8}},"15":{"string":"마력 +8","option":{"magicPower":8}},"16":{"string":"마력 +8","option":{"magicPower":8}},"17":{"string":"마력 +8","option":{"magicPower":8}},"18":{"string":"마력 +8","option":{"magicPower":8}},"19":{"string":"마력 +8","option":{"magicPower":8}},"20":{"string":"마력 +8","option":{"magicPower":8}},"21":{"string":"마력 +8","option":{"magicPower":8}},"22":{"string":"마력 +8","option":{"magicPower":8}},"23":{"string":"마력 +8","option":{"magicPower":8}},"24":{"string":"마력 +8","option":{"magicPower":8}},"25":{"string":"마력 +8","option":{"magicPower":8}}}},"201":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"2":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"3":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"4":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"5":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"6":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"7":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"8":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"9":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"10":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"11":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"12":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"13":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"14":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"15":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"16":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"17":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"18":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"19":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"20":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"21":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"22":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"23":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"24":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"25":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}}}},"202":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"2":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"3":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"4":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"5":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"6":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"7":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"8":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"9":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"10":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"11":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"12":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"13":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"14":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"15":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"16":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"17":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"18":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"19":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"20":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"21":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"22":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"23":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"24":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"25":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}}}},"203":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"2":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"3":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"4":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"5":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"6":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"7":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"8":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"9":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"10":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"11":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"12":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"13":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"14":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"15":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"16":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"17":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"18":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"19":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"20":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"21":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"22":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"23":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"24":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"25":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}}}},"204":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"2":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"3":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"4":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"5":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"6":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"7":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"8":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"9":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"10":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"11":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"12":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"13":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"14":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"15":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"16":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"17":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"18":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"19":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"20":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"21":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"22":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"23":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"24":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}},"25":{"string":"올스탯 +7","option":{"str":7,"dex":7,"int":7,"luk":7}}}},"205":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"2":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"3":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"4":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"5":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"6":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"7":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"8":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"9":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"10":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"11":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"12":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"13":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"14":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"15":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"16":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"17":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"18":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"19":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"20":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"21":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"22":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"23":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"24":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"25":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}}}},"206":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"2":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"3":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"4":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"5":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"6":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"7":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"8":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"9":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"10":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"11":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"12":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"13":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"14":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"15":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"16":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"17":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"18":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"19":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"20":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"21":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"22":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"23":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"24":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"25":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}}}},"207":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"2":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"3":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"4":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"5":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"6":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"7":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"8":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"9":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"10":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"11":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"12":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"13":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"14":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"15":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"16":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"17":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"18":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"19":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"20":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"21":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"22":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"23":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"24":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}},"25":{"string":"올스탯 +10","option":{"str":10,"dex":10,"int":10,"luk":10}}}},"208":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"2":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"3":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"4":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"5":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"6":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"7":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"8":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"9":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"10":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"11":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"12":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"13":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"14":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"15":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"16":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"17":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"18":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"19":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"20":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"21":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"22":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"23":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"24":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"25":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}}}},"209":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"2":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"3":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"4":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"5":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"6":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"7":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"8":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"9":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"10":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"11":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"12":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"13":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"14":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"15":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"16":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"17":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"18":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"19":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"20":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"21":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"22":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"23":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"24":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}},"25":{"string":"올스탯 +20","option":{"str":20,"dex":20,"int":20,"luk":20}}}},"210":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"2":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"3":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"4":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"5":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"6":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"7":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"8":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"9":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"10":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"11":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"12":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"13":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"14":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"15":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"16":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"17":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"18":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"19":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"20":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"21":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"22":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"23":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"24":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"25":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}}}},"211":{"optionType":10,"reqLevel":75,"level":{"1":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"2":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"3":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"4":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"5":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"6":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"7":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"8":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"9":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"10":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"11":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"12":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"13":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"14":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"15":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"16":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"17":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"18":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"19":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"20":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"21":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"22":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"23":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"24":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}},"25":{"string":"올스탯 +15","option":{"str":15,"dex":15,"int":15,"luk":15}}}},"212":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"2":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"3":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"4":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"5":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"6":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"7":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"8":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"9":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"10":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"11":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"12":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"13":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"14":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"15":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"16":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"17":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"18":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"19":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"20":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"21":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"22":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"23":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"24":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}},"25":{"string":"올스탯 +17","option":{"str":17,"dex":17,"int":17,"luk":17}}}},"301":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"2":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"3":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"4":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"5":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"6":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"7":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"8":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"9":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"10":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"11":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"12":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"13":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"14":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"15":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"16":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"17":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"18":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"19":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"20":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"21":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"22":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"23":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"24":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"25":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}}}},"302":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"2":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"3":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"4":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"5":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"6":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"7":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"8":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"9":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"10":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"11":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"12":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"13":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"14":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"15":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"16":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"17":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"18":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"19":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"20":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"21":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"22":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"23":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"24":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"25":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}}}},"303":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"2":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"3":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"4":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"5":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"6":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"7":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"8":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"9":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"10":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"11":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"12":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"13":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"14":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"15":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"16":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"17":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"18":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"19":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"20":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"21":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"22":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"23":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"24":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"25":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}}}},"304":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"2":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"3":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"4":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"5":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"6":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"7":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"8":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"9":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"10":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"11":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"12":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"13":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"14":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"15":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"16":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"17":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"18":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"19":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"20":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"21":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"22":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"23":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"24":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"25":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}}}},"305":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"2":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"3":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"4":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"5":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"6":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"7":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"8":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"9":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"10":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"11":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"12":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"13":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"14":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"15":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"16":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"17":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"18":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"19":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"20":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"21":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"22":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"23":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"24":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"25":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}}}},"306":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"2":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"3":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"4":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"5":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"6":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"7":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"8":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"9":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"10":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"11":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"12":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"13":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"14":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"15":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"16":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"17":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"18":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"19":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"20":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"21":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"22":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"23":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"24":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"25":{"string":"공격력 +3%","option":{"attackPowerRate":3}}}},"307":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"마력 +3%","option":{"magicPowerRate":3}},"2":{"string":"마력 +3%","option":{"magicPowerRate":3}},"3":{"string":"마력 +3%","option":{"magicPowerRate":3}},"4":{"string":"마력 +3%","option":{"magicPowerRate":3}},"5":{"string":"마력 +3%","option":{"magicPowerRate":3}},"6":{"string":"마력 +3%","option":{"magicPowerRate":3}},"7":{"string":"마력 +3%","option":{"magicPowerRate":3}},"8":{"string":"마력 +3%","option":{"magicPowerRate":3}},"9":{"string":"마력 +3%","option":{"magicPowerRate":3}},"10":{"string":"마력 +3%","option":{"magicPowerRate":3}},"11":{"string":"마력 +3%","option":{"magicPowerRate":3}},"12":{"string":"마력 +3%","option":{"magicPowerRate":3}},"13":{"string":"마력 +3%","option":{"magicPowerRate":3}},"14":{"string":"마력 +3%","option":{"magicPowerRate":3}},"15":{"string":"마력 +3%","option":{"magicPowerRate":3}},"16":{"string":"마력 +3%","option":{"magicPowerRate":3}},"17":{"string":"마력 +3%","option":{"magicPowerRate":3}},"18":{"string":"마력 +3%","option":{"magicPowerRate":3}},"19":{"string":"마력 +3%","option":{"magicPowerRate":3}},"20":{"string":"마력 +3%","option":{"magicPowerRate":3}},"21":{"string":"마력 +3%","option":{"magicPowerRate":3}},"22":{"string":"마력 +3%","option":{"magicPowerRate":3}},"23":{"string":"마력 +3%","option":{"magicPowerRate":3}},"24":{"string":"마력 +3%","option":{"magicPowerRate":3}},"25":{"string":"마력 +3%","option":{"magicPowerRate":3}}}},"308":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"2":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"3":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"4":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"5":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"6":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"7":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"8":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"9":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"10":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"11":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"12":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"13":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"14":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"15":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"16":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"17":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"18":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"19":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"20":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"21":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"22":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"23":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"24":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"25":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}}}},"391":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"2":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"3":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"4":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"5":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"6":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"7":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"8":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"9":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"10":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"11":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"12":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"13":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"14":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"15":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"16":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"17":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"18":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"19":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"20":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"21":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"22":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"23":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"24":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"25":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}}}},"401":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"2":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"3":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"4":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"5":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"6":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"7":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"8":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"9":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"10":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"11":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"12":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"13":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"14":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"15":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"16":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"17":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"18":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"19":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"20":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"21":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"22":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"23":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"24":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"25":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}}}},"402":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"2":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"3":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"4":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"5":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"6":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"7":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"8":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"9":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"10":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"11":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"12":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"13":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"14":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"15":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"16":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"17":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"18":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"19":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"20":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"21":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"22":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"23":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"24":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"25":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}}}},"403":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"2":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"3":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"4":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"5":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"6":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"7":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"8":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"9":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"10":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"11":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"12":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"13":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"14":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"15":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"16":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"17":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"18":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"19":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"20":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"21":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"22":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"23":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"24":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"25":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}}}},"404":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"2":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"3":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"4":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"5":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"6":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"7":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"8":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"9":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"10":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"11":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"12":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"13":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"14":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"15":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"16":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"17":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"18":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"19":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"20":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"21":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"22":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"23":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"24":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"25":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}}}},"601":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"2":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"3":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"4":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"5":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"6":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"7":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"8":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"9":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"10":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"11":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"12":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"13":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"14":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"15":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"16":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"17":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"18":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"19":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"20":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"21":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"22":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"23":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"24":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"25":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}}}},"602":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"2":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"3":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"4":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"5":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"6":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"7":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"8":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"9":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"10":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"11":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"12":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"13":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"14":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"15":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"16":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"17":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"18":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"19":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"20":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"21":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"22":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"23":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"24":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"25":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}}}},"603":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"2":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"3":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"4":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"5":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"6":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"7":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"8":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"9":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"10":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"11":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"12":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"13":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"14":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"15":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"16":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"17":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"18":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"19":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"20":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"21":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"22":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"23":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"24":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"25":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}}}},"604":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"2":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"3":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"4":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"5":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"6":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"7":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"8":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"9":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"10":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"11":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"12":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"13":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"14":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"15":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"16":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"17":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"18":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"19":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"20":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"21":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"22":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"23":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"24":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"25":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}}}},"701":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"4차 이하 스킬 레벨 +0 (마스터 레벨까지만 증가)","option":{}},"2":{"string":"4차 이하 스킬 레벨 +0 (마스터 레벨까지만 증가)","option":{}},"3":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"4":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"5":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"6":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"7":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"8":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"9":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"10":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"11":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"12":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"13":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"14":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"15":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"16":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"17":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"18":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"19":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"20":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"21":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"22":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"23":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"24":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"25":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}}}},"702":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"4차 이하 스킬 레벨 +0 (마스터 레벨까지만 증가)","option":{}},"2":{"string":"4차 이하 스킬 레벨 +0 (마스터 레벨까지만 증가)","option":{}},"3":{"string":"4차 이하 스킬 레벨 +0 (마스터 레벨까지만 증가)","option":{}},"4":{"string":"4차 이하 스킬 레벨 +0 (마스터 레벨까지만 증가)","option":{}},"5":{"string":"4차 이하 스킬 레벨 +0 (마스터 레벨까지만 증가)","option":{}},"6":{"string":"4차 이하 스킬 레벨 +0 (마스터 레벨까지만 증가)","option":{}},"7":{"string":"4차 이하 스킬 레벨 +0 (마스터 레벨까지만 증가)","option":{}},"8":{"string":"4차 이하 스킬 레벨 +0 (마스터 레벨까지만 증가)","option":{}},"9":{"string":"4차 이하 스킬 레벨 +0 (마스터 레벨까지만 증가)","option":{}},"10":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"11":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"12":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"13":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"14":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"15":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"16":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"17":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"18":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"19":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"20":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"21":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"22":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"23":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"24":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"25":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}}}},"901":{"optionType":51,"level":{"1":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"2":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"3":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"4":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"5":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"6":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"7":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"8":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"9":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"10":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"11":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"12":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"13":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"14":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"15":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"16":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"17":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"18":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"19":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"20":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"21":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"22":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"23":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"24":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}},"25":{"string":"피격 시 10% 확률로 10초간 분노를 느낀다.","option":{}}}},"902":{"optionType":51,"level":{"1":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"2":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"3":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"4":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"5":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"6":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"7":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"8":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"9":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"10":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"11":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"12":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"13":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"14":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"15":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"16":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"17":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"18":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"19":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"20":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"21":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"22":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"23":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"24":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}},"25":{"string":"피격 시 10% 확률로 10초간 행복을 느낀다.","option":{}}}},"903":{"optionType":51,"level":{"1":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"2":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"3":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"4":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"5":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"6":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"7":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"8":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"9":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"10":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"11":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"12":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"13":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"14":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"15":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"16":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"17":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"18":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"19":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"20":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"21":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"22":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"23":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"24":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}},"25":{"string":"피격 시 10% 확률로 10초간 사랑에 빠진다.","option":{}}}},"904":{"optionType":51,"level":{"1":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"2":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"3":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"4":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"5":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"6":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"7":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"8":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"9":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"10":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"11":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"12":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"13":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"14":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"15":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"16":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"17":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"18":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"19":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"20":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"21":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"22":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"23":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"24":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}},"25":{"string":"피격 시 10% 확률로 10초간 격노를 느낀다.","option":{}}}},"905":{"optionType":51,"level":{"1":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"2":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"3":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"4":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"5":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"6":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"7":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"8":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"9":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"10":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"11":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"12":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"13":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"14":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"15":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"16":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"17":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"18":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"19":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"20":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"21":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"22":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"23":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"24":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}},"25":{"string":"피격 시 10% 확률로 10초간 감동을 느낀다.","option":{}}}},"2001":{"level":{"1":{"string":"STR +1","option":{"str":1}},"2":{"string":"STR +1","option":{"str":1}},"3":{"string":"STR +2","option":{"str":2}},"4":{"string":"STR +2","option":{"str":2}},"5":{"string":"STR +3","option":{"str":3}},"6":{"string":"STR +4","option":{"str":4}},"7":{"string":"STR +4","option":{"str":4}},"8":{"string":"STR +5","option":{"str":5}},"9":{"string":"STR +5","option":{"str":5}},"10":{"string":"STR +6","option":{"str":6}},"11":{"string":"STR +6","option":{"str":6}},"12":{"string":"STR +6","option":{"str":6}},"13":{"string":"STR +6","option":{"str":6}},"14":{"string":"STR +6","option":{"str":6}},"15":{"string":"STR +6","option":{"str":6}},"16":{"string":"STR +6","option":{"str":6}},"17":{"string":"STR +6","option":{"str":6}},"18":{"string":"STR +6","option":{"str":6}},"19":{"string":"STR +6","option":{"str":6}},"20":{"string":"STR +6","option":{"str":6}},"21":{"string":"STR +6","option":{"str":6}},"22":{"string":"STR +6","option":{"str":6}},"23":{"string":"STR +6","option":{"str":6}},"24":{"string":"STR +6","option":{"str":6}},"25":{"string":"STR +6","option":{"str":6}}}},"2002":{"level":{"1":{"string":"DEX +1","option":{"dex":1}},"2":{"string":"DEX +1","option":{"dex":1}},"3":{"string":"DEX +2","option":{"dex":2}},"4":{"string":"DEX +2","option":{"dex":2}},"5":{"string":"DEX +3","option":{"dex":3}},"6":{"string":"DEX +4","option":{"dex":4}},"7":{"string":"DEX +4","option":{"dex":4}},"8":{"string":"DEX +5","option":{"dex":5}},"9":{"string":"DEX +5","option":{"dex":5}},"10":{"string":"DEX +6","option":{"dex":6}},"11":{"string":"DEX +6","option":{"dex":6}},"12":{"string":"DEX +6","option":{"dex":6}},"13":{"string":"DEX +6","option":{"dex":6}},"14":{"string":"DEX +6","option":{"dex":6}},"15":{"string":"DEX +6","option":{"dex":6}},"16":{"string":"DEX +6","option":{"dex":6}},"17":{"string":"DEX +6","option":{"dex":6}},"18":{"string":"DEX +6","option":{"dex":6}},"19":{"string":"DEX +6","option":{"dex":6}},"20":{"string":"DEX +6","option":{"dex":6}},"21":{"string":"DEX +6","option":{"dex":6}},"22":{"string":"DEX +6","option":{"dex":6}},"23":{"string":"DEX +6","option":{"dex":6}},"24":{"string":"DEX +6","option":{"dex":6}},"25":{"string":"DEX +6","option":{"dex":6}}}},"2003":{"level":{"1":{"string":"INT +1","option":{"int":1}},"2":{"string":"INT +1","option":{"int":1}},"3":{"string":"INT +2","option":{"int":2}},"4":{"string":"INT +2","option":{"int":2}},"5":{"string":"INT +3","option":{"int":3}},"6":{"string":"INT +4","option":{"int":4}},"7":{"string":"INT +4","option":{"int":4}},"8":{"string":"INT +5","option":{"int":5}},"9":{"string":"INT +5","option":{"int":5}},"10":{"string":"INT +6","option":{"int":6}},"11":{"string":"INT +6","option":{"int":6}},"12":{"string":"INT +6","option":{"int":6}},"13":{"string":"INT +6","option":{"int":6}},"14":{"string":"INT +6","option":{"int":6}},"15":{"string":"INT +6","option":{"int":6}},"16":{"string":"INT +6","option":{"int":6}},"17":{"string":"INT +6","option":{"int":6}},"18":{"string":"INT +6","option":{"int":6}},"19":{"string":"INT +6","option":{"int":6}},"20":{"string":"INT +6","option":{"int":6}},"21":{"string":"INT +6","option":{"int":6}},"22":{"string":"INT +6","option":{"int":6}},"23":{"string":"INT +6","option":{"int":6}},"24":{"string":"INT +6","option":{"int":6}},"25":{"string":"INT +6","option":{"int":6}}}},"2004":{"level":{"1":{"string":"LUK +1","option":{"luk":1}},"2":{"string":"LUK +1","option":{"luk":1}},"3":{"string":"LUK +2","option":{"luk":2}},"4":{"string":"LUK +2","option":{"luk":2}},"5":{"string":"LUK +3","option":{"luk":3}},"6":{"string":"LUK +4","option":{"luk":4}},"7":{"string":"LUK +4","option":{"luk":4}},"8":{"string":"LUK +5","option":{"luk":5}},"9":{"string":"LUK +5","option":{"luk":5}},"10":{"string":"LUK +6","option":{"luk":6}},"11":{"string":"LUK +6","option":{"luk":6}},"12":{"string":"LUK +6","option":{"luk":6}},"13":{"string":"LUK +6","option":{"luk":6}},"14":{"string":"LUK +6","option":{"luk":6}},"15":{"string":"LUK +6","option":{"luk":6}},"16":{"string":"LUK +6","option":{"luk":6}},"17":{"string":"LUK +6","option":{"luk":6}},"18":{"string":"LUK +6","option":{"luk":6}},"19":{"string":"LUK +6","option":{"luk":6}},"20":{"string":"LUK +6","option":{"luk":6}},"21":{"string":"LUK +6","option":{"luk":6}},"22":{"string":"LUK +6","option":{"luk":6}},"23":{"string":"LUK +6","option":{"luk":6}},"24":{"string":"LUK +6","option":{"luk":6}},"25":{"string":"LUK +6","option":{"luk":6}}}},"2005":{"level":{"1":{"string":"최대 HP +5","option":{"maxHp":5}},"2":{"string":"최대 HP +10","option":{"maxHp":10}},"3":{"string":"최대 HP +15","option":{"maxHp":15}},"4":{"string":"최대 HP +20","option":{"maxHp":20}},"5":{"string":"최대 HP +25","option":{"maxHp":25}},"6":{"string":"최대 HP +30","option":{"maxHp":30}},"7":{"string":"최대 HP +35","option":{"maxHp":35}},"8":{"string":"최대 HP +40","option":{"maxHp":40}},"9":{"string":"최대 HP +45","option":{"maxHp":45}},"10":{"string":"최대 HP +50","option":{"maxHp":50}},"11":{"string":"최대 HP +55","option":{"maxHp":55}},"12":{"string":"최대 HP +60","option":{"maxHp":60}},"13":{"string":"최대 HP +60","option":{"maxHp":60}},"14":{"string":"최대 HP +60","option":{"maxHp":60}},"15":{"string":"최대 HP +60","option":{"maxHp":60}},"16":{"string":"최대 HP +60","option":{"maxHp":60}},"17":{"string":"최대 HP +60","option":{"maxHp":60}},"18":{"string":"최대 HP +60","option":{"maxHp":60}},"19":{"string":"최대 HP +60","option":{"maxHp":60}},"20":{"string":"최대 HP +60","option":{"maxHp":60}},"21":{"string":"최대 HP +60","option":{"maxHp":60}},"22":{"string":"최대 HP +60","option":{"maxHp":60}},"23":{"string":"최대 HP +60","option":{"maxHp":60}},"24":{"string":"최대 HP +60","option":{"maxHp":60}},"25":{"string":"최대 HP +60","option":{"maxHp":60}}}},"2006":{"level":{"1":{"string":"최대 MP +5","option":{"maxMp":5}},"2":{"string":"최대 MP +10","option":{"maxMp":10}},"3":{"string":"최대 MP +15","option":{"maxMp":15}},"4":{"string":"최대 MP +20","option":{"maxMp":20}},"5":{"string":"최대 MP +25","option":{"maxMp":25}},"6":{"string":"최대 MP +30","option":{"maxMp":30}},"7":{"string":"최대 MP +35","option":{"maxMp":35}},"8":{"string":"최대 MP +40","option":{"maxMp":40}},"9":{"string":"최대 MP +45","option":{"maxMp":45}},"10":{"string":"최대 MP +50","option":{"maxMp":50}},"11":{"string":"최대 MP +55","option":{"maxMp":55}},"12":{"string":"최대 MP +60","option":{"maxMp":60}},"13":{"string":"최대 MP +60","option":{"maxMp":60}},"14":{"string":"최대 MP +60","option":{"maxMp":60}},"15":{"string":"최대 MP +60","option":{"maxMp":60}},"16":{"string":"최대 MP +60","option":{"maxMp":60}},"17":{"string":"최대 MP +60","option":{"maxMp":60}},"18":{"string":"최대 MP +60","option":{"maxMp":60}},"19":{"string":"최대 MP +60","option":{"maxMp":60}},"20":{"string":"최대 MP +60","option":{"maxMp":60}},"21":{"string":"최대 MP +60","option":{"maxMp":60}},"22":{"string":"최대 MP +60","option":{"maxMp":60}},"23":{"string":"최대 MP +60","option":{"maxMp":60}},"24":{"string":"최대 MP +60","option":{"maxMp":60}},"25":{"string":"최대 MP +60","option":{"maxMp":60}}}},"2007":{"level":{"1":{"string":"최대 HP +5","option":{"maxHp":5}},"2":{"string":"최대 HP +10","option":{"maxHp":10}},"3":{"string":"최대 HP +15","option":{"maxHp":15}},"4":{"string":"최대 HP +20","option":{"maxHp":20}},"5":{"string":"최대 HP +25","option":{"maxHp":25}},"6":{"string":"최대 HP +30","option":{"maxHp":30}},"7":{"string":"최대 HP +35","option":{"maxHp":35}},"8":{"string":"최대 HP +40","option":{"maxHp":40}},"9":{"string":"최대 HP +45","option":{"maxHp":45}},"10":{"string":"최대 HP +50","option":{"maxHp":50}},"11":{"string":"최대 HP +55","option":{"maxHp":55}},"12":{"string":"최대 HP +60","option":{"maxHp":60}},"13":{"string":"최대 HP +60","option":{"maxHp":60}},"14":{"string":"최대 HP +60","option":{"maxHp":60}},"15":{"string":"최대 HP +60","option":{"maxHp":60}},"16":{"string":"최대 HP +60","option":{"maxHp":60}},"17":{"string":"최대 HP +60","option":{"maxHp":60}},"18":{"string":"최대 HP +60","option":{"maxHp":60}},"19":{"string":"최대 HP +60","option":{"maxHp":60}},"20":{"string":"최대 HP +60","option":{"maxHp":60}},"21":{"string":"최대 HP +60","option":{"maxHp":60}},"22":{"string":"최대 HP +60","option":{"maxHp":60}},"23":{"string":"최대 HP +60","option":{"maxHp":60}},"24":{"string":"최대 HP +60","option":{"maxHp":60}},"25":{"string":"최대 HP +60","option":{"maxHp":60}}}},"2008":{"level":{"1":{"string":"최대 MP +5","option":{"maxMp":5}},"2":{"string":"최대 MP +10","option":{"maxMp":10}},"3":{"string":"최대 MP +15","option":{"maxMp":15}},"4":{"string":"최대 MP +20","option":{"maxMp":20}},"5":{"string":"최대 MP +25","option":{"maxMp":25}},"6":{"string":"최대 MP +30","option":{"maxMp":30}},"7":{"string":"최대 MP +35","option":{"maxMp":35}},"8":{"string":"최대 MP +40","option":{"maxMp":40}},"9":{"string":"최대 MP +45","option":{"maxMp":45}},"10":{"string":"최대 MP +50","option":{"maxMp":50}},"11":{"string":"최대 MP +55","option":{"maxMp":55}},"12":{"string":"최대 MP +60","option":{"maxMp":60}},"13":{"string":"최대 MP +60","option":{"maxMp":60}},"14":{"string":"최대 MP +60","option":{"maxMp":60}},"15":{"string":"최대 MP +60","option":{"maxMp":60}},"16":{"string":"최대 MP +60","option":{"maxMp":60}},"17":{"string":"최대 MP +60","option":{"maxMp":60}},"18":{"string":"최대 MP +60","option":{"maxMp":60}},"19":{"string":"최대 MP +60","option":{"maxMp":60}},"20":{"string":"최대 MP +60","option":{"maxMp":60}},"21":{"string":"최대 MP +60","option":{"maxMp":60}},"22":{"string":"최대 MP +60","option":{"maxMp":60}},"23":{"string":"최대 MP +60","option":{"maxMp":60}},"24":{"string":"최대 MP +60","option":{"maxMp":60}},"25":{"string":"최대 MP +60","option":{"maxMp":60}}}},"2009":{"level":{"1":{"string":"이동속도 +1","option":{"speed":1}},"2":{"string":"이동속도 +1","option":{"speed":1}},"3":{"string":"이동속도 +1","option":{"speed":1}},"4":{"string":"이동속도 +2","option":{"speed":2}},"5":{"string":"이동속도 +2","option":{"speed":2}},"6":{"string":"이동속도 +2","option":{"speed":2}},"7":{"string":"이동속도 +2","option":{"speed":2}},"8":{"string":"이동속도 +3","option":{"speed":3}},"9":{"string":"이동속도 +3","option":{"speed":3}},"10":{"string":"이동속도 +3","option":{"speed":3}},"11":{"string":"이동속도 +3","option":{"speed":3}},"12":{"string":"이동속도 +4","option":{"speed":4}},"13":{"string":"이동속도 +4","option":{"speed":4}},"14":{"string":"이동속도 +4","option":{"speed":4}},"15":{"string":"이동속도 +4","option":{"speed":4}},"16":{"string":"이동속도 +4","option":{"speed":4}},"17":{"string":"이동속도 +4","option":{"speed":4}},"18":{"string":"이동속도 +4","option":{"speed":4}},"19":{"string":"이동속도 +4","option":{"speed":4}},"20":{"string":"이동속도 +4","option":{"speed":4}},"21":{"string":"이동속도 +4","option":{"speed":4}},"22":{"string":"이동속도 +4","option":{"speed":4}},"23":{"string":"이동속도 +4","option":{"speed":4}},"24":{"string":"이동속도 +4","option":{"speed":4}},"25":{"string":"이동속도 +4","option":{"speed":4}}}},"2010":{"level":{"1":{"string":"점프력 +1","option":{"jump":1}},"2":{"string":"점프력 +1","option":{"jump":1}},"3":{"string":"점프력 +1","option":{"jump":1}},"4":{"string":"점프력 +2","option":{"jump":2}},"5":{"string":"점프력 +2","option":{"jump":2}},"6":{"string":"점프력 +2","option":{"jump":2}},"7":{"string":"점프력 +2","option":{"jump":2}},"8":{"string":"점프력 +3","option":{"jump":3}},"9":{"string":"점프력 +3","option":{"jump":3}},"10":{"string":"점프력 +3","option":{"jump":3}},"11":{"string":"점프력 +3","option":{"jump":3}},"12":{"string":"점프력 +4","option":{"jump":4}},"13":{"string":"점프력 +4","option":{"jump":4}},"14":{"string":"점프력 +4","option":{"jump":4}},"15":{"string":"점프력 +4","option":{"jump":4}},"16":{"string":"점프력 +4","option":{"jump":4}},"17":{"string":"점프력 +4","option":{"jump":4}},"18":{"string":"점프력 +4","option":{"jump":4}},"19":{"string":"점프력 +4","option":{"jump":4}},"20":{"string":"점프력 +4","option":{"jump":4}},"21":{"string":"점프력 +4","option":{"jump":4}},"22":{"string":"점프력 +4","option":{"jump":4}},"23":{"string":"점프력 +4","option":{"jump":4}},"24":{"string":"점프력 +4","option":{"jump":4}},"25":{"string":"점프력 +4","option":{"jump":4}}}},"2011":{"optionType":11,"level":{"1":{"string":"공격력 +1","option":{"attackPower":1}},"2":{"string":"공격력 +1","option":{"attackPower":1}},"3":{"string":"공격력 +1","option":{"attackPower":1}},"4":{"string":"공격력 +1","option":{"attackPower":1}},"5":{"string":"공격력 +1","option":{"attackPower":1}},"6":{"string":"공격력 +2","option":{"attackPower":2}},"7":{"string":"공격력 +2","option":{"attackPower":2}},"8":{"string":"공격력 +2","option":{"attackPower":2}},"9":{"string":"공격력 +2","option":{"attackPower":2}},"10":{"string":"공격력 +2","option":{"attackPower":2}},"11":{"string":"공격력 +3","option":{"attackPower":3}},"12":{"string":"공격력 +3","option":{"attackPower":3}},"13":{"string":"공격력 +3","option":{"attackPower":3}},"14":{"string":"공격력 +3","option":{"attackPower":3}},"15":{"string":"공격력 +3","option":{"attackPower":3}},"16":{"string":"공격력 +3","option":{"attackPower":3}},"17":{"string":"공격력 +3","option":{"attackPower":3}},"18":{"string":"공격력 +3","option":{"attackPower":3}},"19":{"string":"공격력 +3","option":{"attackPower":3}},"20":{"string":"공격력 +3","option":{"attackPower":3}},"21":{"string":"공격력 +3","option":{"attackPower":3}},"22":{"string":"공격력 +3","option":{"attackPower":3}},"23":{"string":"공격력 +3","option":{"attackPower":3}},"24":{"string":"공격력 +3","option":{"attackPower":3}},"25":{"string":"공격력 +3","option":{"attackPower":3}}}},"2012":{"optionType":11,"level":{"1":{"string":"마력 +1","option":{"magicPower":1}},"2":{"string":"마력 +1","option":{"magicPower":1}},"3":{"string":"마력 +1","option":{"magicPower":1}},"4":{"string":"마력 +1","option":{"magicPower":1}},"5":{"string":"마력 +1","option":{"magicPower":1}},"6":{"string":"마력 +2","option":{"magicPower":2}},"7":{"string":"마력 +2","option":{"magicPower":2}},"8":{"string":"마력 +2","option":{"magicPower":2}},"9":{"string":"마력 +2","option":{"magicPower":2}},"10":{"string":"마력 +2","option":{"magicPower":2}},"11":{"string":"마력 +3","option":{"magicPower":3}},"12":{"string":"마력 +3","option":{"magicPower":3}},"13":{"string":"마력 +3","option":{"magicPower":3}},"14":{"string":"마력 +3","option":{"magicPower":3}},"15":{"string":"마력 +3","option":{"magicPower":3}},"16":{"string":"마력 +3","option":{"magicPower":3}},"17":{"string":"마력 +3","option":{"magicPower":3}},"18":{"string":"마력 +3","option":{"magicPower":3}},"19":{"string":"마력 +3","option":{"magicPower":3}},"20":{"string":"마력 +3","option":{"magicPower":3}},"21":{"string":"마력 +3","option":{"magicPower":3}},"22":{"string":"마력 +3","option":{"magicPower":3}},"23":{"string":"마력 +3","option":{"magicPower":3}},"24":{"string":"마력 +3","option":{"magicPower":3}},"25":{"string":"마력 +3","option":{"magicPower":3}}}},"2013":{"level":{"1":{"string":"방어력 +5","option":{"armor":5}},"2":{"string":"방어력 +10","option":{"armor":10}},"3":{"string":"방어력 +15","option":{"armor":15}},"4":{"string":"방어력 +20","option":{"armor":20}},"5":{"string":"방어력 +25","option":{"armor":25}},"6":{"string":"방어력 +30","option":{"armor":30}},"7":{"string":"방어력 +35","option":{"armor":35}},"8":{"string":"방어력 +40","option":{"armor":40}},"9":{"string":"방어력 +45","option":{"armor":45}},"10":{"string":"방어력 +50","option":{"armor":50}},"11":{"string":"방어력 +55","option":{"armor":55}},"12":{"string":"방어력 +60","option":{"armor":60}},"13":{"string":"방어력 +60","option":{"armor":60}},"14":{"string":"방어력 +60","option":{"armor":60}},"15":{"string":"방어력 +60","option":{"armor":60}},"16":{"string":"방어력 +60","option":{"armor":60}},"17":{"string":"방어력 +60","option":{"armor":60}},"18":{"string":"방어력 +60","option":{"armor":60}},"19":{"string":"방어력 +60","option":{"armor":60}},"20":{"string":"방어력 +60","option":{"armor":60}},"21":{"string":"방어력 +60","option":{"armor":60}},"22":{"string":"방어력 +60","option":{"armor":60}},"23":{"string":"방어력 +60","option":{"armor":60}},"24":{"string":"방어력 +60","option":{"armor":60}},"25":{"string":"방어력 +60","option":{"armor":60}}}},"2014":{"level":{"1":{"string":"방어력 +5","option":{"armor":5}},"2":{"string":"방어력 +10","option":{"armor":10}},"3":{"string":"방어력 +15","option":{"armor":15}},"4":{"string":"방어력 +20","option":{"armor":20}},"5":{"string":"방어력 +25","option":{"armor":25}},"6":{"string":"방어력 +30","option":{"armor":30}},"7":{"string":"방어력 +35","option":{"armor":35}},"8":{"string":"방어력 +40","option":{"armor":40}},"9":{"string":"방어력 +45","option":{"armor":45}},"10":{"string":"방어력 +50","option":{"armor":50}},"11":{"string":"방어력 +55","option":{"armor":55}},"12":{"string":"방어력 +60","option":{"armor":60}},"13":{"string":"방어력 +60","option":{"armor":60}},"14":{"string":"방어력 +60","option":{"armor":60}},"15":{"string":"방어력 +60","option":{"armor":60}},"16":{"string":"방어력 +60","option":{"armor":60}},"17":{"string":"방어력 +60","option":{"armor":60}},"18":{"string":"방어력 +60","option":{"armor":60}},"19":{"string":"방어력 +60","option":{"armor":60}},"20":{"string":"방어력 +60","option":{"armor":60}},"21":{"string":"방어력 +60","option":{"armor":60}},"22":{"string":"방어력 +60","option":{"armor":60}},"23":{"string":"방어력 +60","option":{"armor":60}},"24":{"string":"방어력 +60","option":{"armor":60}},"25":{"string":"방어력 +60","option":{"armor":60}}}},"2015":{"optionType":10,"level":{"1":{"string":"공격력 +1","option":{"attackPower":1}},"2":{"string":"공격력 +1","option":{"attackPower":1}},"3":{"string":"공격력 +2","option":{"attackPower":2}},"4":{"string":"공격력 +2","option":{"attackPower":2}},"5":{"string":"공격력 +3","option":{"attackPower":3}},"6":{"string":"공격력 +3","option":{"attackPower":3}},"7":{"string":"공격력 +4","option":{"attackPower":4}},"8":{"string":"공격력 +4","option":{"attackPower":4}},"9":{"string":"공격력 +5","option":{"attackPower":5}},"10":{"string":"공격력 +6","option":{"attackPower":6}},"11":{"string":"공격력 +6","option":{"attackPower":6}},"12":{"string":"공격력 +6","option":{"attackPower":6}},"13":{"string":"공격력 +6","option":{"attackPower":6}},"14":{"string":"공격력 +6","option":{"attackPower":6}},"15":{"string":"공격력 +6","option":{"attackPower":6}},"16":{"string":"공격력 +6","option":{"attackPower":6}},"17":{"string":"공격력 +6","option":{"attackPower":6}},"18":{"string":"공격력 +6","option":{"attackPower":6}},"19":{"string":"공격력 +6","option":{"attackPower":6}},"20":{"string":"공격력 +6","option":{"attackPower":6}},"21":{"string":"공격력 +6","option":{"attackPower":6}},"22":{"string":"공격력 +6","option":{"attackPower":6}},"23":{"string":"공격력 +6","option":{"attackPower":6}},"24":{"string":"공격력 +6","option":{"attackPower":6}},"25":{"string":"공격력 +6","option":{"attackPower":6}}}},"2016":{"optionType":10,"level":{"1":{"string":"마력 +1","option":{"magicPower":1}},"2":{"string":"마력 +1","option":{"magicPower":1}},"3":{"string":"마력 +2","option":{"magicPower":2}},"4":{"string":"마력 +2","option":{"magicPower":2}},"5":{"string":"마력 +3","option":{"magicPower":3}},"6":{"string":"마력 +3","option":{"magicPower":3}},"7":{"string":"마력 +4","option":{"magicPower":4}},"8":{"string":"마력 +4","option":{"magicPower":4}},"9":{"string":"마력 +5","option":{"magicPower":5}},"10":{"string":"마력 +6","option":{"magicPower":6}},"11":{"string":"마력 +6","option":{"magicPower":6}},"12":{"string":"마력 +6","option":{"magicPower":6}},"13":{"string":"마력 +6","option":{"magicPower":6}},"14":{"string":"마력 +6","option":{"magicPower":6}},"15":{"string":"마력 +6","option":{"magicPower":6}},"16":{"string":"마력 +6","option":{"magicPower":6}},"17":{"string":"마력 +6","option":{"magicPower":6}},"18":{"string":"마력 +6","option":{"magicPower":6}},"19":{"string":"마력 +6","option":{"magicPower":6}},"20":{"string":"마력 +6","option":{"magicPower":6}},"21":{"string":"마력 +6","option":{"magicPower":6}},"22":{"string":"마력 +6","option":{"magicPower":6}},"23":{"string":"마력 +6","option":{"magicPower":6}},"24":{"string":"마력 +6","option":{"magicPower":6}},"25":{"string":"마력 +6","option":{"magicPower":6}}}},"2901":{"optionType":51,"level":{"1":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"2":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"3":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"4":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"5":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"6":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"7":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"8":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"9":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"10":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"11":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"12":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"13":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"14":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"15":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"16":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"17":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"18":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"19":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"20":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"21":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"22":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"23":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"24":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}},"25":{"string":"피격 시 10% 확률로 5초간 분노를 느낀다.","option":{}}}},"2902":{"optionType":51,"level":{"1":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"2":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"3":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"4":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"5":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"6":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"7":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"8":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"9":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"10":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"11":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"12":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"13":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"14":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"15":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"16":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"17":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"18":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"19":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"20":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"21":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"22":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"23":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"24":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}},"25":{"string":"피격 시 10% 확률로 5초간 행복을 느낀다.","option":{}}}},"2903":{"optionType":51,"level":{"1":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"2":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"3":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"4":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"5":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"6":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"7":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"8":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"9":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"10":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"11":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"12":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"13":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"14":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"15":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"16":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"17":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"18":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"19":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"20":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"21":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"22":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"23":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"24":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}},"25":{"string":"피격 시 10% 확률로 5초간 사랑에 빠진다.","option":{}}}},"2904":{"optionType":51,"level":{"1":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"2":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"3":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"4":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"5":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"6":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"7":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"8":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"9":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"10":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"11":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"12":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"13":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"14":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"15":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"16":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"17":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"18":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"19":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"20":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"21":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"22":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"23":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"24":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}},"25":{"string":"피격 시 10% 확률로 5초간 격노를 느낀다.","option":{}}}},"2905":{"optionType":51,"level":{"1":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"2":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"3":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"4":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"5":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"6":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"7":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"8":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"9":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"10":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"11":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"12":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"13":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"14":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"15":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"16":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"17":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"18":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"19":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"20":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"21":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"22":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"23":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"24":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}},"25":{"string":"피격 시 10% 확률로 5초간 감동을 느낀다.","option":{}}}},"10001":{"level":{"1":{"string":"STR +2","option":{"str":2}},"2":{"string":"STR +2","option":{"str":2}},"3":{"string":"STR +4","option":{"str":4}},"4":{"string":"STR +4","option":{"str":4}},"5":{"string":"STR +6","option":{"str":6}},"6":{"string":"STR +8","option":{"str":8}},"7":{"string":"STR +8","option":{"str":8}},"8":{"string":"STR +10","option":{"str":10}},"9":{"string":"STR +10","option":{"str":10}},"10":{"string":"STR +12","option":{"str":12}},"11":{"string":"STR +12","option":{"str":12}},"12":{"string":"STR +12","option":{"str":12}},"13":{"string":"STR +12","option":{"str":12}},"14":{"string":"STR +12","option":{"str":12}},"15":{"string":"STR +12","option":{"str":12}},"16":{"string":"STR +12","option":{"str":12}},"17":{"string":"STR +12","option":{"str":12}},"18":{"string":"STR +12","option":{"str":12}},"19":{"string":"STR +12","option":{"str":12}},"20":{"string":"STR +12","option":{"str":12}},"21":{"string":"STR +13","option":{"str":13}},"22":{"string":"STR +13","option":{"str":13}},"23":{"string":"STR +13","option":{"str":13}},"24":{"string":"STR +13","option":{"str":13}},"25":{"string":"STR +13","option":{"str":13}}}},"10002":{"level":{"1":{"string":"DEX +2","option":{"dex":2}},"2":{"string":"DEX +2","option":{"dex":2}},"3":{"string":"DEX +4","option":{"dex":4}},"4":{"string":"DEX +4","option":{"dex":4}},"5":{"string":"DEX +6","option":{"dex":6}},"6":{"string":"DEX +8","option":{"dex":8}},"7":{"string":"DEX +8","option":{"dex":8}},"8":{"string":"DEX +10","option":{"dex":10}},"9":{"string":"DEX +10","option":{"dex":10}},"10":{"string":"DEX +12","option":{"dex":12}},"11":{"string":"DEX +12","option":{"dex":12}},"12":{"string":"DEX +12","option":{"dex":12}},"13":{"string":"DEX +12","option":{"dex":12}},"14":{"string":"DEX +12","option":{"dex":12}},"15":{"string":"DEX +12","option":{"dex":12}},"16":{"string":"DEX +12","option":{"dex":12}},"17":{"string":"DEX +12","option":{"dex":12}},"18":{"string":"DEX +12","option":{"dex":12}},"19":{"string":"DEX +12","option":{"dex":12}},"20":{"string":"DEX +12","option":{"dex":12}},"21":{"string":"DEX +13","option":{"dex":13}},"22":{"string":"DEX +13","option":{"dex":13}},"23":{"string":"DEX +13","option":{"dex":13}},"24":{"string":"DEX +13","option":{"dex":13}},"25":{"string":"DEX +13","option":{"dex":13}}}},"10003":{"level":{"1":{"string":"INT +2","option":{"int":2}},"2":{"string":"INT +2","option":{"int":2}},"3":{"string":"INT +4","option":{"int":4}},"4":{"string":"INT +4","option":{"int":4}},"5":{"string":"INT +6","option":{"int":6}},"6":{"string":"INT +8","option":{"int":8}},"7":{"string":"INT +8","option":{"int":8}},"8":{"string":"INT +10","option":{"int":10}},"9":{"string":"INT +10","option":{"int":10}},"10":{"string":"INT +12","option":{"int":12}},"11":{"string":"INT +12","option":{"int":12}},"12":{"string":"INT +12","option":{"int":12}},"13":{"string":"INT +12","option":{"int":12}},"14":{"string":"INT +12","option":{"int":12}},"15":{"string":"INT +12","option":{"int":12}},"16":{"string":"INT +12","option":{"int":12}},"17":{"string":"INT +12","option":{"int":12}},"18":{"string":"INT +12","option":{"int":12}},"19":{"string":"INT +12","option":{"int":12}},"20":{"string":"INT +12","option":{"int":12}},"21":{"string":"INT +13","option":{"int":13}},"22":{"string":"INT +13","option":{"int":13}},"23":{"string":"INT +13","option":{"int":13}},"24":{"string":"INT +13","option":{"int":13}},"25":{"string":"INT +13","option":{"int":13}}}},"10004":{"level":{"1":{"string":"LUK +2","option":{"luk":2}},"2":{"string":"LUK +2","option":{"luk":2}},"3":{"string":"LUK +4","option":{"luk":4}},"4":{"string":"LUK +4","option":{"luk":4}},"5":{"string":"LUK +6","option":{"luk":6}},"6":{"string":"LUK +8","option":{"luk":8}},"7":{"string":"LUK +8","option":{"luk":8}},"8":{"string":"LUK +10","option":{"luk":10}},"9":{"string":"LUK +10","option":{"luk":10}},"10":{"string":"LUK +12","option":{"luk":12}},"11":{"string":"LUK +12","option":{"luk":12}},"12":{"string":"LUK +12","option":{"luk":12}},"13":{"string":"LUK +12","option":{"luk":12}},"14":{"string":"LUK +12","option":{"luk":12}},"15":{"string":"LUK +12","option":{"luk":12}},"16":{"string":"LUK +12","option":{"luk":12}},"17":{"string":"LUK +12","option":{"luk":12}},"18":{"string":"LUK +12","option":{"luk":12}},"19":{"string":"LUK +12","option":{"luk":12}},"20":{"string":"LUK +12","option":{"luk":12}},"21":{"string":"LUK +13","option":{"luk":13}},"22":{"string":"LUK +13","option":{"luk":13}},"23":{"string":"LUK +13","option":{"luk":13}},"24":{"string":"LUK +13","option":{"luk":13}},"25":{"string":"LUK +13","option":{"luk":13}}}},"10005":{"level":{"1":{"string":"최대 HP +10","option":{"maxHp":10}},"2":{"string":"최대 HP +20","option":{"maxHp":20}},"3":{"string":"최대 HP +30","option":{"maxHp":30}},"4":{"string":"최대 HP +40","option":{"maxHp":40}},"5":{"string":"최대 HP +50","option":{"maxHp":50}},"6":{"string":"최대 HP +60","option":{"maxHp":60}},"7":{"string":"최대 HP +70","option":{"maxHp":70}},"8":{"string":"최대 HP +80","option":{"maxHp":80}},"9":{"string":"최대 HP +90","option":{"maxHp":90}},"10":{"string":"최대 HP +100","option":{"maxHp":100}},"11":{"string":"최대 HP +110","option":{"maxHp":110}},"12":{"string":"최대 HP +120","option":{"maxHp":120}},"13":{"string":"최대 HP +120","option":{"maxHp":120}},"14":{"string":"최대 HP +120","option":{"maxHp":120}},"15":{"string":"최대 HP +120","option":{"maxHp":120}},"16":{"string":"최대 HP +120","option":{"maxHp":120}},"17":{"string":"최대 HP +120","option":{"maxHp":120}},"18":{"string":"최대 HP +120","option":{"maxHp":120}},"19":{"string":"최대 HP +120","option":{"maxHp":120}},"20":{"string":"최대 HP +120","option":{"maxHp":120}},"21":{"string":"최대 HP +125","option":{"maxHp":125}},"22":{"string":"최대 HP +125","option":{"maxHp":125}},"23":{"string":"최대 HP +125","option":{"maxHp":125}},"24":{"string":"최대 HP +125","option":{"maxHp":125}},"25":{"string":"최대 HP +125","option":{"maxHp":125}}}},"10006":{"level":{"1":{"string":"최대 MP +10","option":{"maxMp":10}},"2":{"string":"최대 MP +20","option":{"maxMp":20}},"3":{"string":"최대 MP +30","option":{"maxMp":30}},"4":{"string":"최대 MP +40","option":{"maxMp":40}},"5":{"string":"최대 MP +50","option":{"maxMp":50}},"6":{"string":"최대 MP +60","option":{"maxMp":60}},"7":{"string":"최대 MP +70","option":{"maxMp":70}},"8":{"string":"최대 MP +80","option":{"maxMp":80}},"9":{"string":"최대 MP +90","option":{"maxMp":90}},"10":{"string":"최대 MP +100","option":{"maxMp":100}},"11":{"string":"최대 MP +110","option":{"maxMp":110}},"12":{"string":"최대 MP +120","option":{"maxMp":120}},"13":{"string":"최대 MP +120","option":{"maxMp":120}},"14":{"string":"최대 MP +120","option":{"maxMp":120}},"15":{"string":"최대 MP +120","option":{"maxMp":120}},"16":{"string":"최대 MP +120","option":{"maxMp":120}},"17":{"string":"최대 MP +120","option":{"maxMp":120}},"18":{"string":"최대 MP +120","option":{"maxMp":120}},"19":{"string":"최대 MP +120","option":{"maxMp":120}},"20":{"string":"최대 MP +120","option":{"maxMp":120}},"21":{"string":"최대 MP +125","option":{"maxMp":125}},"22":{"string":"최대 MP +125","option":{"maxMp":125}},"23":{"string":"최대 MP +125","option":{"maxMp":125}},"24":{"string":"최대 MP +125","option":{"maxMp":125}},"25":{"string":"최대 MP +125","option":{"maxMp":125}}}},"10007":{"level":{"1":{"string":"최대 HP +10","option":{"maxHp":10}},"2":{"string":"최대 HP +20","option":{"maxHp":20}},"3":{"string":"최대 HP +30","option":{"maxHp":30}},"4":{"string":"최대 HP +40","option":{"maxHp":40}},"5":{"string":"최대 HP +50","option":{"maxHp":50}},"6":{"string":"최대 HP +60","option":{"maxHp":60}},"7":{"string":"최대 HP +70","option":{"maxHp":70}},"8":{"string":"최대 HP +80","option":{"maxHp":80}},"9":{"string":"최대 HP +90","option":{"maxHp":90}},"10":{"string":"최대 HP +100","option":{"maxHp":100}},"11":{"string":"최대 HP +110","option":{"maxHp":110}},"12":{"string":"최대 HP +120","option":{"maxHp":120}},"13":{"string":"최대 HP +120","option":{"maxHp":120}},"14":{"string":"최대 HP +120","option":{"maxHp":120}},"15":{"string":"최대 HP +120","option":{"maxHp":120}},"16":{"string":"최대 HP +120","option":{"maxHp":120}},"17":{"string":"최대 HP +120","option":{"maxHp":120}},"18":{"string":"최대 HP +120","option":{"maxHp":120}},"19":{"string":"최대 HP +120","option":{"maxHp":120}},"20":{"string":"최대 HP +120","option":{"maxHp":120}},"21":{"string":"최대 HP +120","option":{"maxHp":120}},"22":{"string":"최대 HP +120","option":{"maxHp":120}},"23":{"string":"최대 HP +120","option":{"maxHp":120}},"24":{"string":"최대 HP +120","option":{"maxHp":120}},"25":{"string":"최대 HP +120","option":{"maxHp":120}}}},"10008":{"level":{"1":{"string":"최대 MP +10","option":{"maxMp":10}},"2":{"string":"최대 MP +20","option":{"maxMp":20}},"3":{"string":"최대 MP +30","option":{"maxMp":30}},"4":{"string":"최대 MP +40","option":{"maxMp":40}},"5":{"string":"최대 MP +50","option":{"maxMp":50}},"6":{"string":"최대 MP +60","option":{"maxMp":60}},"7":{"string":"최대 MP +70","option":{"maxMp":70}},"8":{"string":"최대 MP +80","option":{"maxMp":80}},"9":{"string":"최대 MP +90","option":{"maxMp":90}},"10":{"string":"최대 MP +100","option":{"maxMp":100}},"11":{"string":"최대 MP +110","option":{"maxMp":110}},"12":{"string":"최대 MP +120","option":{"maxMp":120}},"13":{"string":"최대 MP +120","option":{"maxMp":120}},"14":{"string":"최대 MP +120","option":{"maxMp":120}},"15":{"string":"최대 MP +120","option":{"maxMp":120}},"16":{"string":"최대 MP +120","option":{"maxMp":120}},"17":{"string":"최대 MP +120","option":{"maxMp":120}},"18":{"string":"최대 MP +120","option":{"maxMp":120}},"19":{"string":"최대 MP +120","option":{"maxMp":120}},"20":{"string":"최대 MP +120","option":{"maxMp":120}},"21":{"string":"최대 MP +120","option":{"maxMp":120}},"22":{"string":"최대 MP +120","option":{"maxMp":120}},"23":{"string":"최대 MP +120","option":{"maxMp":120}},"24":{"string":"최대 MP +120","option":{"maxMp":120}},"25":{"string":"최대 MP +120","option":{"maxMp":120}}}},"10009":{"optionType":55,"level":{"1":{"string":"이동속도 +2","option":{"speed":2}},"2":{"string":"이동속도 +2","option":{"speed":2}},"3":{"string":"이동속도 +2","option":{"speed":2}},"4":{"string":"이동속도 +4","option":{"speed":4}},"5":{"string":"이동속도 +4","option":{"speed":4}},"6":{"string":"이동속도 +4","option":{"speed":4}},"7":{"string":"이동속도 +4","option":{"speed":4}},"8":{"string":"이동속도 +6","option":{"speed":6}},"9":{"string":"이동속도 +6","option":{"speed":6}},"10":{"string":"이동속도 +6","option":{"speed":6}},"11":{"string":"이동속도 +6","option":{"speed":6}},"12":{"string":"이동속도 +8","option":{"speed":8}},"13":{"string":"이동속도 +8","option":{"speed":8}},"14":{"string":"이동속도 +8","option":{"speed":8}},"15":{"string":"이동속도 +8","option":{"speed":8}},"16":{"string":"이동속도 +8","option":{"speed":8}},"17":{"string":"이동속도 +8","option":{"speed":8}},"18":{"string":"이동속도 +8","option":{"speed":8}},"19":{"string":"이동속도 +8","option":{"speed":8}},"20":{"string":"이동속도 +8","option":{"speed":8}},"21":{"string":"이동속도 +9","option":{"speed":9}},"22":{"string":"이동속도 +9","option":{"speed":9}},"23":{"string":"이동속도 +9","option":{"speed":9}},"24":{"string":"이동속도 +9","option":{"speed":9}},"25":{"string":"이동속도 +9","option":{"speed":9}}}},"10010":{"optionType":55,"level":{"1":{"string":"점프력 +2","option":{"jump":2}},"2":{"string":"점프력 +2","option":{"jump":2}},"3":{"string":"점프력 +2","option":{"jump":2}},"4":{"string":"점프력 +4","option":{"jump":4}},"5":{"string":"점프력 +4","option":{"jump":4}},"6":{"string":"점프력 +4","option":{"jump":4}},"7":{"string":"점프력 +4","option":{"jump":4}},"8":{"string":"점프력 +6","option":{"jump":6}},"9":{"string":"점프력 +6","option":{"jump":6}},"10":{"string":"점프력 +6","option":{"jump":6}},"11":{"string":"점프력 +6","option":{"jump":6}},"12":{"string":"점프력 +8","option":{"jump":8}},"13":{"string":"점프력 +8","option":{"jump":8}},"14":{"string":"점프력 +8","option":{"jump":8}},"15":{"string":"점프력 +8","option":{"jump":8}},"16":{"string":"점프력 +8","option":{"jump":8}},"17":{"string":"점프력 +8","option":{"jump":8}},"18":{"string":"점프력 +8","option":{"jump":8}},"19":{"string":"점프력 +8","option":{"jump":8}},"20":{"string":"점프력 +8","option":{"jump":8}},"21":{"string":"점프력 +9","option":{"jump":9}},"22":{"string":"점프력 +9","option":{"jump":9}},"23":{"string":"점프력 +9","option":{"jump":9}},"24":{"string":"점프력 +9","option":{"jump":9}},"25":{"string":"점프력 +9","option":{"jump":9}}}},"10011":{"optionType":10,"level":{"1":{"string":"공격력 +2","option":{"attackPower":2}},"2":{"string":"공격력 +2","option":{"attackPower":2}},"3":{"string":"공격력 +4","option":{"attackPower":4}},"4":{"string":"공격력 +4","option":{"attackPower":4}},"5":{"string":"공격력 +6","option":{"attackPower":6}},"6":{"string":"공격력 +6","option":{"attackPower":6}},"7":{"string":"공격력 +8","option":{"attackPower":8}},"8":{"string":"공격력 +8","option":{"attackPower":8}},"9":{"string":"공격력 +10","option":{"attackPower":10}},"10":{"string":"공격력 +12","option":{"attackPower":12}},"11":{"string":"공격력 +12","option":{"attackPower":12}},"12":{"string":"공격력 +12","option":{"attackPower":12}},"13":{"string":"공격력 +12","option":{"attackPower":12}},"14":{"string":"공격력 +12","option":{"attackPower":12}},"15":{"string":"공격력 +12","option":{"attackPower":12}},"16":{"string":"공격력 +12","option":{"attackPower":12}},"17":{"string":"공격력 +12","option":{"attackPower":12}},"18":{"string":"공격력 +12","option":{"attackPower":12}},"19":{"string":"공격력 +12","option":{"attackPower":12}},"20":{"string":"공격력 +12","option":{"attackPower":12}},"21":{"string":"공격력 +13","option":{"attackPower":13}},"22":{"string":"공격력 +13","option":{"attackPower":13}},"23":{"string":"공격력 +13","option":{"attackPower":13}},"24":{"string":"공격력 +13","option":{"attackPower":13}},"25":{"string":"공격력 +13","option":{"attackPower":13}}}},"10012":{"optionType":10,"level":{"1":{"string":"마력 +2","option":{"magicPower":2}},"2":{"string":"마력 +2","option":{"magicPower":2}},"3":{"string":"마력 +4","option":{"magicPower":4}},"4":{"string":"마력 +4","option":{"magicPower":4}},"5":{"string":"마력 +6","option":{"magicPower":6}},"6":{"string":"마력 +6","option":{"magicPower":6}},"7":{"string":"마력 +8","option":{"magicPower":8}},"8":{"string":"마력 +8","option":{"magicPower":8}},"9":{"string":"마력 +10","option":{"magicPower":10}},"10":{"string":"마력 +12","option":{"magicPower":12}},"11":{"string":"마력 +12","option":{"magicPower":12}},"12":{"string":"마력 +12","option":{"magicPower":12}},"13":{"string":"마력 +12","option":{"magicPower":12}},"14":{"string":"마력 +12","option":{"magicPower":12}},"15":{"string":"마력 +12","option":{"magicPower":12}},"16":{"string":"마력 +12","option":{"magicPower":12}},"17":{"string":"마력 +12","option":{"magicPower":12}},"18":{"string":"마력 +12","option":{"magicPower":12}},"19":{"string":"마력 +12","option":{"magicPower":12}},"20":{"string":"마력 +12","option":{"magicPower":12}},"21":{"string":"마력 +13","option":{"magicPower":13}},"22":{"string":"마력 +13","option":{"magicPower":13}},"23":{"string":"마력 +13","option":{"magicPower":13}},"24":{"string":"마력 +13","option":{"magicPower":13}},"25":{"string":"마력 +13","option":{"magicPower":13}}}},"10013":{"optionType":11,"level":{"1":{"string":"방어력 +10","option":{"armor":10}},"2":{"string":"방어력 +20","option":{"armor":20}},"3":{"string":"방어력 +30","option":{"armor":30}},"4":{"string":"방어력 +40","option":{"armor":40}},"5":{"string":"방어력 +50","option":{"armor":50}},"6":{"string":"방어력 +60","option":{"armor":60}},"7":{"string":"방어력 +70","option":{"armor":70}},"8":{"string":"방어력 +80","option":{"armor":80}},"9":{"string":"방어력 +90","option":{"armor":90}},"10":{"string":"방어력 +100","option":{"armor":100}},"11":{"string":"방어력 +110","option":{"armor":110}},"12":{"string":"방어력 +120","option":{"armor":120}},"13":{"string":"방어력 +120","option":{"armor":120}},"14":{"string":"방어력 +120","option":{"armor":120}},"15":{"string":"방어력 +120","option":{"armor":120}},"16":{"string":"방어력 +120","option":{"armor":120}},"17":{"string":"방어력 +120","option":{"armor":120}},"18":{"string":"방어력 +120","option":{"armor":120}},"19":{"string":"방어력 +120","option":{"armor":120}},"20":{"string":"방어력 +120","option":{"armor":120}},"21":{"string":"방어력 +125","option":{"armor":125}},"22":{"string":"방어력 +125","option":{"armor":125}},"23":{"string":"방어력 +125","option":{"armor":125}},"24":{"string":"방어력 +125","option":{"armor":125}},"25":{"string":"방어력 +125","option":{"armor":125}}}},"10014":{"optionType":11,"level":{"1":{"string":"방어력 +10","option":{"armor":10}},"2":{"string":"방어력 +20","option":{"armor":20}},"3":{"string":"방어력 +30","option":{"armor":30}},"4":{"string":"방어력 +40","option":{"armor":40}},"5":{"string":"방어력 +50","option":{"armor":50}},"6":{"string":"방어력 +60","option":{"armor":60}},"7":{"string":"방어력 +70","option":{"armor":70}},"8":{"string":"방어력 +80","option":{"armor":80}},"9":{"string":"방어력 +90","option":{"armor":90}},"10":{"string":"방어력 +100","option":{"armor":100}},"11":{"string":"방어력 +110","option":{"armor":110}},"12":{"string":"방어력 +120","option":{"armor":120}},"13":{"string":"방어력 +120","option":{"armor":120}},"14":{"string":"방어력 +120","option":{"armor":120}},"15":{"string":"방어력 +120","option":{"armor":120}},"16":{"string":"방어력 +120","option":{"armor":120}},"17":{"string":"방어력 +120","option":{"armor":120}},"18":{"string":"방어력 +120","option":{"armor":120}},"19":{"string":"방어력 +120","option":{"armor":120}},"20":{"string":"방어력 +120","option":{"armor":120}},"21":{"string":"방어력 +120","option":{"armor":120}},"22":{"string":"방어력 +120","option":{"armor":120}},"23":{"string":"방어력 +120","option":{"armor":120}},"24":{"string":"방어력 +120","option":{"armor":120}},"25":{"string":"방어력 +120","option":{"armor":120}}}},"10041":{"level":{"1":{"string":"STR +1%","option":{"strRate":1}},"2":{"string":"STR +1%","option":{"strRate":1}},"3":{"string":"STR +1%","option":{"strRate":1}},"4":{"string":"STR +2%","option":{"strRate":2}},"5":{"string":"STR +2%","option":{"strRate":2}},"6":{"string":"STR +2%","option":{"strRate":2}},"7":{"string":"STR +2%","option":{"strRate":2}},"8":{"string":"STR +3%","option":{"strRate":3}},"9":{"string":"STR +3%","option":{"strRate":3}},"10":{"string":"STR +3%","option":{"strRate":3}},"11":{"string":"STR +3%","option":{"strRate":3}},"12":{"string":"STR +3%","option":{"strRate":3}},"13":{"string":"STR +3%","option":{"strRate":3}},"14":{"string":"STR +3%","option":{"strRate":3}},"15":{"string":"STR +3%","option":{"strRate":3}},"16":{"string":"STR +3%","option":{"strRate":3}},"17":{"string":"STR +3%","option":{"strRate":3}},"18":{"string":"STR +3%","option":{"strRate":3}},"19":{"string":"STR +3%","option":{"strRate":3}},"20":{"string":"STR +3%","option":{"strRate":3}},"21":{"string":"STR +4%","option":{"strRate":4}},"22":{"string":"STR +4%","option":{"strRate":4}},"23":{"string":"STR +4%","option":{"strRate":4}},"24":{"string":"STR +4%","option":{"strRate":4}},"25":{"string":"STR +4%","option":{"strRate":4}}}},"10042":{"level":{"1":{"string":"DEX +1%","option":{"dexRate":1}},"2":{"string":"DEX +1%","option":{"dexRate":1}},"3":{"string":"DEX +1%","option":{"dexRate":1}},"4":{"string":"DEX +2%","option":{"dexRate":2}},"5":{"string":"DEX +2%","option":{"dexRate":2}},"6":{"string":"DEX +2%","option":{"dexRate":2}},"7":{"string":"DEX +2%","option":{"dexRate":2}},"8":{"string":"DEX +3%","option":{"dexRate":3}},"9":{"string":"DEX +3%","option":{"dexRate":3}},"10":{"string":"DEX +3%","option":{"dexRate":3}},"11":{"string":"DEX +3%","option":{"dexRate":3}},"12":{"string":"DEX +3%","option":{"dexRate":3}},"13":{"string":"DEX +3%","option":{"dexRate":3}},"14":{"string":"DEX +3%","option":{"dexRate":3}},"15":{"string":"DEX +3%","option":{"dexRate":3}},"16":{"string":"DEX +3%","option":{"dexRate":3}},"17":{"string":"DEX +3%","option":{"dexRate":3}},"18":{"string":"DEX +3%","option":{"dexRate":3}},"19":{"string":"DEX +3%","option":{"dexRate":3}},"20":{"string":"DEX +3%","option":{"dexRate":3}},"21":{"string":"DEX +4%","option":{"dexRate":4}},"22":{"string":"DEX +4%","option":{"dexRate":4}},"23":{"string":"DEX +4%","option":{"dexRate":4}},"24":{"string":"DEX +4%","option":{"dexRate":4}},"25":{"string":"DEX +4%","option":{"dexRate":4}}}},"10043":{"level":{"1":{"string":"INT +1%","option":{"intRate":1}},"2":{"string":"INT +1%","option":{"intRate":1}},"3":{"string":"INT +1%","option":{"intRate":1}},"4":{"string":"INT +2%","option":{"intRate":2}},"5":{"string":"INT +2%","option":{"intRate":2}},"6":{"string":"INT +2%","option":{"intRate":2}},"7":{"string":"INT +2%","option":{"intRate":2}},"8":{"string":"INT +3%","option":{"intRate":3}},"9":{"string":"INT +3%","option":{"intRate":3}},"10":{"string":"INT +3%","option":{"intRate":3}},"11":{"string":"INT +3%","option":{"intRate":3}},"12":{"string":"INT +3%","option":{"intRate":3}},"13":{"string":"INT +3%","option":{"intRate":3}},"14":{"string":"INT +3%","option":{"intRate":3}},"15":{"string":"INT +3%","option":{"intRate":3}},"16":{"string":"INT +3%","option":{"intRate":3}},"17":{"string":"INT +3%","option":{"intRate":3}},"18":{"string":"INT +3%","option":{"intRate":3}},"19":{"string":"INT +3%","option":{"intRate":3}},"20":{"string":"INT +3%","option":{"intRate":3}},"21":{"string":"INT +4%","option":{"intRate":4}},"22":{"string":"INT +4%","option":{"intRate":4}},"23":{"string":"INT +4%","option":{"intRate":4}},"24":{"string":"INT +4%","option":{"intRate":4}},"25":{"string":"INT +4%","option":{"intRate":4}}}},"10044":{"level":{"1":{"string":"LUK +1%","option":{"lukRate":1}},"2":{"string":"LUK +1%","option":{"lukRate":1}},"3":{"string":"LUK +1%","option":{"lukRate":1}},"4":{"string":"LUK +2%","option":{"lukRate":2}},"5":{"string":"LUK +2%","option":{"lukRate":2}},"6":{"string":"LUK +2%","option":{"lukRate":2}},"7":{"string":"LUK +2%","option":{"lukRate":2}},"8":{"string":"LUK +3%","option":{"lukRate":3}},"9":{"string":"LUK +3%","option":{"lukRate":3}},"10":{"string":"LUK +3%","option":{"lukRate":3}},"11":{"string":"LUK +3%","option":{"lukRate":3}},"12":{"string":"LUK +3%","option":{"lukRate":3}},"13":{"string":"LUK +3%","option":{"lukRate":3}},"14":{"string":"LUK +3%","option":{"lukRate":3}},"15":{"string":"LUK +3%","option":{"lukRate":3}},"16":{"string":"LUK +3%","option":{"lukRate":3}},"17":{"string":"LUK +3%","option":{"lukRate":3}},"18":{"string":"LUK +3%","option":{"lukRate":3}},"19":{"string":"LUK +3%","option":{"lukRate":3}},"20":{"string":"LUK +3%","option":{"lukRate":3}},"21":{"string":"LUK +4%","option":{"lukRate":4}},"22":{"string":"LUK +4%","option":{"lukRate":4}},"23":{"string":"LUK +4%","option":{"lukRate":4}},"24":{"string":"LUK +4%","option":{"lukRate":4}},"25":{"string":"LUK +4%","option":{"lukRate":4}}}},"10045":{"optionType":11,"level":{"1":{"string":"최대 HP +1%","option":{"maxHpRate":1}},"2":{"string":"최대 HP +1%","option":{"maxHpRate":1}},"3":{"string":"최대 HP +1%","option":{"maxHpRate":1}},"4":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"5":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"6":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"7":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"8":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"9":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"10":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"11":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"12":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"13":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"14":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"15":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"16":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"17":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"18":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"19":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"20":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"21":{"string":"최대 HP +4%","option":{"maxHpRate":4}},"22":{"string":"최대 HP +4%","option":{"maxHpRate":4}},"23":{"string":"최대 HP +4%","option":{"maxHpRate":4}},"24":{"string":"최대 HP +4%","option":{"maxHpRate":4}},"25":{"string":"최대 HP +4%","option":{"maxHpRate":4}}}},"10046":{"optionType":11,"level":{"1":{"string":"최대 MP +1%","option":{"maxMpRate":1}},"2":{"string":"최대 MP +1%","option":{"maxMpRate":1}},"3":{"string":"최대 MP +1%","option":{"maxMpRate":1}},"4":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"5":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"6":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"7":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"8":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"9":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"10":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"11":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"12":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"13":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"14":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"15":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"16":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"17":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"18":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"19":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"20":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"21":{"string":"최대 MP +4%","option":{"maxMpRate":4}},"22":{"string":"최대 MP +4%","option":{"maxMpRate":4}},"23":{"string":"최대 MP +4%","option":{"maxMpRate":4}},"24":{"string":"최대 MP +4%","option":{"maxMpRate":4}},"25":{"string":"최대 MP +4%","option":{"maxMpRate":4}}}},"10047":{"level":{"1":{"string":"최대 HP +10","option":{"maxHp":10}},"2":{"string":"최대 HP +20","option":{"maxHp":20}},"3":{"string":"최대 HP +30","option":{"maxHp":30}},"4":{"string":"최대 HP +40","option":{"maxHp":40}},"5":{"string":"최대 HP +50","option":{"maxHp":50}},"6":{"string":"최대 HP +60","option":{"maxHp":60}},"7":{"string":"최대 HP +70","option":{"maxHp":70}},"8":{"string":"최대 HP +80","option":{"maxHp":80}},"9":{"string":"최대 HP +90","option":{"maxHp":90}},"10":{"string":"최대 HP +100","option":{"maxHp":100}},"11":{"string":"최대 HP +110","option":{"maxHp":110}},"12":{"string":"최대 HP +120","option":{"maxHp":120}},"13":{"string":"최대 HP +120","option":{"maxHp":120}},"14":{"string":"최대 HP +120","option":{"maxHp":120}},"15":{"string":"최대 HP +120","option":{"maxHp":120}},"16":{"string":"최대 HP +120","option":{"maxHp":120}},"17":{"string":"최대 HP +120","option":{"maxHp":120}},"18":{"string":"최대 HP +120","option":{"maxHp":120}},"19":{"string":"최대 HP +120","option":{"maxHp":120}},"20":{"string":"최대 HP +120","option":{"maxHp":120}},"21":{"string":"최대 HP +120","option":{"maxHp":120}},"22":{"string":"최대 HP +120","option":{"maxHp":120}},"23":{"string":"최대 HP +120","option":{"maxHp":120}},"24":{"string":"최대 HP +120","option":{"maxHp":120}},"25":{"string":"최대 HP +120","option":{"maxHp":120}}}},"10048":{"level":{"1":{"string":"최대 MP +10","option":{"maxMp":10}},"2":{"string":"최대 MP +20","option":{"maxMp":20}},"3":{"string":"최대 MP +30","option":{"maxMp":30}},"4":{"string":"최대 MP +40","option":{"maxMp":40}},"5":{"string":"최대 MP +50","option":{"maxMp":50}},"6":{"string":"최대 MP +60","option":{"maxMp":60}},"7":{"string":"최대 MP +70","option":{"maxMp":70}},"8":{"string":"최대 MP +80","option":{"maxMp":80}},"9":{"string":"최대 MP +90","option":{"maxMp":90}},"10":{"string":"최대 MP +100","option":{"maxMp":100}},"11":{"string":"최대 MP +110","option":{"maxMp":110}},"12":{"string":"최대 MP +120","option":{"maxMp":120}},"13":{"string":"최대 MP +120","option":{"maxMp":120}},"14":{"string":"최대 MP +120","option":{"maxMp":120}},"15":{"string":"최대 MP +120","option":{"maxMp":120}},"16":{"string":"최대 MP +120","option":{"maxMp":120}},"17":{"string":"최대 MP +120","option":{"maxMp":120}},"18":{"string":"최대 MP +120","option":{"maxMp":120}},"19":{"string":"최대 MP +120","option":{"maxMp":120}},"20":{"string":"최대 MP +120","option":{"maxMp":120}},"21":{"string":"최대 MP +120","option":{"maxMp":120}},"22":{"string":"최대 MP +120","option":{"maxMp":120}},"23":{"string":"최대 MP +120","option":{"maxMp":120}},"24":{"string":"최대 MP +120","option":{"maxMp":120}},"25":{"string":"최대 MP +120","option":{"maxMp":120}}}},"10051":{"optionType":10,"level":{"1":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"2":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"3":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"4":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"5":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"6":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"7":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"8":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"9":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"10":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"11":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"12":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"13":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"14":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"15":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"16":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"17":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"18":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"19":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"20":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"21":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"22":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"23":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"24":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"25":{"string":"공격력 +4%","option":{"attackPowerRate":4}}}},"10052":{"optionType":10,"level":{"1":{"string":"마력 +1%","option":{"magicPowerRate":1}},"2":{"string":"마력 +1%","option":{"magicPowerRate":1}},"3":{"string":"마력 +1%","option":{"magicPowerRate":1}},"4":{"string":"마력 +2%","option":{"magicPowerRate":2}},"5":{"string":"마력 +2%","option":{"magicPowerRate":2}},"6":{"string":"마력 +2%","option":{"magicPowerRate":2}},"7":{"string":"마력 +2%","option":{"magicPowerRate":2}},"8":{"string":"마력 +3%","option":{"magicPowerRate":3}},"9":{"string":"마력 +3%","option":{"magicPowerRate":3}},"10":{"string":"마력 +3%","option":{"magicPowerRate":3}},"11":{"string":"마력 +3%","option":{"magicPowerRate":3}},"12":{"string":"마력 +3%","option":{"magicPowerRate":3}},"13":{"string":"마력 +3%","option":{"magicPowerRate":3}},"14":{"string":"마력 +3%","option":{"magicPowerRate":3}},"15":{"string":"마력 +3%","option":{"magicPowerRate":3}},"16":{"string":"마력 +3%","option":{"magicPowerRate":3}},"17":{"string":"마력 +3%","option":{"magicPowerRate":3}},"18":{"string":"마력 +3%","option":{"magicPowerRate":3}},"19":{"string":"마력 +3%","option":{"magicPowerRate":3}},"20":{"string":"마력 +3%","option":{"magicPowerRate":3}},"21":{"string":"마력 +4%","option":{"magicPowerRate":4}},"22":{"string":"마력 +4%","option":{"magicPowerRate":4}},"23":{"string":"마력 +4%","option":{"magicPowerRate":4}},"24":{"string":"마력 +4%","option":{"magicPowerRate":4}},"25":{"string":"마력 +4%","option":{"magicPowerRate":4}}}},"10053":{"optionType":11,"level":{"1":{"string":"방어력 +1%","option":{"armorRate":1}},"2":{"string":"방어력 +1%","option":{"armorRate":1}},"3":{"string":"방어력 +1%","option":{"armorRate":1}},"4":{"string":"방어력 +2%","option":{"armorRate":2}},"5":{"string":"방어력 +2%","option":{"armorRate":2}},"6":{"string":"방어력 +2%","option":{"armorRate":2}},"7":{"string":"방어력 +2%","option":{"armorRate":2}},"8":{"string":"방어력 +3%","option":{"armorRate":3}},"9":{"string":"방어력 +3%","option":{"armorRate":3}},"10":{"string":"방어력 +3%","option":{"armorRate":3}},"11":{"string":"방어력 +3%","option":{"armorRate":3}},"12":{"string":"방어력 +3%","option":{"armorRate":3}},"13":{"string":"방어력 +3%","option":{"armorRate":3}},"14":{"string":"방어력 +3%","option":{"armorRate":3}},"15":{"string":"방어력 +3%","option":{"armorRate":3}},"16":{"string":"방어력 +3%","option":{"armorRate":3}},"17":{"string":"방어력 +3%","option":{"armorRate":3}},"18":{"string":"방어력 +3%","option":{"armorRate":3}},"19":{"string":"방어력 +3%","option":{"armorRate":3}},"20":{"string":"방어력 +3%","option":{"armorRate":3}},"21":{"string":"방어력 +4%","option":{"armorRate":4}},"22":{"string":"방어력 +4%","option":{"armorRate":4}},"23":{"string":"방어력 +4%","option":{"armorRate":4}},"24":{"string":"방어력 +4%","option":{"armorRate":4}},"25":{"string":"방어력 +4%","option":{"armorRate":4}}}},"10054":{"optionType":11,"level":{"1":{"string":"방어력 +1%","option":{"armorRate":1}},"2":{"string":"방어력 +1%","option":{"armorRate":1}},"3":{"string":"방어력 +1%","option":{"armorRate":1}},"4":{"string":"방어력 +2%","option":{"armorRate":2}},"5":{"string":"방어력 +2%","option":{"armorRate":2}},"6":{"string":"방어력 +2%","option":{"armorRate":2}},"7":{"string":"방어력 +2%","option":{"armorRate":2}},"8":{"string":"방어력 +3%","option":{"armorRate":3}},"9":{"string":"방어력 +3%","option":{"armorRate":3}},"10":{"string":"방어력 +3%","option":{"armorRate":3}},"11":{"string":"방어력 +3%","option":{"armorRate":3}},"12":{"string":"방어력 +3%","option":{"armorRate":3}},"13":{"string":"방어력 +3%","option":{"armorRate":3}},"14":{"string":"방어력 +3%","option":{"armorRate":3}},"15":{"string":"방어력 +3%","option":{"armorRate":3}},"16":{"string":"방어력 +3%","option":{"armorRate":3}},"17":{"string":"방어력 +3%","option":{"armorRate":3}},"18":{"string":"방어력 +3%","option":{"armorRate":3}},"19":{"string":"방어력 +3%","option":{"armorRate":3}},"20":{"string":"방어력 +3%","option":{"armorRate":3}},"21":{"string":"방어력 +3%","option":{"armorRate":3}},"22":{"string":"방어력 +3%","option":{"armorRate":3}},"23":{"string":"방어력 +3%","option":{"armorRate":3}},"24":{"string":"방어력 +3%","option":{"armorRate":3}},"25":{"string":"방어력 +3%","option":{"armorRate":3}}}},"10055":{"optionType":10,"level":{"1":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"2":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"3":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"4":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"5":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"6":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"7":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"8":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"9":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"10":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"11":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"12":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"13":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"14":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"15":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"16":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"17":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"18":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"19":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"20":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"21":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"22":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"23":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"24":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"25":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}}}},"10070":{"optionType":10,"level":{"1":{"string":"데미지 +1%","option":{"damage":1}},"2":{"string":"데미지 +1%","option":{"damage":1}},"3":{"string":"데미지 +1%","option":{"damage":1}},"4":{"string":"데미지 +2%","option":{"damage":2}},"5":{"string":"데미지 +2%","option":{"damage":2}},"6":{"string":"데미지 +2%","option":{"damage":2}},"7":{"string":"데미지 +2%","option":{"damage":2}},"8":{"string":"데미지 +3%","option":{"damage":3}},"9":{"string":"데미지 +3%","option":{"damage":3}},"10":{"string":"데미지 +3%","option":{"damage":3}},"11":{"string":"데미지 +3%","option":{"damage":3}},"12":{"string":"데미지 +3%","option":{"damage":3}},"13":{"string":"데미지 +3%","option":{"damage":3}},"14":{"string":"데미지 +3%","option":{"damage":3}},"15":{"string":"데미지 +3%","option":{"damage":3}},"16":{"string":"데미지 +3%","option":{"damage":3}},"17":{"string":"데미지 +3%","option":{"damage":3}},"18":{"string":"데미지 +3%","option":{"damage":3}},"19":{"string":"데미지 +3%","option":{"damage":3}},"20":{"string":"데미지 +3%","option":{"damage":3}},"21":{"string":"데미지 +4%","option":{"damage":4}},"22":{"string":"데미지 +4%","option":{"damage":4}},"23":{"string":"데미지 +4%","option":{"damage":4}},"24":{"string":"데미지 +4%","option":{"damage":4}},"25":{"string":"데미지 +4%","option":{"damage":4}}}},"10081":{"level":{"1":{"string":"올스탯 +1","option":{"str":1,"dex":1,"int":1,"luk":1}},"2":{"string":"올스탯 +1","option":{"str":1,"dex":1,"int":1,"luk":1}},"3":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"4":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"5":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"6":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"7":{"string":"올스탯 +4","option":{"str":4,"dex":4,"int":4,"luk":4}},"8":{"string":"올스탯 +4","option":{"str":4,"dex":4,"int":4,"luk":4}},"9":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"10":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"11":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"12":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"13":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"14":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"15":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"16":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"17":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"18":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"19":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"20":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"21":{"string":"올스탯 +6","option":{"str":6,"dex":6,"int":6,"luk":6}},"22":{"string":"올스탯 +6","option":{"str":6,"dex":6,"int":6,"luk":6}},"23":{"string":"올스탯 +6","option":{"str":6,"dex":6,"int":6,"luk":6}},"24":{"string":"올스탯 +6","option":{"str":6,"dex":6,"int":6,"luk":6}},"25":{"string":"올스탯 +6","option":{"str":6,"dex":6,"int":6,"luk":6}}}},"10151":{"optionType":40,"level":{"1":{"string":"4초 당 2의 HP 회복","option":{}},"2":{"string":"4초 당 4의 HP 회복","option":{}},"3":{"string":"4초 당 6의 HP 회복","option":{}},"4":{"string":"4초 당 8의 HP 회복","option":{}},"5":{"string":"4초 당 10의 HP 회복","option":{}},"6":{"string":"4초 당 12의 HP 회복","option":{}},"7":{"string":"4초 당 14의 HP 회복","option":{}},"8":{"string":"4초 당 16의 HP 회복","option":{}},"9":{"string":"4초 당 18의 HP 회복","option":{}},"10":{"string":"4초 당 20의 HP 회복","option":{}},"11":{"string":"4초 당 22의 HP 회복","option":{}},"12":{"string":"4초 당 24의 HP 회복","option":{}},"13":{"string":"4초 당 24의 HP 회복","option":{}},"14":{"string":"4초 당 24의 HP 회복","option":{}},"15":{"string":"4초 당 24의 HP 회복","option":{}},"16":{"string":"4초 당 24의 HP 회복","option":{}},"17":{"string":"4초 당 24의 HP 회복","option":{}},"18":{"string":"4초 당 24의 HP 회복","option":{}},"19":{"string":"4초 당 24의 HP 회복","option":{}},"20":{"string":"4초 당 24의 HP 회복","option":{}},"21":{"string":"4초 당 25의 HP 회복","option":{}},"22":{"string":"4초 당 25의 HP 회복","option":{}},"23":{"string":"4초 당 25의 HP 회복","option":{}},"24":{"string":"4초 당 25의 HP 회복","option":{}},"25":{"string":"4초 당 25의 HP 회복","option":{}}}},"10156":{"optionType":40,"level":{"1":{"string":"4초 당 2의 MP 회복","option":{}},"2":{"string":"4초 당 4의 MP 회복","option":{}},"3":{"string":"4초 당 6의 MP 회복","option":{}},"4":{"string":"4초 당 8의 MP 회복","option":{}},"5":{"string":"4초 당 10의 MP 회복","option":{}},"6":{"string":"4초 당 12의 MP 회복","option":{}},"7":{"string":"4초 당 14의 MP 회복","option":{}},"8":{"string":"4초 당 16의 MP 회복","option":{}},"9":{"string":"4초 당 18의 MP 회복","option":{}},"10":{"string":"4초 당 20의 MP 회복","option":{}},"11":{"string":"4초 당 22의 MP 회복","option":{}},"12":{"string":"4초 당 24의 MP 회복","option":{}},"13":{"string":"4초 당 24의 MP 회복","option":{}},"14":{"string":"4초 당 24의 MP 회복","option":{}},"15":{"string":"4초 당 24의 MP 회복","option":{}},"16":{"string":"4초 당 24의 MP 회복","option":{}},"17":{"string":"4초 당 24의 MP 회복","option":{}},"18":{"string":"4초 당 24의 MP 회복","option":{}},"19":{"string":"4초 당 24의 MP 회복","option":{}},"20":{"string":"4초 당 24의 MP 회복","option":{}},"21":{"string":"4초 당 25의 MP 회복","option":{}},"22":{"string":"4초 당 25의 MP 회복","option":{}},"23":{"string":"4초 당 25의 MP 회복","option":{}},"24":{"string":"4초 당 25의 MP 회복","option":{}},"25":{"string":"4초 당 25의 MP 회복","option":{}}}},"10201":{"optionType":10,"level":{"1":{"string":"공격 시 3% 확률로 10의 HP 회복","option":{}},"2":{"string":"공격 시 3% 확률로 12의 HP 회복","option":{}},"3":{"string":"공격 시 3% 확률로 14의 HP 회복","option":{}},"4":{"string":"공격 시 3% 확률로 16의 HP 회복","option":{}},"5":{"string":"공격 시 3% 확률로 18의 HP 회복","option":{}},"6":{"string":"공격 시 3% 확률로 20의 HP 회복","option":{}},"7":{"string":"공격 시 3% 확률로 22의 HP 회복","option":{}},"8":{"string":"공격 시 3% 확률로 24의 HP 회복","option":{}},"9":{"string":"공격 시 3% 확률로 26의 HP 회복","option":{}},"10":{"string":"공격 시 3% 확률로 28의 HP 회복","option":{}},"11":{"string":"공격 시 3% 확률로 30의 HP 회복","option":{}},"12":{"string":"공격 시 3% 확률로 32의 HP 회복","option":{}},"13":{"string":"공격 시 3% 확률로 32의 HP 회복","option":{}},"14":{"string":"공격 시 3% 확률로 32의 HP 회복","option":{}},"15":{"string":"공격 시 3% 확률로 32의 HP 회복","option":{}},"16":{"string":"공격 시 3% 확률로 32의 HP 회복","option":{}},"17":{"string":"공격 시 3% 확률로 32의 HP 회복","option":{}},"18":{"string":"공격 시 3% 확률로 32의 HP 회복","option":{}},"19":{"string":"공격 시 3% 확률로 32의 HP 회복","option":{}},"20":{"string":"공격 시 3% 확률로 32의 HP 회복","option":{}},"21":{"string":"공격 시 3% 확률로 33의 HP 회복","option":{}},"22":{"string":"공격 시 3% 확률로 33의 HP 회복","option":{}},"23":{"string":"공격 시 3% 확률로 33의 HP 회복","option":{}},"24":{"string":"공격 시 3% 확률로 33의 HP 회복","option":{}},"25":{"string":"공격 시 3% 확률로 33의 HP 회복","option":{}}}},"10202":{"optionType":10,"level":{"1":{"string":"공격 시 20% 확률로 20의 HP 회복","option":{}},"2":{"string":"공격 시 20% 확률로 40의 HP 회복","option":{}},"3":{"string":"공격 시 20% 확률로 60의 HP 회복","option":{}},"4":{"string":"공격 시 20% 확률로 80의 HP 회복","option":{}},"5":{"string":"공격 시 20% 확률로 100의 HP 회복","option":{}},"6":{"string":"공격 시 20% 확률로 120의 HP 회복","option":{}},"7":{"string":"공격 시 20% 확률로 140의 HP 회복","option":{}},"8":{"string":"공격 시 20% 확률로 160의 HP 회복","option":{}},"9":{"string":"공격 시 20% 확률로 180의 HP 회복","option":{}},"10":{"string":"공격 시 20% 확률로 200의 HP 회복","option":{}},"11":{"string":"공격 시 20% 확률로 220의 HP 회복","option":{}},"12":{"string":"공격 시 20% 확률로 240의 HP 회복","option":{}},"13":{"string":"공격 시 20% 확률로 240의 HP 회복","option":{}},"14":{"string":"공격 시 20% 확률로 240의 HP 회복","option":{}},"15":{"string":"공격 시 20% 확률로 240의 HP 회복","option":{}},"16":{"string":"공격 시 20% 확률로 240의 HP 회복","option":{}},"17":{"string":"공격 시 20% 확률로 240의 HP 회복","option":{}},"18":{"string":"공격 시 20% 확률로 240의 HP 회복","option":{}},"19":{"string":"공격 시 20% 확률로 240의 HP 회복","option":{}},"20":{"string":"공격 시 20% 확률로 240의 HP 회복","option":{}},"21":{"string":"공격 시 20% 확률로 250의 HP 회복","option":{}},"22":{"string":"공격 시 20% 확률로 250의 HP 회복","option":{}},"23":{"string":"공격 시 20% 확률로 250의 HP 회복","option":{}},"24":{"string":"공격 시 20% 확률로 250의 HP 회복","option":{}},"25":{"string":"공격 시 20% 확률로 250의 HP 회복","option":{}}}},"10206":{"optionType":10,"level":{"1":{"string":"공격 시 3% 확률로 10의 MP 회복","option":{}},"2":{"string":"공격 시 3% 확률로 12의 MP 회복","option":{}},"3":{"string":"공격 시 3% 확률로 14의 MP 회복","option":{}},"4":{"string":"공격 시 3% 확률로 16의 MP 회복","option":{}},"5":{"string":"공격 시 3% 확률로 18의 MP 회복","option":{}},"6":{"string":"공격 시 3% 확률로 20의 MP 회복","option":{}},"7":{"string":"공격 시 3% 확률로 22의 MP 회복","option":{}},"8":{"string":"공격 시 3% 확률로 24의 MP 회복","option":{}},"9":{"string":"공격 시 3% 확률로 26의 MP 회복","option":{}},"10":{"string":"공격 시 3% 확률로 28의 MP 회복","option":{}},"11":{"string":"공격 시 3% 확률로 30의 MP 회복","option":{}},"12":{"string":"공격 시 3% 확률로 32의 MP 회복","option":{}},"13":{"string":"공격 시 3% 확률로 32의 MP 회복","option":{}},"14":{"string":"공격 시 3% 확률로 32의 MP 회복","option":{}},"15":{"string":"공격 시 3% 확률로 32의 MP 회복","option":{}},"16":{"string":"공격 시 3% 확률로 32의 MP 회복","option":{}},"17":{"string":"공격 시 3% 확률로 32의 MP 회복","option":{}},"18":{"string":"공격 시 3% 확률로 32의 MP 회복","option":{}},"19":{"string":"공격 시 3% 확률로 32의 MP 회복","option":{}},"20":{"string":"공격 시 3% 확률로 32의 MP 회복","option":{}},"21":{"string":"공격 시 3% 확률로 33의 MP 회복","option":{}},"22":{"string":"공격 시 3% 확률로 33의 MP 회복","option":{}},"23":{"string":"공격 시 3% 확률로 33의 MP 회복","option":{}},"24":{"string":"공격 시 3% 확률로 33의 MP 회복","option":{}},"25":{"string":"공격 시 3% 확률로 33의 MP 회복","option":{}}}},"10207":{"optionType":10,"level":{"1":{"string":"공격 시 20% 확률로 20의 MP 회복","option":{}},"2":{"string":"공격 시 20% 확률로 30의 MP 회복","option":{}},"3":{"string":"공격 시 20% 확률로 40의 MP 회복","option":{}},"4":{"string":"공격 시 20% 확률로 50의 MP 회복","option":{}},"5":{"string":"공격 시 20% 확률로 60의 MP 회복","option":{}},"6":{"string":"공격 시 20% 확률로 70의 MP 회복","option":{}},"7":{"string":"공격 시 20% 확률로 80의 MP 회복","option":{}},"8":{"string":"공격 시 20% 확률로 90의 MP 회복","option":{}},"9":{"string":"공격 시 20% 확률로 100의 MP 회복","option":{}},"10":{"string":"공격 시 20% 확률로 110의 MP 회복","option":{}},"11":{"string":"공격 시 20% 확률로 120의 MP 회복","option":{}},"12":{"string":"공격 시 20% 확률로 120의 MP 회복","option":{}},"13":{"string":"공격 시 20% 확률로 120의 MP 회복","option":{}},"14":{"string":"공격 시 20% 확률로 120의 MP 회복","option":{}},"15":{"string":"공격 시 20% 확률로 120의 MP 회복","option":{}},"16":{"string":"공격 시 20% 확률로 120의 MP 회복","option":{}},"17":{"string":"공격 시 20% 확률로 120의 MP 회복","option":{}},"18":{"string":"공격 시 20% 확률로 120의 MP 회복","option":{}},"19":{"string":"공격 시 20% 확률로 120의 MP 회복","option":{}},"20":{"string":"공격 시 20% 확률로 120의 MP 회복","option":{}},"21":{"string":"공격 시 20% 확률로 125의 MP 회복","option":{}},"22":{"string":"공격 시 20% 확률로 125의 MP 회복","option":{}},"23":{"string":"공격 시 20% 확률로 125의 MP 회복","option":{}},"24":{"string":"공격 시 20% 확률로 125의 MP 회복","option":{}},"25":{"string":"공격 시 20% 확률로 125의 MP 회복","option":{}}}},"10221":{"optionType":10,"reqLevel":10,"level":{"1":{"string":"공격 시 10% 확률로 1레벨 중독효과 적용","option":{}},"2":{"string":"공격 시 10% 확률로 1레벨 중독효과 적용","option":{}},"3":{"string":"공격 시 10% 확률로 2레벨 중독효과 적용","option":{}},"4":{"string":"공격 시 10% 확률로 2레벨 중독효과 적용","option":{}},"5":{"string":"공격 시 10% 확률로 3레벨 중독효과 적용","option":{}},"6":{"string":"공격 시 10% 확률로 3레벨 중독효과 적용","option":{}},"7":{"string":"공격 시 10% 확률로 4레벨 중독효과 적용","option":{}},"8":{"string":"공격 시 10% 확률로 4레벨 중독효과 적용","option":{}},"9":{"string":"공격 시 10% 확률로 5레벨 중독효과 적용","option":{}},"10":{"string":"공격 시 10% 확률로 5레벨 중독효과 적용","option":{}},"11":{"string":"공격 시 10% 확률로 6레벨 중독효과 적용","option":{}},"12":{"string":"공격 시 10% 확률로 6레벨 중독효과 적용","option":{}},"13":{"string":"공격 시 10% 확률로 6레벨 중독효과 적용","option":{}},"14":{"string":"공격 시 10% 확률로 6레벨 중독효과 적용","option":{}},"15":{"string":"공격 시 10% 확률로 6레벨 중독효과 적용","option":{}},"16":{"string":"공격 시 10% 확률로 6레벨 중독효과 적용","option":{}},"17":{"string":"공격 시 10% 확률로 6레벨 중독효과 적용","option":{}},"18":{"string":"공격 시 10% 확률로 6레벨 중독효과 적용","option":{}},"19":{"string":"공격 시 10% 확률로 6레벨 중독효과 적용","option":{}},"20":{"string":"공격 시 10% 확률로 6레벨 중독효과 적용","option":{}},"21":{"string":"공격 시 10% 확률로 7레벨 중독효과 적용","option":{}},"22":{"string":"공격 시 10% 확률로 7레벨 중독효과 적용","option":{}},"23":{"string":"공격 시 10% 확률로 7레벨 중독효과 적용","option":{}},"24":{"string":"공격 시 10% 확률로 7레벨 중독효과 적용","option":{}},"25":{"string":"공격 시 10% 확률로 7레벨 중독효과 적용","option":{}}}},"10222":{"optionType":10,"reqLevel":10,"level":{"1":{"string":"공격 시 20% 확률로 1레벨 중독효과 적용","option":{}},"2":{"string":"공격 시 20% 확률로 1레벨 중독효과 적용","option":{}},"3":{"string":"공격 시 20% 확률로 2레벨 중독효과 적용","option":{}},"4":{"string":"공격 시 20% 확률로 2레벨 중독효과 적용","option":{}},"5":{"string":"공격 시 20% 확률로 3레벨 중독효과 적용","option":{}},"6":{"string":"공격 시 20% 확률로 3레벨 중독효과 적용","option":{}},"7":{"string":"공격 시 20% 확률로 4레벨 중독효과 적용","option":{}},"8":{"string":"공격 시 20% 확률로 4레벨 중독효과 적용","option":{}},"9":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"10":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"11":{"string":"공격 시 20% 확률로 6레벨 중독효과 적용","option":{}},"12":{"string":"공격 시 20% 확률로 6레벨 중독효과 적용","option":{}},"13":{"string":"공격 시 20% 확률로 6레벨 중독효과 적용","option":{}},"14":{"string":"공격 시 20% 확률로 6레벨 중독효과 적용","option":{}},"15":{"string":"공격 시 20% 확률로 6레벨 중독효과 적용","option":{}},"16":{"string":"공격 시 20% 확률로 6레벨 중독효과 적용","option":{}},"17":{"string":"공격 시 20% 확률로 6레벨 중독효과 적용","option":{}},"18":{"string":"공격 시 20% 확률로 6레벨 중독효과 적용","option":{}},"19":{"string":"공격 시 20% 확률로 6레벨 중독효과 적용","option":{}},"20":{"string":"공격 시 20% 확률로 6레벨 중독효과 적용","option":{}},"21":{"string":"공격 시 20% 확률로 7레벨 중독효과 적용","option":{}},"22":{"string":"공격 시 20% 확률로 7레벨 중독효과 적용","option":{}},"23":{"string":"공격 시 20% 확률로 7레벨 중독효과 적용","option":{}},"24":{"string":"공격 시 20% 확률로 7레벨 중독효과 적용","option":{}},"25":{"string":"공격 시 20% 확률로 7레벨 중독효과 적용","option":{}}}},"10226":{"optionType":10,"reqLevel":10,"level":{"1":{"string":"공격 시 5% 확률로 1레벨 기절효과 적용","option":{}},"2":{"string":"공격 시 5% 확률로 1레벨 기절효과 적용","option":{}},"3":{"string":"공격 시 5% 확률로 1레벨 기절효과 적용","option":{}},"4":{"string":"공격 시 5% 확률로 1레벨 기절효과 적용","option":{}},"5":{"string":"공격 시 5% 확률로 1레벨 기절효과 적용","option":{}},"6":{"string":"공격 시 5% 확률로 1레벨 기절효과 적용","option":{}},"7":{"string":"공격 시 5% 확률로 1레벨 기절효과 적용","option":{}},"8":{"string":"공격 시 5% 확률로 2레벨 기절효과 적용","option":{}},"9":{"string":"공격 시 5% 확률로 2레벨 기절효과 적용","option":{}},"10":{"string":"공격 시 5% 확률로 2레벨 기절효과 적용","option":{}},"11":{"string":"공격 시 5% 확률로 2레벨 기절효과 적용","option":{}},"12":{"string":"공격 시 5% 확률로 2레벨 기절효과 적용","option":{}},"13":{"string":"공격 시 5% 확률로 2레벨 기절효과 적용","option":{}},"14":{"string":"공격 시 5% 확률로 2레벨 기절효과 적용","option":{}},"15":{"string":"공격 시 5% 확률로 2레벨 기절효과 적용","option":{}},"16":{"string":"공격 시 5% 확률로 2레벨 기절효과 적용","option":{}},"17":{"string":"공격 시 5% 확률로 2레벨 기절효과 적용","option":{}},"18":{"string":"공격 시 5% 확률로 2레벨 기절효과 적용","option":{}},"19":{"string":"공격 시 5% 확률로 2레벨 기절효과 적용","option":{}},"20":{"string":"공격 시 5% 확률로 2레벨 기절효과 적용","option":{}},"21":{"string":"공격 시 5% 확률로 3레벨 기절효과 적용","option":{}},"22":{"string":"공격 시 5% 확률로 3레벨 기절효과 적용","option":{}},"23":{"string":"공격 시 5% 확률로 3레벨 기절효과 적용","option":{}},"24":{"string":"공격 시 5% 확률로 3레벨 기절효과 적용","option":{}},"25":{"string":"공격 시 5% 확률로 3레벨 기절효과 적용","option":{}}}},"10227":{"optionType":10,"reqLevel":10,"level":{"1":{"string":"공격 시 10% 확률로 1레벨 기절효과 적용","option":{}},"2":{"string":"공격 시 10% 확률로 1레벨 기절효과 적용","option":{}},"3":{"string":"공격 시 10% 확률로 1레벨 기절효과 적용","option":{}},"4":{"string":"공격 시 10% 확률로 1레벨 기절효과 적용","option":{}},"5":{"string":"공격 시 10% 확률로 1레벨 기절효과 적용","option":{}},"6":{"string":"공격 시 10% 확률로 1레벨 기절효과 적용","option":{}},"7":{"string":"공격 시 10% 확률로 1레벨 기절효과 적용","option":{}},"8":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"9":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"10":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"11":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"12":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"13":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"14":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"15":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"16":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"17":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"18":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"19":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"20":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"21":{"string":"공격 시 10% 확률로 3레벨 기절효과 적용","option":{}},"22":{"string":"공격 시 10% 확률로 3레벨 기절효과 적용","option":{}},"23":{"string":"공격 시 10% 확률로 3레벨 기절효과 적용","option":{}},"24":{"string":"공격 시 10% 확률로 3레벨 기절효과 적용","option":{}},"25":{"string":"공격 시 10% 확률로 3레벨 기절효과 적용","option":{}}}},"10231":{"optionType":10,"reqLevel":10,"level":{"1":{"string":"공격 시 10% 확률로 1레벨 슬로우효과 적용","option":{}},"2":{"string":"공격 시 10% 확률로 1레벨 슬로우효과 적용","option":{}},"3":{"string":"공격 시 10% 확률로 1레벨 슬로우효과 적용","option":{}},"4":{"string":"공격 시 10% 확률로 1레벨 슬로우효과 적용","option":{}},"5":{"string":"공격 시 10% 확률로 1레벨 슬로우효과 적용","option":{}},"6":{"string":"공격 시 10% 확률로 1레벨 슬로우효과 적용","option":{}},"7":{"string":"공격 시 10% 확률로 1레벨 슬로우효과 적용","option":{}},"8":{"string":"공격 시 10% 확률로 2레벨 슬로우효과 적용","option":{}},"9":{"string":"공격 시 10% 확률로 2레벨 슬로우효과 적용","option":{}},"10":{"string":"공격 시 10% 확률로 2레벨 슬로우효과 적용","option":{}},"11":{"string":"공격 시 10% 확률로 2레벨 슬로우효과 적용","option":{}},"12":{"string":"공격 시 10% 확률로 2레벨 슬로우효과 적용","option":{}},"13":{"string":"공격 시 10% 확률로 2레벨 슬로우효과 적용","option":{}},"14":{"string":"공격 시 10% 확률로 2레벨 슬로우효과 적용","option":{}},"15":{"string":"공격 시 10% 확률로 2레벨 슬로우효과 적용","option":{}},"16":{"string":"공격 시 10% 확률로 2레벨 슬로우효과 적용","option":{}},"17":{"string":"공격 시 10% 확률로 2레벨 슬로우효과 적용","option":{}},"18":{"string":"공격 시 10% 확률로 2레벨 슬로우효과 적용","option":{}},"19":{"string":"공격 시 10% 확률로 2레벨 슬로우효과 적용","option":{}},"20":{"string":"공격 시 10% 확률로 2레벨 슬로우효과 적용","option":{}},"21":{"string":"공격 시 10% 확률로 3레벨 슬로우효과 적용","option":{}},"22":{"string":"공격 시 10% 확률로 3레벨 슬로우효과 적용","option":{}},"23":{"string":"공격 시 10% 확률로 3레벨 슬로우효과 적용","option":{}},"24":{"string":"공격 시 10% 확률로 3레벨 슬로우효과 적용","option":{}},"25":{"string":"공격 시 10% 확률로 3레벨 슬로우효과 적용","option":{}}}},"10232":{"optionType":10,"reqLevel":10,"level":{"1":{"string":"공격 시 20% 확률로 1레벨 슬로우효과 적용","option":{}},"2":{"string":"공격 시 20% 확률로 1레벨 슬로우효과 적용","option":{}},"3":{"string":"공격 시 20% 확률로 1레벨 슬로우효과 적용","option":{}},"4":{"string":"공격 시 20% 확률로 1레벨 슬로우효과 적용","option":{}},"5":{"string":"공격 시 20% 확률로 1레벨 슬로우효과 적용","option":{}},"6":{"string":"공격 시 20% 확률로 1레벨 슬로우효과 적용","option":{}},"7":{"string":"공격 시 20% 확률로 1레벨 슬로우효과 적용","option":{}},"8":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"9":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"10":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"11":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"12":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"13":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"14":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"15":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"16":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"17":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"18":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"19":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"20":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"21":{"string":"공격 시 20% 확률로 3레벨 슬로우효과 적용","option":{}},"22":{"string":"공격 시 20% 확률로 3레벨 슬로우효과 적용","option":{}},"23":{"string":"공격 시 20% 확률로 3레벨 슬로우효과 적용","option":{}},"24":{"string":"공격 시 20% 확률로 3레벨 슬로우효과 적용","option":{}},"25":{"string":"공격 시 20% 확률로 3레벨 슬로우효과 적용","option":{}}}},"10236":{"optionType":10,"reqLevel":10,"level":{"1":{"string":"공격 시 10% 확률로 1레벨 암흑효과 적용","option":{}},"2":{"string":"공격 시 10% 확률로 1레벨 암흑효과 적용","option":{}},"3":{"string":"공격 시 10% 확률로 1레벨 암흑효과 적용","option":{}},"4":{"string":"공격 시 10% 확률로 1레벨 암흑효과 적용","option":{}},"5":{"string":"공격 시 10% 확률로 1레벨 암흑효과 적용","option":{}},"6":{"string":"공격 시 10% 확률로 2레벨 암흑효과 적용","option":{}},"7":{"string":"공격 시 10% 확률로 2레벨 암흑효과 적용","option":{}},"8":{"string":"공격 시 10% 확률로 2레벨 암흑효과 적용","option":{}},"9":{"string":"공격 시 10% 확률로 2레벨 암흑효과 적용","option":{}},"10":{"string":"공격 시 10% 확률로 2레벨 암흑효과 적용","option":{}},"11":{"string":"공격 시 10% 확률로 3레벨 암흑효과 적용","option":{}},"12":{"string":"공격 시 10% 확률로 3레벨 암흑효과 적용","option":{}},"13":{"string":"공격 시 10% 확률로 3레벨 암흑효과 적용","option":{}},"14":{"string":"공격 시 10% 확률로 3레벨 암흑효과 적용","option":{}},"15":{"string":"공격 시 10% 확률로 3레벨 암흑효과 적용","option":{}},"16":{"string":"공격 시 10% 확률로 3레벨 암흑효과 적용","option":{}},"17":{"string":"공격 시 10% 확률로 3레벨 암흑효과 적용","option":{}},"18":{"string":"공격 시 10% 확률로 3레벨 암흑효과 적용","option":{}},"19":{"string":"공격 시 10% 확률로 3레벨 암흑효과 적용","option":{}},"20":{"string":"공격 시 10% 확률로 3레벨 암흑효과 적용","option":{}},"21":{"string":"공격 시 10% 확률로 4레벨 암흑효과 적용","option":{}},"22":{"string":"공격 시 10% 확률로 4레벨 암흑효과 적용","option":{}},"23":{"string":"공격 시 10% 확률로 4레벨 암흑효과 적용","option":{}},"24":{"string":"공격 시 10% 확률로 4레벨 암흑효과 적용","option":{}},"25":{"string":"공격 시 10% 확률로 4레벨 암흑효과 적용","option":{}}}},"10237":{"optionType":10,"reqLevel":10,"level":{"1":{"string":"공격 시 20% 확률로 1레벨 암흑효과 적용","option":{}},"2":{"string":"공격 시 20% 확률로 1레벨 암흑효과 적용","option":{}},"3":{"string":"공격 시 20% 확률로 1레벨 암흑효과 적용","option":{}},"4":{"string":"공격 시 20% 확률로 1레벨 암흑효과 적용","option":{}},"5":{"string":"공격 시 20% 확률로 1레벨 암흑효과 적용","option":{}},"6":{"string":"공격 시 20% 확률로 2레벨 암흑효과 적용","option":{}},"7":{"string":"공격 시 20% 확률로 2레벨 암흑효과 적용","option":{}},"8":{"string":"공격 시 20% 확률로 2레벨 암흑효과 적용","option":{}},"9":{"string":"공격 시 20% 확률로 2레벨 암흑효과 적용","option":{}},"10":{"string":"공격 시 20% 확률로 2레벨 암흑효과 적용","option":{}},"11":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"12":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"13":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"14":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"15":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"16":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"17":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"18":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"19":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"20":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"21":{"string":"공격 시 20% 확률로 4레벨 암흑효과 적용","option":{}},"22":{"string":"공격 시 20% 확률로 4레벨 암흑효과 적용","option":{}},"23":{"string":"공격 시 20% 확률로 4레벨 암흑효과 적용","option":{}},"24":{"string":"공격 시 20% 확률로 4레벨 암흑효과 적용","option":{}},"25":{"string":"공격 시 20% 확률로 4레벨 암흑효과 적용","option":{}}}},"10241":{"optionType":10,"reqLevel":10,"level":{"1":{"string":"공격 시 5% 확률로 1레벨 빙결효과 적용","option":{}},"2":{"string":"공격 시 5% 확률로 1레벨 빙결효과 적용","option":{}},"3":{"string":"공격 시 5% 확률로 1레벨 빙결효과 적용","option":{}},"4":{"string":"공격 시 5% 확률로 1레벨 빙결효과 적용","option":{}},"5":{"string":"공격 시 5% 확률로 1레벨 빙결효과 적용","option":{}},"6":{"string":"공격 시 5% 확률로 1레벨 빙결효과 적용","option":{}},"7":{"string":"공격 시 5% 확률로 1레벨 빙결효과 적용","option":{}},"8":{"string":"공격 시 5% 확률로 2레벨 빙결효과 적용","option":{}},"9":{"string":"공격 시 5% 확률로 2레벨 빙결효과 적용","option":{}},"10":{"string":"공격 시 5% 확률로 2레벨 빙결효과 적용","option":{}},"11":{"string":"공격 시 5% 확률로 2레벨 빙결효과 적용","option":{}},"12":{"string":"공격 시 5% 확률로 2레벨 빙결효과 적용","option":{}},"13":{"string":"공격 시 5% 확률로 2레벨 빙결효과 적용","option":{}},"14":{"string":"공격 시 5% 확률로 2레벨 빙결효과 적용","option":{}},"15":{"string":"공격 시 5% 확률로 2레벨 빙결효과 적용","option":{}},"16":{"string":"공격 시 5% 확률로 2레벨 빙결효과 적용","option":{}},"17":{"string":"공격 시 5% 확률로 2레벨 빙결효과 적용","option":{}},"18":{"string":"공격 시 5% 확률로 2레벨 빙결효과 적용","option":{}},"19":{"string":"공격 시 5% 확률로 2레벨 빙결효과 적용","option":{}},"20":{"string":"공격 시 5% 확률로 2레벨 빙결효과 적용","option":{}},"21":{"string":"공격 시 5% 확률로 3레벨 빙결효과 적용","option":{}},"22":{"string":"공격 시 5% 확률로 3레벨 빙결효과 적용","option":{}},"23":{"string":"공격 시 5% 확률로 3레벨 빙결효과 적용","option":{}},"24":{"string":"공격 시 5% 확률로 3레벨 빙결효과 적용","option":{}},"25":{"string":"공격 시 5% 확률로 3레벨 빙결효과 적용","option":{}}}},"10242":{"optionType":10,"reqLevel":10,"level":{"1":{"string":"공격 시 10% 확률로 1레벨 빙결효과 적용","option":{}},"2":{"string":"공격 시 10% 확률로 1레벨 빙결효과 적용","option":{}},"3":{"string":"공격 시 10% 확률로 1레벨 빙결효과 적용","option":{}},"4":{"string":"공격 시 10% 확률로 1레벨 빙결효과 적용","option":{}},"5":{"string":"공격 시 10% 확률로 1레벨 빙결효과 적용","option":{}},"6":{"string":"공격 시 10% 확률로 1레벨 빙결효과 적용","option":{}},"7":{"string":"공격 시 10% 확률로 1레벨 빙결효과 적용","option":{}},"8":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"9":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"10":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"11":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"12":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"13":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"14":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"15":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"16":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"17":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"18":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"19":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"20":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"21":{"string":"공격 시 10% 확률로 3레벨 빙결효과 적용","option":{}},"22":{"string":"공격 시 10% 확률로 3레벨 빙결효과 적용","option":{}},"23":{"string":"공격 시 10% 확률로 3레벨 빙결효과 적용","option":{}},"24":{"string":"공격 시 10% 확률로 3레벨 빙결효과 적용","option":{}},"25":{"string":"공격 시 10% 확률로 3레벨 빙결효과 적용","option":{}}}},"10246":{"optionType":10,"reqLevel":10,"level":{"1":{"string":"공격 시 5% 확률로 1레벨 봉인효과 적용","option":{}},"2":{"string":"공격 시 5% 확률로 1레벨 봉인효과 적용","option":{}},"3":{"string":"공격 시 5% 확률로 1레벨 봉인효과 적용","option":{}},"4":{"string":"공격 시 5% 확률로 1레벨 봉인효과 적용","option":{}},"5":{"string":"공격 시 5% 확률로 1레벨 봉인효과 적용","option":{}},"6":{"string":"공격 시 5% 확률로 1레벨 봉인효과 적용","option":{}},"7":{"string":"공격 시 5% 확률로 1레벨 봉인효과 적용","option":{}},"8":{"string":"공격 시 5% 확률로 2레벨 봉인효과 적용","option":{}},"9":{"string":"공격 시 5% 확률로 2레벨 봉인효과 적용","option":{}},"10":{"string":"공격 시 5% 확률로 2레벨 봉인효과 적용","option":{}},"11":{"string":"공격 시 5% 확률로 2레벨 봉인효과 적용","option":{}},"12":{"string":"공격 시 5% 확률로 2레벨 봉인효과 적용","option":{}},"13":{"string":"공격 시 5% 확률로 2레벨 봉인효과 적용","option":{}},"14":{"string":"공격 시 5% 확률로 2레벨 봉인효과 적용","option":{}},"15":{"string":"공격 시 5% 확률로 2레벨 봉인효과 적용","option":{}},"16":{"string":"공격 시 5% 확률로 2레벨 봉인효과 적용","option":{}},"17":{"string":"공격 시 5% 확률로 2레벨 봉인효과 적용","option":{}},"18":{"string":"공격 시 5% 확률로 2레벨 봉인효과 적용","option":{}},"19":{"string":"공격 시 5% 확률로 2레벨 봉인효과 적용","option":{}},"20":{"string":"공격 시 5% 확률로 2레벨 봉인효과 적용","option":{}},"21":{"string":"공격 시 5% 확률로 3레벨 봉인효과 적용","option":{}},"22":{"string":"공격 시 5% 확률로 3레벨 봉인효과 적용","option":{}},"23":{"string":"공격 시 5% 확률로 3레벨 봉인효과 적용","option":{}},"24":{"string":"공격 시 5% 확률로 3레벨 봉인효과 적용","option":{}},"25":{"string":"공격 시 5% 확률로 3레벨 봉인효과 적용","option":{}}}},"10247":{"optionType":10,"reqLevel":10,"level":{"1":{"string":"공격 시 10% 확률로 1레벨 봉인효과 적용","option":{}},"2":{"string":"공격 시 10% 확률로 1레벨 봉인효과 적용","option":{}},"3":{"string":"공격 시 10% 확률로 1레벨 봉인효과 적용","option":{}},"4":{"string":"공격 시 10% 확률로 1레벨 봉인효과 적용","option":{}},"5":{"string":"공격 시 10% 확률로 1레벨 봉인효과 적용","option":{}},"6":{"string":"공격 시 10% 확률로 1레벨 봉인효과 적용","option":{}},"7":{"string":"공격 시 10% 확률로 1레벨 봉인효과 적용","option":{}},"8":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"9":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"10":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"11":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"12":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"13":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"14":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"15":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"16":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"17":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"18":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"19":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"20":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"21":{"string":"공격 시 10% 확률로 3레벨 봉인효과 적용","option":{}},"22":{"string":"공격 시 10% 확률로 3레벨 봉인효과 적용","option":{}},"23":{"string":"공격 시 10% 확률로 3레벨 봉인효과 적용","option":{}},"24":{"string":"공격 시 10% 확률로 3레벨 봉인효과 적용","option":{}},"25":{"string":"공격 시 10% 확률로 3레벨 봉인효과 적용","option":{}}}},"10291":{"optionType":10,"reqLevel":30,"level":{"1":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"2":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"3":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"4":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"5":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"6":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"7":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"8":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"9":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"10":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"11":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"12":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"13":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"14":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"15":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"16":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"17":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"18":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"19":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"20":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"21":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"22":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"23":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"24":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"25":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}}}},"12001":{"optionType":11,"level":{"1":{"string":"STR +2","option":{"str":2}},"2":{"string":"STR +2","option":{"str":2}},"3":{"string":"STR +4","option":{"str":4}},"4":{"string":"STR +4","option":{"str":4}},"5":{"string":"STR +4","option":{"str":4}},"6":{"string":"STR +6","option":{"str":6}},"7":{"string":"STR +6","option":{"str":6}},"8":{"string":"STR +8","option":{"str":8}},"9":{"string":"STR +8","option":{"str":8}},"10":{"string":"STR +10","option":{"str":10}},"11":{"string":"STR +10","option":{"str":10}},"12":{"string":"STR +10","option":{"str":10}},"13":{"string":"STR +10","option":{"str":10}},"14":{"string":"STR +10","option":{"str":10}},"15":{"string":"STR +10","option":{"str":10}},"16":{"string":"STR +10","option":{"str":10}},"17":{"string":"STR +10","option":{"str":10}},"18":{"string":"STR +10","option":{"str":10}},"19":{"string":"STR +10","option":{"str":10}},"20":{"string":"STR +10","option":{"str":10}},"21":{"string":"STR +11","option":{"str":11}},"22":{"string":"STR +11","option":{"str":11}},"23":{"string":"STR +11","option":{"str":11}},"24":{"string":"STR +11","option":{"str":11}},"25":{"string":"STR +11","option":{"str":11}}}},"12002":{"optionType":11,"level":{"1":{"string":"DEX +2","option":{"dex":2}},"2":{"string":"DEX +2","option":{"dex":2}},"3":{"string":"DEX +4","option":{"dex":4}},"4":{"string":"DEX +4","option":{"dex":4}},"5":{"string":"DEX +4","option":{"dex":4}},"6":{"string":"DEX +6","option":{"dex":6}},"7":{"string":"DEX +6","option":{"dex":6}},"8":{"string":"DEX +8","option":{"dex":8}},"9":{"string":"DEX +8","option":{"dex":8}},"10":{"string":"DEX +10","option":{"dex":10}},"11":{"string":"DEX +10","option":{"dex":10}},"12":{"string":"DEX +10","option":{"dex":10}},"13":{"string":"DEX +10","option":{"dex":10}},"14":{"string":"DEX +10","option":{"dex":10}},"15":{"string":"DEX +10","option":{"dex":10}},"16":{"string":"DEX +10","option":{"dex":10}},"17":{"string":"DEX +10","option":{"dex":10}},"18":{"string":"DEX +10","option":{"dex":10}},"19":{"string":"DEX +10","option":{"dex":10}},"20":{"string":"DEX +10","option":{"dex":10}},"21":{"string":"DEX +11","option":{"dex":11}},"22":{"string":"DEX +11","option":{"dex":11}},"23":{"string":"DEX +11","option":{"dex":11}},"24":{"string":"DEX +11","option":{"dex":11}},"25":{"string":"DEX +11","option":{"dex":11}}}},"12003":{"optionType":11,"level":{"1":{"string":"INT +2","option":{"int":2}},"2":{"string":"INT +2","option":{"int":2}},"3":{"string":"INT +4","option":{"int":4}},"4":{"string":"INT +4","option":{"int":4}},"5":{"string":"INT +4","option":{"int":4}},"6":{"string":"INT +6","option":{"int":6}},"7":{"string":"INT +6","option":{"int":6}},"8":{"string":"INT +8","option":{"int":8}},"9":{"string":"INT +8","option":{"int":8}},"10":{"string":"INT +10","option":{"int":10}},"11":{"string":"INT +10","option":{"int":10}},"12":{"string":"INT +10","option":{"int":10}},"13":{"string":"INT +10","option":{"int":10}},"14":{"string":"INT +10","option":{"int":10}},"15":{"string":"INT +10","option":{"int":10}},"16":{"string":"INT +10","option":{"int":10}},"17":{"string":"INT +10","option":{"int":10}},"18":{"string":"INT +10","option":{"int":10}},"19":{"string":"INT +10","option":{"int":10}},"20":{"string":"INT +10","option":{"int":10}},"21":{"string":"INT +11","option":{"int":11}},"22":{"string":"INT +11","option":{"int":11}},"23":{"string":"INT +11","option":{"int":11}},"24":{"string":"INT +11","option":{"int":11}},"25":{"string":"INT +11","option":{"int":11}}}},"12004":{"optionType":11,"level":{"1":{"string":"LUK +2","option":{"luk":2}},"2":{"string":"LUK +2","option":{"luk":2}},"3":{"string":"LUK +4","option":{"luk":4}},"4":{"string":"LUK +4","option":{"luk":4}},"5":{"string":"LUK +4","option":{"luk":4}},"6":{"string":"LUK +6","option":{"luk":6}},"7":{"string":"LUK +6","option":{"luk":6}},"8":{"string":"LUK +8","option":{"luk":8}},"9":{"string":"LUK +8","option":{"luk":8}},"10":{"string":"LUK +10","option":{"luk":10}},"11":{"string":"LUK +10","option":{"luk":10}},"12":{"string":"LUK +10","option":{"luk":10}},"13":{"string":"LUK +10","option":{"luk":10}},"14":{"string":"LUK +10","option":{"luk":10}},"15":{"string":"LUK +10","option":{"luk":10}},"16":{"string":"LUK +10","option":{"luk":10}},"17":{"string":"LUK +10","option":{"luk":10}},"18":{"string":"LUK +10","option":{"luk":10}},"19":{"string":"LUK +10","option":{"luk":10}},"20":{"string":"LUK +10","option":{"luk":10}},"21":{"string":"LUK +11","option":{"luk":11}},"22":{"string":"LUK +11","option":{"luk":11}},"23":{"string":"LUK +11","option":{"luk":11}},"24":{"string":"LUK +11","option":{"luk":11}},"25":{"string":"LUK +11","option":{"luk":11}}}},"12005":{"level":{"1":{"string":"최대 HP +10","option":{"maxHp":10}},"2":{"string":"최대 HP +10","option":{"maxHp":10}},"3":{"string":"최대 HP +15","option":{"maxHp":15}},"4":{"string":"최대 HP +15","option":{"maxHp":15}},"5":{"string":"최대 HP +15","option":{"maxHp":15}},"6":{"string":"최대 HP +50","option":{"maxHp":50}},"7":{"string":"최대 HP +50","option":{"maxHp":50}},"8":{"string":"최대 HP +50","option":{"maxHp":50}},"9":{"string":"최대 HP +50","option":{"maxHp":50}},"10":{"string":"최대 HP +100","option":{"maxHp":100}},"11":{"string":"최대 HP +100","option":{"maxHp":100}},"12":{"string":"최대 HP +100","option":{"maxHp":100}},"13":{"string":"최대 HP +100","option":{"maxHp":100}},"14":{"string":"최대 HP +100","option":{"maxHp":100}},"15":{"string":"최대 HP +100","option":{"maxHp":100}},"16":{"string":"최대 HP +100","option":{"maxHp":100}},"17":{"string":"최대 HP +100","option":{"maxHp":100}},"18":{"string":"최대 HP +100","option":{"maxHp":100}},"19":{"string":"최대 HP +100","option":{"maxHp":100}},"20":{"string":"최대 HP +100","option":{"maxHp":100}},"21":{"string":"최대 HP +125","option":{"maxHp":125}},"22":{"string":"최대 HP +125","option":{"maxHp":125}},"23":{"string":"최대 HP +125","option":{"maxHp":125}},"24":{"string":"최대 HP +125","option":{"maxHp":125}},"25":{"string":"최대 HP +125","option":{"maxHp":125}}}},"12006":{"level":{"1":{"string":"최대 MP +10","option":{"maxMp":10}},"2":{"string":"최대 MP +10","option":{"maxMp":10}},"3":{"string":"최대 MP +15","option":{"maxMp":15}},"4":{"string":"최대 MP +15","option":{"maxMp":15}},"5":{"string":"최대 MP +15","option":{"maxMp":15}},"6":{"string":"최대 MP +50","option":{"maxMp":50}},"7":{"string":"최대 MP +50","option":{"maxMp":50}},"8":{"string":"최대 MP +50","option":{"maxMp":50}},"9":{"string":"최대 MP +50","option":{"maxMp":50}},"10":{"string":"최대 MP +100","option":{"maxMp":100}},"11":{"string":"최대 MP +100","option":{"maxMp":100}},"12":{"string":"최대 MP +100","option":{"maxMp":100}},"13":{"string":"최대 MP +100","option":{"maxMp":100}},"14":{"string":"최대 MP +100","option":{"maxMp":100}},"15":{"string":"최대 MP +100","option":{"maxMp":100}},"16":{"string":"최대 MP +100","option":{"maxMp":100}},"17":{"string":"최대 MP +100","option":{"maxMp":100}},"18":{"string":"최대 MP +100","option":{"maxMp":100}},"19":{"string":"최대 MP +100","option":{"maxMp":100}},"20":{"string":"최대 MP +100","option":{"maxMp":100}},"21":{"string":"최대 MP +125","option":{"maxMp":125}},"22":{"string":"최대 MP +125","option":{"maxMp":125}},"23":{"string":"최대 MP +125","option":{"maxMp":125}},"24":{"string":"최대 MP +125","option":{"maxMp":125}},"25":{"string":"최대 MP +125","option":{"maxMp":125}}}},"12007":{"level":{"1":{"string":"최대 HP +10","option":{"maxHp":10}},"2":{"string":"최대 HP +10","option":{"maxHp":10}},"3":{"string":"최대 HP +15","option":{"maxHp":15}},"4":{"string":"최대 HP +15","option":{"maxHp":15}},"5":{"string":"최대 HP +15","option":{"maxHp":15}},"6":{"string":"최대 HP +50","option":{"maxHp":50}},"7":{"string":"최대 HP +50","option":{"maxHp":50}},"8":{"string":"최대 HP +50","option":{"maxHp":50}},"9":{"string":"최대 HP +50","option":{"maxHp":50}},"10":{"string":"최대 HP +100","option":{"maxHp":100}},"11":{"string":"최대 HP +100","option":{"maxHp":100}},"12":{"string":"최대 HP +100","option":{"maxHp":100}},"13":{"string":"최대 HP +100","option":{"maxHp":100}},"14":{"string":"최대 HP +100","option":{"maxHp":100}},"15":{"string":"최대 HP +100","option":{"maxHp":100}},"16":{"string":"최대 HP +100","option":{"maxHp":100}},"17":{"string":"최대 HP +100","option":{"maxHp":100}},"18":{"string":"최대 HP +100","option":{"maxHp":100}},"19":{"string":"최대 HP +100","option":{"maxHp":100}},"20":{"string":"최대 HP +100","option":{"maxHp":100}},"21":{"string":"최대 HP +100","option":{"maxHp":100}},"22":{"string":"최대 HP +100","option":{"maxHp":100}},"23":{"string":"최대 HP +100","option":{"maxHp":100}},"24":{"string":"최대 HP +100","option":{"maxHp":100}},"25":{"string":"최대 HP +100","option":{"maxHp":100}}}},"12008":{"level":{"1":{"string":"최대 MP +10","option":{"maxMp":10}},"2":{"string":"최대 MP +10","option":{"maxMp":10}},"3":{"string":"최대 MP +15","option":{"maxMp":15}},"4":{"string":"최대 MP +15","option":{"maxMp":15}},"5":{"string":"최대 MP +15","option":{"maxMp":15}},"6":{"string":"최대 MP +50","option":{"maxMp":50}},"7":{"string":"최대 MP +50","option":{"maxMp":50}},"8":{"string":"최대 MP +50","option":{"maxMp":50}},"9":{"string":"최대 MP +50","option":{"maxMp":50}},"10":{"string":"최대 MP +100","option":{"maxMp":100}},"11":{"string":"최대 MP +100","option":{"maxMp":100}},"12":{"string":"최대 MP +100","option":{"maxMp":100}},"13":{"string":"최대 MP +100","option":{"maxMp":100}},"14":{"string":"최대 MP +100","option":{"maxMp":100}},"15":{"string":"최대 MP +100","option":{"maxMp":100}},"16":{"string":"최대 MP +100","option":{"maxMp":100}},"17":{"string":"최대 MP +100","option":{"maxMp":100}},"18":{"string":"최대 MP +100","option":{"maxMp":100}},"19":{"string":"최대 MP +100","option":{"maxMp":100}},"20":{"string":"최대 MP +100","option":{"maxMp":100}},"21":{"string":"최대 MP +100","option":{"maxMp":100}},"22":{"string":"최대 MP +100","option":{"maxMp":100}},"23":{"string":"최대 MP +100","option":{"maxMp":100}},"24":{"string":"최대 MP +100","option":{"maxMp":100}},"25":{"string":"최대 MP +100","option":{"maxMp":100}}}},"12009":{"level":{"1":{"string":"이동속도 +2","option":{"speed":2}},"2":{"string":"이동속도 +2","option":{"speed":2}},"3":{"string":"이동속도 +3","option":{"speed":3}},"4":{"string":"이동속도 +3","option":{"speed":3}},"5":{"string":"이동속도 +3","option":{"speed":3}},"6":{"string":"이동속도 +4","option":{"speed":4}},"7":{"string":"이동속도 +4","option":{"speed":4}},"8":{"string":"이동속도 +4","option":{"speed":4}},"9":{"string":"이동속도 +5","option":{"speed":5}},"10":{"string":"이동속도 +5","option":{"speed":5}},"11":{"string":"이동속도 +5","option":{"speed":5}},"12":{"string":"이동속도 +6","option":{"speed":6}},"13":{"string":"이동속도 +6","option":{"speed":6}},"14":{"string":"이동속도 +6","option":{"speed":6}},"15":{"string":"이동속도 +6","option":{"speed":6}},"16":{"string":"이동속도 +6","option":{"speed":6}},"17":{"string":"이동속도 +6","option":{"speed":6}},"18":{"string":"이동속도 +6","option":{"speed":6}},"19":{"string":"이동속도 +6","option":{"speed":6}},"20":{"string":"이동속도 +6","option":{"speed":6}},"21":{"string":"이동속도 +6","option":{"speed":6}},"22":{"string":"이동속도 +6","option":{"speed":6}},"23":{"string":"이동속도 +6","option":{"speed":6}},"24":{"string":"이동속도 +6","option":{"speed":6}},"25":{"string":"이동속도 +6","option":{"speed":6}}}},"12010":{"level":{"1":{"string":"점프력 +2","option":{"jump":2}},"2":{"string":"점프력 +2","option":{"jump":2}},"3":{"string":"점프력 +3","option":{"jump":3}},"4":{"string":"점프력 +3","option":{"jump":3}},"5":{"string":"점프력 +3","option":{"jump":3}},"6":{"string":"점프력 +4","option":{"jump":4}},"7":{"string":"점프력 +4","option":{"jump":4}},"8":{"string":"점프력 +4","option":{"jump":4}},"9":{"string":"점프력 +5","option":{"jump":5}},"10":{"string":"점프력 +5","option":{"jump":5}},"11":{"string":"점프력 +5","option":{"jump":5}},"12":{"string":"점프력 +6","option":{"jump":6}},"13":{"string":"점프력 +6","option":{"jump":6}},"14":{"string":"점프력 +6","option":{"jump":6}},"15":{"string":"점프력 +6","option":{"jump":6}},"16":{"string":"점프력 +6","option":{"jump":6}},"17":{"string":"점프력 +6","option":{"jump":6}},"18":{"string":"점프력 +6","option":{"jump":6}},"19":{"string":"점프력 +6","option":{"jump":6}},"20":{"string":"점프력 +6","option":{"jump":6}},"21":{"string":"점프력 +6","option":{"jump":6}},"22":{"string":"점프력 +6","option":{"jump":6}},"23":{"string":"점프력 +6","option":{"jump":6}},"24":{"string":"점프력 +6","option":{"jump":6}},"25":{"string":"점프력 +6","option":{"jump":6}}}},"12011":{"optionType":11,"level":{"1":{"string":"공격력 +1","option":{"attackPower":1}},"2":{"string":"공격력 +1","option":{"attackPower":1}},"3":{"string":"공격력 +2","option":{"attackPower":2}},"4":{"string":"공격력 +2","option":{"attackPower":2}},"5":{"string":"공격력 +4","option":{"attackPower":4}},"6":{"string":"공격력 +4","option":{"attackPower":4}},"7":{"string":"공격력 +6","option":{"attackPower":6}},"8":{"string":"공격력 +6","option":{"attackPower":6}},"9":{"string":"공격력 +8","option":{"attackPower":8}},"10":{"string":"공격력 +10","option":{"attackPower":10}},"11":{"string":"공격력 +10","option":{"attackPower":10}},"12":{"string":"공격력 +10","option":{"attackPower":10}},"13":{"string":"공격력 +10","option":{"attackPower":10}},"14":{"string":"공격력 +10","option":{"attackPower":10}},"15":{"string":"공격력 +10","option":{"attackPower":10}},"16":{"string":"공격력 +10","option":{"attackPower":10}},"17":{"string":"공격력 +10","option":{"attackPower":10}},"18":{"string":"공격력 +10","option":{"attackPower":10}},"19":{"string":"공격력 +10","option":{"attackPower":10}},"20":{"string":"공격력 +10","option":{"attackPower":10}},"21":{"string":"공격력 +11","option":{"attackPower":11}},"22":{"string":"공격력 +11","option":{"attackPower":11}},"23":{"string":"공격력 +11","option":{"attackPower":11}},"24":{"string":"공격력 +11","option":{"attackPower":11}},"25":{"string":"공격력 +11","option":{"attackPower":11}}}},"12012":{"optionType":11,"level":{"1":{"string":"마력 +1","option":{"magicPower":1}},"2":{"string":"마력 +1","option":{"magicPower":1}},"3":{"string":"마력 +2","option":{"magicPower":2}},"4":{"string":"마력 +2","option":{"magicPower":2}},"5":{"string":"마력 +4","option":{"magicPower":4}},"6":{"string":"마력 +4","option":{"magicPower":4}},"7":{"string":"마력 +6","option":{"magicPower":6}},"8":{"string":"마력 +6","option":{"magicPower":6}},"9":{"string":"마력 +8","option":{"magicPower":8}},"10":{"string":"마력 +10","option":{"magicPower":10}},"11":{"string":"마력 +10","option":{"magicPower":10}},"12":{"string":"마력 +10","option":{"magicPower":10}},"13":{"string":"마력 +10","option":{"magicPower":10}},"14":{"string":"마력 +10","option":{"magicPower":10}},"15":{"string":"마력 +10","option":{"magicPower":10}},"16":{"string":"마력 +10","option":{"magicPower":10}},"17":{"string":"마력 +10","option":{"magicPower":10}},"18":{"string":"마력 +10","option":{"magicPower":10}},"19":{"string":"마력 +10","option":{"magicPower":10}},"20":{"string":"마력 +10","option":{"magicPower":10}},"21":{"string":"마력 +11","option":{"magicPower":11}},"22":{"string":"마력 +11","option":{"magicPower":11}},"23":{"string":"마력 +11","option":{"magicPower":11}},"24":{"string":"마력 +11","option":{"magicPower":11}},"25":{"string":"마력 +11","option":{"magicPower":11}}}},"12013":{"level":{"1":{"string":"방어력 +10","option":{"armor":10}},"2":{"string":"방어력 +10","option":{"armor":10}},"3":{"string":"방어력 +15","option":{"armor":15}},"4":{"string":"방어력 +15","option":{"armor":15}},"5":{"string":"방어력 +15","option":{"armor":15}},"6":{"string":"방어력 +50","option":{"armor":50}},"7":{"string":"방어력 +50","option":{"armor":50}},"8":{"string":"방어력 +50","option":{"armor":50}},"9":{"string":"방어력 +50","option":{"armor":50}},"10":{"string":"방어력 +100","option":{"armor":100}},"11":{"string":"방어력 +100","option":{"armor":100}},"12":{"string":"방어력 +100","option":{"armor":100}},"13":{"string":"방어력 +100","option":{"armor":100}},"14":{"string":"방어력 +100","option":{"armor":100}},"15":{"string":"방어력 +100","option":{"armor":100}},"16":{"string":"방어력 +100","option":{"armor":100}},"17":{"string":"방어력 +100","option":{"armor":100}},"18":{"string":"방어력 +100","option":{"armor":100}},"19":{"string":"방어력 +100","option":{"armor":100}},"20":{"string":"방어력 +100","option":{"armor":100}},"21":{"string":"방어력 +125","option":{"armor":125}},"22":{"string":"방어력 +125","option":{"armor":125}},"23":{"string":"방어력 +125","option":{"armor":125}},"24":{"string":"방어력 +125","option":{"armor":125}},"25":{"string":"방어력 +125","option":{"armor":125}}}},"12014":{"level":{"1":{"string":"방어력 +10","option":{"armor":10}},"2":{"string":"방어력 +10","option":{"armor":10}},"3":{"string":"방어력 +15","option":{"armor":15}},"4":{"string":"방어력 +15","option":{"armor":15}},"5":{"string":"방어력 +15","option":{"armor":15}},"6":{"string":"방어력 +50","option":{"armor":50}},"7":{"string":"방어력 +50","option":{"armor":50}},"8":{"string":"방어력 +50","option":{"armor":50}},"9":{"string":"방어력 +50","option":{"armor":50}},"10":{"string":"방어력 +100","option":{"armor":100}},"11":{"string":"방어력 +100","option":{"armor":100}},"12":{"string":"방어력 +100","option":{"armor":100}},"13":{"string":"방어력 +100","option":{"armor":100}},"14":{"string":"방어력 +100","option":{"armor":100}},"15":{"string":"방어력 +100","option":{"armor":100}},"16":{"string":"방어력 +100","option":{"armor":100}},"17":{"string":"방어력 +100","option":{"armor":100}},"18":{"string":"방어력 +100","option":{"armor":100}},"19":{"string":"방어력 +100","option":{"armor":100}},"20":{"string":"방어력 +100","option":{"armor":100}},"21":{"string":"방어력 +100","option":{"armor":100}},"22":{"string":"방어력 +100","option":{"armor":100}},"23":{"string":"방어력 +100","option":{"armor":100}},"24":{"string":"방어력 +100","option":{"armor":100}},"25":{"string":"방어력 +100","option":{"armor":100}}}},"12015":{"optionType":10,"level":{"1":{"string":"STR +2","option":{"str":2}},"2":{"string":"STR +2","option":{"str":2}},"3":{"string":"STR +4","option":{"str":4}},"4":{"string":"STR +4","option":{"str":4}},"5":{"string":"STR +6","option":{"str":6}},"6":{"string":"STR +8","option":{"str":8}},"7":{"string":"STR +8","option":{"str":8}},"8":{"string":"STR +10","option":{"str":10}},"9":{"string":"STR +10","option":{"str":10}},"10":{"string":"STR +12","option":{"str":12}},"11":{"string":"STR +12","option":{"str":12}},"12":{"string":"STR +12","option":{"str":12}},"13":{"string":"STR +12","option":{"str":12}},"14":{"string":"STR +12","option":{"str":12}},"15":{"string":"STR +12","option":{"str":12}},"16":{"string":"STR +12","option":{"str":12}},"17":{"string":"STR +12","option":{"str":12}},"18":{"string":"STR +12","option":{"str":12}},"19":{"string":"STR +12","option":{"str":12}},"20":{"string":"STR +12","option":{"str":12}},"21":{"string":"STR +13","option":{"str":13}},"22":{"string":"STR +13","option":{"str":13}},"23":{"string":"STR +13","option":{"str":13}},"24":{"string":"STR +13","option":{"str":13}},"25":{"string":"STR +13","option":{"str":13}}}},"12016":{"optionType":10,"level":{"1":{"string":"DEX +2","option":{"dex":2}},"2":{"string":"DEX +2","option":{"dex":2}},"3":{"string":"DEX +4","option":{"dex":4}},"4":{"string":"DEX +4","option":{"dex":4}},"5":{"string":"DEX +6","option":{"dex":6}},"6":{"string":"DEX +8","option":{"dex":8}},"7":{"string":"DEX +8","option":{"dex":8}},"8":{"string":"DEX +10","option":{"dex":10}},"9":{"string":"DEX +10","option":{"dex":10}},"10":{"string":"DEX +12","option":{"dex":12}},"11":{"string":"DEX +12","option":{"dex":12}},"12":{"string":"DEX +12","option":{"dex":12}},"13":{"string":"DEX +12","option":{"dex":12}},"14":{"string":"DEX +12","option":{"dex":12}},"15":{"string":"DEX +12","option":{"dex":12}},"16":{"string":"DEX +12","option":{"dex":12}},"17":{"string":"DEX +12","option":{"dex":12}},"18":{"string":"DEX +12","option":{"dex":12}},"19":{"string":"DEX +12","option":{"dex":12}},"20":{"string":"DEX +12","option":{"dex":12}},"21":{"string":"DEX +13","option":{"dex":13}},"22":{"string":"DEX +13","option":{"dex":13}},"23":{"string":"DEX +13","option":{"dex":13}},"24":{"string":"DEX +13","option":{"dex":13}},"25":{"string":"DEX +13","option":{"dex":13}}}},"12017":{"optionType":10,"level":{"1":{"string":"INT +2","option":{"int":2}},"2":{"string":"INT +2","option":{"int":2}},"3":{"string":"INT +4","option":{"int":4}},"4":{"string":"INT +4","option":{"int":4}},"5":{"string":"INT +6","option":{"int":6}},"6":{"string":"INT +8","option":{"int":8}},"7":{"string":"INT +8","option":{"int":8}},"8":{"string":"INT +10","option":{"int":10}},"9":{"string":"INT +10","option":{"int":10}},"10":{"string":"INT +12","option":{"int":12}},"11":{"string":"INT +12","option":{"int":12}},"12":{"string":"INT +12","option":{"int":12}},"13":{"string":"INT +12","option":{"int":12}},"14":{"string":"INT +12","option":{"int":12}},"15":{"string":"INT +12","option":{"int":12}},"16":{"string":"INT +12","option":{"int":12}},"17":{"string":"INT +12","option":{"int":12}},"18":{"string":"INT +12","option":{"int":12}},"19":{"string":"INT +12","option":{"int":12}},"20":{"string":"INT +12","option":{"int":12}},"21":{"string":"INT +13","option":{"int":13}},"22":{"string":"INT +13","option":{"int":13}},"23":{"string":"INT +13","option":{"int":13}},"24":{"string":"INT +13","option":{"int":13}},"25":{"string":"INT +13","option":{"int":13}}}},"12018":{"optionType":10,"level":{"1":{"string":"LUK +2","option":{"luk":2}},"2":{"string":"LUK +2","option":{"luk":2}},"3":{"string":"LUK +4","option":{"luk":4}},"4":{"string":"LUK +4","option":{"luk":4}},"5":{"string":"LUK +6","option":{"luk":6}},"6":{"string":"LUK +8","option":{"luk":8}},"7":{"string":"LUK +8","option":{"luk":8}},"8":{"string":"LUK +10","option":{"luk":10}},"9":{"string":"LUK +10","option":{"luk":10}},"10":{"string":"LUK +12","option":{"luk":12}},"11":{"string":"LUK +12","option":{"luk":12}},"12":{"string":"LUK +12","option":{"luk":12}},"13":{"string":"LUK +12","option":{"luk":12}},"14":{"string":"LUK +12","option":{"luk":12}},"15":{"string":"LUK +12","option":{"luk":12}},"16":{"string":"LUK +12","option":{"luk":12}},"17":{"string":"LUK +12","option":{"luk":12}},"18":{"string":"LUK +12","option":{"luk":12}},"19":{"string":"LUK +12","option":{"luk":12}},"20":{"string":"LUK +12","option":{"luk":12}},"21":{"string":"LUK +13","option":{"luk":13}},"22":{"string":"LUK +13","option":{"luk":13}},"23":{"string":"LUK +13","option":{"luk":13}},"24":{"string":"LUK +13","option":{"luk":13}},"25":{"string":"LUK +13","option":{"luk":13}}}},"12019":{"optionType":10,"level":{"1":{"string":"공격력 +2","option":{"attackPower":2}},"2":{"string":"공격력 +2","option":{"attackPower":2}},"3":{"string":"공격력 +4","option":{"attackPower":4}},"4":{"string":"공격력 +4","option":{"attackPower":4}},"5":{"string":"공격력 +6","option":{"attackPower":6}},"6":{"string":"공격력 +6","option":{"attackPower":6}},"7":{"string":"공격력 +8","option":{"attackPower":8}},"8":{"string":"공격력 +8","option":{"attackPower":8}},"9":{"string":"공격력 +10","option":{"attackPower":10}},"10":{"string":"공격력 +12","option":{"attackPower":12}},"11":{"string":"공격력 +12","option":{"attackPower":12}},"12":{"string":"공격력 +12","option":{"attackPower":12}},"13":{"string":"공격력 +12","option":{"attackPower":12}},"14":{"string":"공격력 +12","option":{"attackPower":12}},"15":{"string":"공격력 +12","option":{"attackPower":12}},"16":{"string":"공격력 +12","option":{"attackPower":12}},"17":{"string":"공격력 +12","option":{"attackPower":12}},"18":{"string":"공격력 +12","option":{"attackPower":12}},"19":{"string":"공격력 +12","option":{"attackPower":12}},"20":{"string":"공격력 +12","option":{"attackPower":12}},"21":{"string":"공격력 +13","option":{"attackPower":13}},"22":{"string":"공격력 +13","option":{"attackPower":13}},"23":{"string":"공격력 +13","option":{"attackPower":13}},"24":{"string":"공격력 +13","option":{"attackPower":13}},"25":{"string":"공격력 +13","option":{"attackPower":13}}}},"12020":{"optionType":10,"level":{"1":{"string":"마력 +2","option":{"magicPower":2}},"2":{"string":"마력 +2","option":{"magicPower":2}},"3":{"string":"마력 +4","option":{"magicPower":4}},"4":{"string":"마력 +4","option":{"magicPower":4}},"5":{"string":"마력 +6","option":{"magicPower":6}},"6":{"string":"마력 +6","option":{"magicPower":6}},"7":{"string":"마력 +8","option":{"magicPower":8}},"8":{"string":"마력 +8","option":{"magicPower":8}},"9":{"string":"마력 +10","option":{"magicPower":10}},"10":{"string":"마력 +12","option":{"magicPower":12}},"11":{"string":"마력 +12","option":{"magicPower":12}},"12":{"string":"마력 +12","option":{"magicPower":12}},"13":{"string":"마력 +12","option":{"magicPower":12}},"14":{"string":"마력 +12","option":{"magicPower":12}},"15":{"string":"마력 +12","option":{"magicPower":12}},"16":{"string":"마력 +12","option":{"magicPower":12}},"17":{"string":"마력 +12","option":{"magicPower":12}},"18":{"string":"마력 +12","option":{"magicPower":12}},"19":{"string":"마력 +12","option":{"magicPower":12}},"20":{"string":"마력 +12","option":{"magicPower":12}},"21":{"string":"마력 +13","option":{"magicPower":13}},"22":{"string":"마력 +13","option":{"magicPower":13}},"23":{"string":"마력 +13","option":{"magicPower":13}},"24":{"string":"마력 +13","option":{"magicPower":13}},"25":{"string":"마력 +13","option":{"magicPower":13}}}},"12041":{"optionType":11,"level":{"1":{"string":"STR +1%","option":{"strRate":1}},"2":{"string":"STR +1%","option":{"strRate":1}},"3":{"string":"STR +1%","option":{"strRate":1}},"4":{"string":"STR +1%","option":{"strRate":1}},"5":{"string":"STR +1%","option":{"strRate":1}},"6":{"string":"STR +1%","option":{"strRate":1}},"7":{"string":"STR +1%","option":{"strRate":1}},"8":{"string":"STR +1%","option":{"strRate":1}},"9":{"string":"STR +1%","option":{"strRate":1}},"10":{"string":"STR +2%","option":{"strRate":2}},"11":{"string":"STR +2%","option":{"strRate":2}},"12":{"string":"STR +2%","option":{"strRate":2}},"13":{"string":"STR +2%","option":{"strRate":2}},"14":{"string":"STR +2%","option":{"strRate":2}},"15":{"string":"STR +2%","option":{"strRate":2}},"16":{"string":"STR +2%","option":{"strRate":2}},"17":{"string":"STR +2%","option":{"strRate":2}},"18":{"string":"STR +2%","option":{"strRate":2}},"19":{"string":"STR +2%","option":{"strRate":2}},"20":{"string":"STR +2%","option":{"strRate":2}},"21":{"string":"STR +3%","option":{"strRate":3}},"22":{"string":"STR +3%","option":{"strRate":3}},"23":{"string":"STR +3%","option":{"strRate":3}},"24":{"string":"STR +3%","option":{"strRate":3}},"25":{"string":"STR +3%","option":{"strRate":3}}}},"12042":{"optionType":11,"level":{"1":{"string":"DEX +1%","option":{"dexRate":1}},"2":{"string":"DEX +1%","option":{"dexRate":1}},"3":{"string":"DEX +1%","option":{"dexRate":1}},"4":{"string":"DEX +1%","option":{"dexRate":1}},"5":{"string":"DEX +1%","option":{"dexRate":1}},"6":{"string":"DEX +1%","option":{"dexRate":1}},"7":{"string":"DEX +1%","option":{"dexRate":1}},"8":{"string":"DEX +1%","option":{"dexRate":1}},"9":{"string":"DEX +1%","option":{"dexRate":1}},"10":{"string":"DEX +2%","option":{"dexRate":2}},"11":{"string":"DEX +2%","option":{"dexRate":2}},"12":{"string":"DEX +2%","option":{"dexRate":2}},"13":{"string":"DEX +2%","option":{"dexRate":2}},"14":{"string":"DEX +2%","option":{"dexRate":2}},"15":{"string":"DEX +2%","option":{"dexRate":2}},"16":{"string":"DEX +2%","option":{"dexRate":2}},"17":{"string":"DEX +2%","option":{"dexRate":2}},"18":{"string":"DEX +2%","option":{"dexRate":2}},"19":{"string":"DEX +2%","option":{"dexRate":2}},"20":{"string":"DEX +2%","option":{"dexRate":2}},"21":{"string":"DEX +3%","option":{"dexRate":3}},"22":{"string":"DEX +3%","option":{"dexRate":3}},"23":{"string":"DEX +3%","option":{"dexRate":3}},"24":{"string":"DEX +3%","option":{"dexRate":3}},"25":{"string":"DEX +3%","option":{"dexRate":3}}}},"12043":{"optionType":11,"level":{"1":{"string":"INT +1%","option":{"intRate":1}},"2":{"string":"INT +1%","option":{"intRate":1}},"3":{"string":"INT +1%","option":{"intRate":1}},"4":{"string":"INT +1%","option":{"intRate":1}},"5":{"string":"INT +1%","option":{"intRate":1}},"6":{"string":"INT +1%","option":{"intRate":1}},"7":{"string":"INT +1%","option":{"intRate":1}},"8":{"string":"INT +1%","option":{"intRate":1}},"9":{"string":"INT +1%","option":{"intRate":1}},"10":{"string":"INT +2%","option":{"intRate":2}},"11":{"string":"INT +2%","option":{"intRate":2}},"12":{"string":"INT +2%","option":{"intRate":2}},"13":{"string":"INT +2%","option":{"intRate":2}},"14":{"string":"INT +2%","option":{"intRate":2}},"15":{"string":"INT +2%","option":{"intRate":2}},"16":{"string":"INT +2%","option":{"intRate":2}},"17":{"string":"INT +2%","option":{"intRate":2}},"18":{"string":"INT +2%","option":{"intRate":2}},"19":{"string":"INT +2%","option":{"intRate":2}},"20":{"string":"INT +2%","option":{"intRate":2}},"21":{"string":"INT +3%","option":{"intRate":3}},"22":{"string":"INT +3%","option":{"intRate":3}},"23":{"string":"INT +3%","option":{"intRate":3}},"24":{"string":"INT +3%","option":{"intRate":3}},"25":{"string":"INT +3%","option":{"intRate":3}}}},"12044":{"optionType":11,"level":{"1":{"string":"LUK +1%","option":{"lukRate":1}},"2":{"string":"LUK +1%","option":{"lukRate":1}},"3":{"string":"LUK +1%","option":{"lukRate":1}},"4":{"string":"LUK +1%","option":{"lukRate":1}},"5":{"string":"LUK +1%","option":{"lukRate":1}},"6":{"string":"LUK +1%","option":{"lukRate":1}},"7":{"string":"LUK +1%","option":{"lukRate":1}},"8":{"string":"LUK +1%","option":{"lukRate":1}},"9":{"string":"LUK +1%","option":{"lukRate":1}},"10":{"string":"LUK +2%","option":{"lukRate":2}},"11":{"string":"LUK +2%","option":{"lukRate":2}},"12":{"string":"LUK +2%","option":{"lukRate":2}},"13":{"string":"LUK +2%","option":{"lukRate":2}},"14":{"string":"LUK +2%","option":{"lukRate":2}},"15":{"string":"LUK +2%","option":{"lukRate":2}},"16":{"string":"LUK +2%","option":{"lukRate":2}},"17":{"string":"LUK +2%","option":{"lukRate":2}},"18":{"string":"LUK +2%","option":{"lukRate":2}},"19":{"string":"LUK +2%","option":{"lukRate":2}},"20":{"string":"LUK +2%","option":{"lukRate":2}},"21":{"string":"LUK +3%","option":{"lukRate":3}},"22":{"string":"LUK +3%","option":{"lukRate":3}},"23":{"string":"LUK +3%","option":{"lukRate":3}},"24":{"string":"LUK +3%","option":{"lukRate":3}},"25":{"string":"LUK +3%","option":{"lukRate":3}}}},"12045":{"level":{"1":{"string":"최대 HP +1%","option":{"maxHpRate":1}},"2":{"string":"최대 HP +1%","option":{"maxHpRate":1}},"3":{"string":"최대 HP +1%","option":{"maxHpRate":1}},"4":{"string":"최대 HP +1%","option":{"maxHpRate":1}},"5":{"string":"최대 HP +1%","option":{"maxHpRate":1}},"6":{"string":"최대 HP +1%","option":{"maxHpRate":1}},"7":{"string":"최대 HP +1%","option":{"maxHpRate":1}},"8":{"string":"최대 HP +1%","option":{"maxHpRate":1}},"9":{"string":"최대 HP +1%","option":{"maxHpRate":1}},"10":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"11":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"12":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"13":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"14":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"15":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"16":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"17":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"18":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"19":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"20":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"21":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"22":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"23":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"24":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"25":{"string":"최대 HP +3%","option":{"maxHpRate":3}}}},"12046":{"level":{"1":{"string":"최대 MP +1%","option":{"maxMpRate":1}},"2":{"string":"최대 MP +1%","option":{"maxMpRate":1}},"3":{"string":"최대 MP +1%","option":{"maxMpRate":1}},"4":{"string":"최대 MP +1%","option":{"maxMpRate":1}},"5":{"string":"최대 MP +1%","option":{"maxMpRate":1}},"6":{"string":"최대 MP +1%","option":{"maxMpRate":1}},"7":{"string":"최대 MP +1%","option":{"maxMpRate":1}},"8":{"string":"최대 MP +1%","option":{"maxMpRate":1}},"9":{"string":"최대 MP +1%","option":{"maxMpRate":1}},"10":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"11":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"12":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"13":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"14":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"15":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"16":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"17":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"18":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"19":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"20":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"21":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"22":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"23":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"24":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"25":{"string":"최대 MP +3%","option":{"maxMpRate":3}}}},"12047":{"optionType":10,"level":{"1":{"string":"STR +1%","option":{"strRate":1}},"2":{"string":"STR +1%","option":{"strRate":1}},"3":{"string":"STR +1%","option":{"strRate":1}},"4":{"string":"STR +2%","option":{"strRate":2}},"5":{"string":"STR +2%","option":{"strRate":2}},"6":{"string":"STR +2%","option":{"strRate":2}},"7":{"string":"STR +2%","option":{"strRate":2}},"8":{"string":"STR +3%","option":{"strRate":3}},"9":{"string":"STR +3%","option":{"strRate":3}},"10":{"string":"STR +3%","option":{"strRate":3}},"11":{"string":"STR +3%","option":{"strRate":3}},"12":{"string":"STR +3%","option":{"strRate":3}},"13":{"string":"STR +3%","option":{"strRate":3}},"14":{"string":"STR +3%","option":{"strRate":3}},"15":{"string":"STR +3%","option":{"strRate":3}},"16":{"string":"STR +3%","option":{"strRate":3}},"17":{"string":"STR +3%","option":{"strRate":3}},"18":{"string":"STR +3%","option":{"strRate":3}},"19":{"string":"STR +3%","option":{"strRate":3}},"20":{"string":"STR +3%","option":{"strRate":3}},"21":{"string":"STR +4%","option":{"strRate":4}},"22":{"string":"STR +4%","option":{"strRate":4}},"23":{"string":"STR +4%","option":{"strRate":4}},"24":{"string":"STR +4%","option":{"strRate":4}},"25":{"string":"STR +4%","option":{"strRate":4}}}},"12048":{"optionType":10,"level":{"1":{"string":"DEX +1%","option":{"dexRate":1}},"2":{"string":"DEX +1%","option":{"dexRate":1}},"3":{"string":"DEX +1%","option":{"dexRate":1}},"4":{"string":"DEX +2%","option":{"dexRate":2}},"5":{"string":"DEX +2%","option":{"dexRate":2}},"6":{"string":"DEX +2%","option":{"dexRate":2}},"7":{"string":"DEX +2%","option":{"dexRate":2}},"8":{"string":"DEX +3%","option":{"dexRate":3}},"9":{"string":"DEX +3%","option":{"dexRate":3}},"10":{"string":"DEX +3%","option":{"dexRate":3}},"11":{"string":"DEX +3%","option":{"dexRate":3}},"12":{"string":"DEX +3%","option":{"dexRate":3}},"13":{"string":"DEX +3%","option":{"dexRate":3}},"14":{"string":"DEX +3%","option":{"dexRate":3}},"15":{"string":"DEX +3%","option":{"dexRate":3}},"16":{"string":"DEX +3%","option":{"dexRate":3}},"17":{"string":"DEX +3%","option":{"dexRate":3}},"18":{"string":"DEX +3%","option":{"dexRate":3}},"19":{"string":"DEX +3%","option":{"dexRate":3}},"20":{"string":"DEX +3%","option":{"dexRate":3}},"21":{"string":"DEX +4%","option":{"dexRate":4}},"22":{"string":"DEX +4%","option":{"dexRate":4}},"23":{"string":"DEX +4%","option":{"dexRate":4}},"24":{"string":"DEX +4%","option":{"dexRate":4}},"25":{"string":"DEX +4%","option":{"dexRate":4}}}},"12049":{"optionType":10,"level":{"1":{"string":"INT +1%","option":{"intRate":1}},"2":{"string":"INT +1%","option":{"intRate":1}},"3":{"string":"INT +1%","option":{"intRate":1}},"4":{"string":"INT +2%","option":{"intRate":2}},"5":{"string":"INT +2%","option":{"intRate":2}},"6":{"string":"INT +2%","option":{"intRate":2}},"7":{"string":"INT +2%","option":{"intRate":2}},"8":{"string":"INT +3%","option":{"intRate":3}},"9":{"string":"INT +3%","option":{"intRate":3}},"10":{"string":"INT +3%","option":{"intRate":3}},"11":{"string":"INT +3%","option":{"intRate":3}},"12":{"string":"INT +3%","option":{"intRate":3}},"13":{"string":"INT +3%","option":{"intRate":3}},"14":{"string":"INT +3%","option":{"intRate":3}},"15":{"string":"INT +3%","option":{"intRate":3}},"16":{"string":"INT +3%","option":{"intRate":3}},"17":{"string":"INT +3%","option":{"intRate":3}},"18":{"string":"INT +3%","option":{"intRate":3}},"19":{"string":"INT +3%","option":{"intRate":3}},"20":{"string":"INT +3%","option":{"intRate":3}},"21":{"string":"INT +4%","option":{"intRate":4}},"22":{"string":"INT +4%","option":{"intRate":4}},"23":{"string":"INT +4%","option":{"intRate":4}},"24":{"string":"INT +4%","option":{"intRate":4}},"25":{"string":"INT +4%","option":{"intRate":4}}}},"12050":{"optionType":10,"level":{"1":{"string":"LUK +1%","option":{"lukRate":1}},"2":{"string":"LUK +1%","option":{"lukRate":1}},"3":{"string":"LUK +1%","option":{"lukRate":1}},"4":{"string":"LUK +2%","option":{"lukRate":2}},"5":{"string":"LUK +2%","option":{"lukRate":2}},"6":{"string":"LUK +2%","option":{"lukRate":2}},"7":{"string":"LUK +2%","option":{"lukRate":2}},"8":{"string":"LUK +3%","option":{"lukRate":3}},"9":{"string":"LUK +3%","option":{"lukRate":3}},"10":{"string":"LUK +3%","option":{"lukRate":3}},"11":{"string":"LUK +3%","option":{"lukRate":3}},"12":{"string":"LUK +3%","option":{"lukRate":3}},"13":{"string":"LUK +3%","option":{"lukRate":3}},"14":{"string":"LUK +3%","option":{"lukRate":3}},"15":{"string":"LUK +3%","option":{"lukRate":3}},"16":{"string":"LUK +3%","option":{"lukRate":3}},"17":{"string":"LUK +3%","option":{"lukRate":3}},"18":{"string":"LUK +3%","option":{"lukRate":3}},"19":{"string":"LUK +3%","option":{"lukRate":3}},"20":{"string":"LUK +3%","option":{"lukRate":3}},"21":{"string":"LUK +4%","option":{"lukRate":4}},"22":{"string":"LUK +4%","option":{"lukRate":4}},"23":{"string":"LUK +4%","option":{"lukRate":4}},"24":{"string":"LUK +4%","option":{"lukRate":4}},"25":{"string":"LUK +4%","option":{"lukRate":4}}}},"12051":{"optionType":10,"level":{"1":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"2":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"3":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"4":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"5":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"6":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"7":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"8":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"9":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"10":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"11":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"12":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"13":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"14":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"15":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"16":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"17":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"18":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"19":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"20":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"21":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"22":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"23":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"24":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"25":{"string":"공격력 +4%","option":{"attackPowerRate":4}}}},"12052":{"optionType":10,"level":{"1":{"string":"마력 +1%","option":{"magicPowerRate":1}},"2":{"string":"마력 +1%","option":{"magicPowerRate":1}},"3":{"string":"마력 +1%","option":{"magicPowerRate":1}},"4":{"string":"마력 +2%","option":{"magicPowerRate":2}},"5":{"string":"마력 +2%","option":{"magicPowerRate":2}},"6":{"string":"마력 +2%","option":{"magicPowerRate":2}},"7":{"string":"마력 +2%","option":{"magicPowerRate":2}},"8":{"string":"마력 +3%","option":{"magicPowerRate":3}},"9":{"string":"마력 +3%","option":{"magicPowerRate":3}},"10":{"string":"마력 +3%","option":{"magicPowerRate":3}},"11":{"string":"마력 +3%","option":{"magicPowerRate":3}},"12":{"string":"마력 +3%","option":{"magicPowerRate":3}},"13":{"string":"마력 +3%","option":{"magicPowerRate":3}},"14":{"string":"마력 +3%","option":{"magicPowerRate":3}},"15":{"string":"마력 +3%","option":{"magicPowerRate":3}},"16":{"string":"마력 +3%","option":{"magicPowerRate":3}},"17":{"string":"마력 +3%","option":{"magicPowerRate":3}},"18":{"string":"마력 +3%","option":{"magicPowerRate":3}},"19":{"string":"마력 +3%","option":{"magicPowerRate":3}},"20":{"string":"마력 +3%","option":{"magicPowerRate":3}},"21":{"string":"마력 +4%","option":{"magicPowerRate":4}},"22":{"string":"마력 +4%","option":{"magicPowerRate":4}},"23":{"string":"마력 +4%","option":{"magicPowerRate":4}},"24":{"string":"마력 +4%","option":{"magicPowerRate":4}},"25":{"string":"마력 +4%","option":{"magicPowerRate":4}}}},"12053":{"optionType":11,"level":{"1":{"string":"방어력 +1%","option":{"armorRate":1}},"2":{"string":"방어력 +1%","option":{"armorRate":1}},"3":{"string":"방어력 +1%","option":{"armorRate":1}},"4":{"string":"방어력 +1%","option":{"armorRate":1}},"5":{"string":"방어력 +1%","option":{"armorRate":1}},"6":{"string":"방어력 +1%","option":{"armorRate":1}},"7":{"string":"방어력 +1%","option":{"armorRate":1}},"8":{"string":"방어력 +1%","option":{"armorRate":1}},"9":{"string":"방어력 +1%","option":{"armorRate":1}},"10":{"string":"방어력 +2%","option":{"armorRate":2}},"11":{"string":"방어력 +2%","option":{"armorRate":2}},"12":{"string":"방어력 +2%","option":{"armorRate":2}},"13":{"string":"방어력 +2%","option":{"armorRate":2}},"14":{"string":"방어력 +2%","option":{"armorRate":2}},"15":{"string":"방어력 +2%","option":{"armorRate":2}},"16":{"string":"방어력 +2%","option":{"armorRate":2}},"17":{"string":"방어력 +2%","option":{"armorRate":2}},"18":{"string":"방어력 +2%","option":{"armorRate":2}},"19":{"string":"방어력 +2%","option":{"armorRate":2}},"20":{"string":"방어력 +2%","option":{"armorRate":2}},"21":{"string":"방어력 +3%","option":{"armorRate":3}},"22":{"string":"방어력 +3%","option":{"armorRate":3}},"23":{"string":"방어력 +3%","option":{"armorRate":3}},"24":{"string":"방어력 +3%","option":{"armorRate":3}},"25":{"string":"방어력 +3%","option":{"armorRate":3}}}},"12054":{"optionType":11,"level":{"1":{"string":"방어력 +1%","option":{"armorRate":1}},"2":{"string":"방어력 +1%","option":{"armorRate":1}},"3":{"string":"방어력 +1%","option":{"armorRate":1}},"4":{"string":"방어력 +1%","option":{"armorRate":1}},"5":{"string":"방어력 +1%","option":{"armorRate":1}},"6":{"string":"방어력 +1%","option":{"armorRate":1}},"7":{"string":"방어력 +1%","option":{"armorRate":1}},"8":{"string":"방어력 +1%","option":{"armorRate":1}},"9":{"string":"방어력 +1%","option":{"armorRate":1}},"10":{"string":"방어력 +2%","option":{"armorRate":2}},"11":{"string":"방어력 +2%","option":{"armorRate":2}},"12":{"string":"방어력 +2%","option":{"armorRate":2}},"13":{"string":"방어력 +2%","option":{"armorRate":2}},"14":{"string":"방어력 +2%","option":{"armorRate":2}},"15":{"string":"방어력 +2%","option":{"armorRate":2}},"16":{"string":"방어력 +2%","option":{"armorRate":2}},"17":{"string":"방어력 +2%","option":{"armorRate":2}},"18":{"string":"방어력 +2%","option":{"armorRate":2}},"19":{"string":"방어력 +2%","option":{"armorRate":2}},"20":{"string":"방어력 +2%","option":{"armorRate":2}},"21":{"string":"방어력 +2%","option":{"armorRate":2}},"22":{"string":"방어력 +2%","option":{"armorRate":2}},"23":{"string":"방어력 +2%","option":{"armorRate":2}},"24":{"string":"방어력 +2%","option":{"armorRate":2}},"25":{"string":"방어력 +2%","option":{"armorRate":2}}}},"12055":{"optionType":10,"level":{"1":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"2":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"3":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"4":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"5":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"6":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"7":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"8":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"9":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"10":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"11":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"12":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"13":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"14":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"15":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"16":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"17":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"18":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"19":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"20":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"21":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"22":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"23":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"24":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}},"25":{"string":"크리티컬 확률 +5%","option":{"criticalRate":5}}}},"12070":{"optionType":10,"level":{"1":{"string":"데미지 +1%","option":{"damage":1}},"2":{"string":"데미지 +1%","option":{"damage":1}},"3":{"string":"데미지 +1%","option":{"damage":1}},"4":{"string":"데미지 +2%","option":{"damage":2}},"5":{"string":"데미지 +2%","option":{"damage":2}},"6":{"string":"데미지 +2%","option":{"damage":2}},"7":{"string":"데미지 +2%","option":{"damage":2}},"8":{"string":"데미지 +3%","option":{"damage":3}},"9":{"string":"데미지 +3%","option":{"damage":3}},"10":{"string":"데미지 +3%","option":{"damage":3}},"11":{"string":"데미지 +3%","option":{"damage":3}},"12":{"string":"데미지 +3%","option":{"damage":3}},"13":{"string":"데미지 +3%","option":{"damage":3}},"14":{"string":"데미지 +3%","option":{"damage":3}},"15":{"string":"데미지 +3%","option":{"damage":3}},"16":{"string":"데미지 +3%","option":{"damage":3}},"17":{"string":"데미지 +3%","option":{"damage":3}},"18":{"string":"데미지 +3%","option":{"damage":3}},"19":{"string":"데미지 +3%","option":{"damage":3}},"20":{"string":"데미지 +3%","option":{"damage":3}},"21":{"string":"데미지 +4%","option":{"damage":4}},"22":{"string":"데미지 +4%","option":{"damage":4}},"23":{"string":"데미지 +4%","option":{"damage":4}},"24":{"string":"데미지 +4%","option":{"damage":4}},"25":{"string":"데미지 +4%","option":{"damage":4}}}},"12081":{"optionType":11,"level":{"1":{"string":"올스탯 +1","option":{"str":1,"dex":1,"int":1,"luk":1}},"2":{"string":"올스탯 +1","option":{"str":1,"dex":1,"int":1,"luk":1}},"3":{"string":"올스탯 +1","option":{"str":1,"dex":1,"int":1,"luk":1}},"4":{"string":"올스탯 +1","option":{"str":1,"dex":1,"int":1,"luk":1}},"5":{"string":"올스탯 +1","option":{"str":1,"dex":1,"int":1,"luk":1}},"6":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"7":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"8":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"9":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"10":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"11":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"12":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"13":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"14":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"15":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"16":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"17":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"18":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"19":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"20":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"21":{"string":"올스탯 +4","option":{"str":4,"dex":4,"int":4,"luk":4}},"22":{"string":"올스탯 +4","option":{"str":4,"dex":4,"int":4,"luk":4}},"23":{"string":"올스탯 +4","option":{"str":4,"dex":4,"int":4,"luk":4}},"24":{"string":"올스탯 +4","option":{"str":4,"dex":4,"int":4,"luk":4}},"25":{"string":"올스탯 +4","option":{"str":4,"dex":4,"int":4,"luk":4}}}},"12082":{"optionType":10,"level":{"1":{"string":"올스탯 +1","option":{"str":1,"dex":1,"int":1,"luk":1}},"2":{"string":"올스탯 +1","option":{"str":1,"dex":1,"int":1,"luk":1}},"3":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"4":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"5":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"6":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"7":{"string":"올스탯 +4","option":{"str":4,"dex":4,"int":4,"luk":4}},"8":{"string":"올스탯 +4","option":{"str":4,"dex":4,"int":4,"luk":4}},"9":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"10":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"11":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"12":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"13":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"14":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"15":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"16":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"17":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"18":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"19":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"20":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"21":{"string":"올스탯 +6","option":{"str":6,"dex":6,"int":6,"luk":6}},"22":{"string":"올스탯 +6","option":{"str":6,"dex":6,"int":6,"luk":6}},"23":{"string":"올스탯 +6","option":{"str":6,"dex":6,"int":6,"luk":6}},"24":{"string":"올스탯 +6","option":{"str":6,"dex":6,"int":6,"luk":6}},"25":{"string":"올스탯 +6","option":{"str":6,"dex":6,"int":6,"luk":6}}}},"12801":{"optionType":10,"level":{"1":{"string":"올스탯 +1","option":{"str":1,"dex":1,"int":1,"luk":1}},"2":{"string":"올스탯 +1","option":{"str":1,"dex":1,"int":1,"luk":1}},"3":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"4":{"string":"올스탯 +2","option":{"str":2,"dex":2,"int":2,"luk":2}},"5":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"6":{"string":"올스탯 +3","option":{"str":3,"dex":3,"int":3,"luk":3}},"7":{"string":"올스탯 +4","option":{"str":4,"dex":4,"int":4,"luk":4}},"8":{"string":"올스탯 +4","option":{"str":4,"dex":4,"int":4,"luk":4}},"9":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"10":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"11":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"12":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"13":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"14":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"15":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"16":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"17":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"18":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"19":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"20":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"21":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"22":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"23":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"24":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}},"25":{"string":"올스탯 +5","option":{"str":5,"dex":5,"int":5,"luk":5}}}},"20001":{"level":{"1":{"string":"STR +4","option":{"str":4}},"2":{"string":"STR +4","option":{"str":4}},"3":{"string":"STR +6","option":{"str":6}},"4":{"string":"STR +6","option":{"str":6}},"5":{"string":"STR +8","option":{"str":8}},"6":{"string":"STR +10","option":{"str":10}},"7":{"string":"STR +10","option":{"str":10}},"8":{"string":"STR +12","option":{"str":12}},"9":{"string":"STR +12","option":{"str":12}},"10":{"string":"STR +14","option":{"str":14}},"11":{"string":"STR +14","option":{"str":14}},"12":{"string":"STR +14","option":{"str":14}},"13":{"string":"STR +14","option":{"str":14}},"14":{"string":"STR +14","option":{"str":14}},"15":{"string":"STR +14","option":{"str":14}},"16":{"string":"STR +14","option":{"str":14}},"17":{"string":"STR +14","option":{"str":14}},"18":{"string":"STR +14","option":{"str":14}},"19":{"string":"STR +14","option":{"str":14}},"20":{"string":"STR +14","option":{"str":14}},"21":{"string":"STR +14","option":{"str":14}},"22":{"string":"STR +14","option":{"str":14}},"23":{"string":"STR +14","option":{"str":14}},"24":{"string":"STR +14","option":{"str":14}},"25":{"string":"STR +14","option":{"str":14}}}},"20002":{"level":{"1":{"string":"DEX +4","option":{"dex":4}},"2":{"string":"DEX +4","option":{"dex":4}},"3":{"string":"DEX +6","option":{"dex":6}},"4":{"string":"DEX +6","option":{"dex":6}},"5":{"string":"DEX +8","option":{"dex":8}},"6":{"string":"DEX +10","option":{"dex":10}},"7":{"string":"DEX +10","option":{"dex":10}},"8":{"string":"DEX +12","option":{"dex":12}},"9":{"string":"DEX +12","option":{"dex":12}},"10":{"string":"DEX +14","option":{"dex":14}},"11":{"string":"DEX +14","option":{"dex":14}},"12":{"string":"DEX +14","option":{"dex":14}},"13":{"string":"DEX +14","option":{"dex":14}},"14":{"string":"DEX +14","option":{"dex":14}},"15":{"string":"DEX +14","option":{"dex":14}},"16":{"string":"DEX +14","option":{"dex":14}},"17":{"string":"DEX +14","option":{"dex":14}},"18":{"string":"DEX +14","option":{"dex":14}},"19":{"string":"DEX +14","option":{"dex":14}},"20":{"string":"DEX +14","option":{"dex":14}},"21":{"string":"DEX +14","option":{"dex":14}},"22":{"string":"DEX +14","option":{"dex":14}},"23":{"string":"DEX +14","option":{"dex":14}},"24":{"string":"DEX +14","option":{"dex":14}},"25":{"string":"DEX +14","option":{"dex":14}}}},"20003":{"level":{"1":{"string":"INT +4","option":{"int":4}},"2":{"string":"INT +4","option":{"int":4}},"3":{"string":"INT +6","option":{"int":6}},"4":{"string":"INT +6","option":{"int":6}},"5":{"string":"INT +8","option":{"int":8}},"6":{"string":"INT +10","option":{"int":10}},"7":{"string":"INT +10","option":{"int":10}},"8":{"string":"INT +12","option":{"int":12}},"9":{"string":"INT +12","option":{"int":12}},"10":{"string":"INT +14","option":{"int":14}},"11":{"string":"INT +14","option":{"int":14}},"12":{"string":"INT +14","option":{"int":14}},"13":{"string":"INT +14","option":{"int":14}},"14":{"string":"INT +14","option":{"int":14}},"15":{"string":"INT +14","option":{"int":14}},"16":{"string":"INT +14","option":{"int":14}},"17":{"string":"INT +14","option":{"int":14}},"18":{"string":"INT +14","option":{"int":14}},"19":{"string":"INT +14","option":{"int":14}},"20":{"string":"INT +14","option":{"int":14}},"21":{"string":"INT +14","option":{"int":14}},"22":{"string":"INT +14","option":{"int":14}},"23":{"string":"INT +14","option":{"int":14}},"24":{"string":"INT +14","option":{"int":14}},"25":{"string":"INT +14","option":{"int":14}}}},"20004":{"level":{"1":{"string":"LUK +4","option":{"luk":4}},"2":{"string":"LUK +4","option":{"luk":4}},"3":{"string":"LUK +6","option":{"luk":6}},"4":{"string":"LUK +6","option":{"luk":6}},"5":{"string":"LUK +8","option":{"luk":8}},"6":{"string":"LUK +10","option":{"luk":10}},"7":{"string":"LUK +10","option":{"luk":10}},"8":{"string":"LUK +12","option":{"luk":12}},"9":{"string":"LUK +12","option":{"luk":12}},"10":{"string":"LUK +14","option":{"luk":14}},"11":{"string":"LUK +14","option":{"luk":14}},"12":{"string":"LUK +14","option":{"luk":14}},"13":{"string":"LUK +14","option":{"luk":14}},"14":{"string":"LUK +14","option":{"luk":14}},"15":{"string":"LUK +14","option":{"luk":14}},"16":{"string":"LUK +14","option":{"luk":14}},"17":{"string":"LUK +14","option":{"luk":14}},"18":{"string":"LUK +14","option":{"luk":14}},"19":{"string":"LUK +14","option":{"luk":14}},"20":{"string":"LUK +14","option":{"luk":14}},"21":{"string":"LUK +14","option":{"luk":14}},"22":{"string":"LUK +14","option":{"luk":14}},"23":{"string":"LUK +14","option":{"luk":14}},"24":{"string":"LUK +14","option":{"luk":14}},"25":{"string":"LUK +14","option":{"luk":14}}}},"20005":{"level":{"1":{"string":"최대 HP +15","option":{"maxHp":15}},"2":{"string":"최대 HP +30","option":{"maxHp":30}},"3":{"string":"최대 HP +45","option":{"maxHp":45}},"4":{"string":"최대 HP +60","option":{"maxHp":60}},"5":{"string":"최대 HP +75","option":{"maxHp":75}},"6":{"string":"최대 HP +90","option":{"maxHp":90}},"7":{"string":"최대 HP +105","option":{"maxHp":105}},"8":{"string":"최대 HP +120","option":{"maxHp":120}},"9":{"string":"최대 HP +135","option":{"maxHp":135}},"10":{"string":"최대 HP +150","option":{"maxHp":150}},"11":{"string":"최대 HP +165","option":{"maxHp":165}},"12":{"string":"최대 HP +180","option":{"maxHp":180}},"13":{"string":"최대 HP +180","option":{"maxHp":180}},"14":{"string":"최대 HP +180","option":{"maxHp":180}},"15":{"string":"최대 HP +180","option":{"maxHp":180}},"16":{"string":"최대 HP +180","option":{"maxHp":180}},"17":{"string":"최대 HP +180","option":{"maxHp":180}},"18":{"string":"최대 HP +180","option":{"maxHp":180}},"19":{"string":"최대 HP +180","option":{"maxHp":180}},"20":{"string":"최대 HP +180","option":{"maxHp":180}},"21":{"string":"최대 HP +180","option":{"maxHp":180}},"22":{"string":"최대 HP +180","option":{"maxHp":180}},"23":{"string":"최대 HP +180","option":{"maxHp":180}},"24":{"string":"최대 HP +180","option":{"maxHp":180}},"25":{"string":"최대 HP +180","option":{"maxHp":180}}}},"20006":{"level":{"1":{"string":"최대 MP +15","option":{"maxMp":15}},"2":{"string":"최대 MP +30","option":{"maxMp":30}},"3":{"string":"최대 MP +45","option":{"maxMp":45}},"4":{"string":"최대 MP +60","option":{"maxMp":60}},"5":{"string":"최대 MP +75","option":{"maxMp":75}},"6":{"string":"최대 MP +90","option":{"maxMp":90}},"7":{"string":"최대 MP +105","option":{"maxMp":105}},"8":{"string":"최대 MP +120","option":{"maxMp":120}},"9":{"string":"최대 MP +135","option":{"maxMp":135}},"10":{"string":"최대 MP +150","option":{"maxMp":150}},"11":{"string":"최대 MP +165","option":{"maxMp":165}},"12":{"string":"최대 MP +180","option":{"maxMp":180}},"13":{"string":"최대 MP +180","option":{"maxMp":180}},"14":{"string":"최대 MP +180","option":{"maxMp":180}},"15":{"string":"최대 MP +180","option":{"maxMp":180}},"16":{"string":"최대 MP +180","option":{"maxMp":180}},"17":{"string":"최대 MP +180","option":{"maxMp":180}},"18":{"string":"최대 MP +180","option":{"maxMp":180}},"19":{"string":"최대 MP +180","option":{"maxMp":180}},"20":{"string":"최대 MP +180","option":{"maxMp":180}},"21":{"string":"최대 MP +180","option":{"maxMp":180}},"22":{"string":"최대 MP +180","option":{"maxMp":180}},"23":{"string":"최대 MP +180","option":{"maxMp":180}},"24":{"string":"최대 MP +180","option":{"maxMp":180}},"25":{"string":"최대 MP +180","option":{"maxMp":180}}}},"20007":{"level":{"1":{"string":"최대 HP +15","option":{"maxHp":15}},"2":{"string":"최대 HP +30","option":{"maxHp":30}},"3":{"string":"최대 HP +45","option":{"maxHp":45}},"4":{"string":"최대 HP +60","option":{"maxHp":60}},"5":{"string":"최대 HP +75","option":{"maxHp":75}},"6":{"string":"최대 HP +90","option":{"maxHp":90}},"7":{"string":"최대 HP +105","option":{"maxHp":105}},"8":{"string":"최대 HP +120","option":{"maxHp":120}},"9":{"string":"최대 HP +135","option":{"maxHp":135}},"10":{"string":"최대 HP +150","option":{"maxHp":150}},"11":{"string":"최대 HP +165","option":{"maxHp":165}},"12":{"string":"최대 HP +180","option":{"maxHp":180}},"13":{"string":"최대 HP +180","option":{"maxHp":180}},"14":{"string":"최대 HP +180","option":{"maxHp":180}},"15":{"string":"최대 HP +180","option":{"maxHp":180}},"16":{"string":"최대 HP +180","option":{"maxHp":180}},"17":{"string":"최대 HP +180","option":{"maxHp":180}},"18":{"string":"최대 HP +180","option":{"maxHp":180}},"19":{"string":"최대 HP +180","option":{"maxHp":180}},"20":{"string":"최대 HP +180","option":{"maxHp":180}},"21":{"string":"최대 HP +180","option":{"maxHp":180}},"22":{"string":"최대 HP +180","option":{"maxHp":180}},"23":{"string":"최대 HP +180","option":{"maxHp":180}},"24":{"string":"최대 HP +180","option":{"maxHp":180}},"25":{"string":"최대 HP +180","option":{"maxHp":180}}}},"20008":{"level":{"1":{"string":"최대 MP +15","option":{"maxMp":15}},"2":{"string":"최대 MP +30","option":{"maxMp":30}},"3":{"string":"최대 MP +45","option":{"maxMp":45}},"4":{"string":"최대 MP +60","option":{"maxMp":60}},"5":{"string":"최대 MP +75","option":{"maxMp":75}},"6":{"string":"최대 MP +90","option":{"maxMp":90}},"7":{"string":"최대 MP +105","option":{"maxMp":105}},"8":{"string":"최대 MP +120","option":{"maxMp":120}},"9":{"string":"최대 MP +135","option":{"maxMp":135}},"10":{"string":"최대 MP +150","option":{"maxMp":150}},"11":{"string":"최대 MP +165","option":{"maxMp":165}},"12":{"string":"최대 MP +180","option":{"maxMp":180}},"13":{"string":"최대 MP +180","option":{"maxMp":180}},"14":{"string":"최대 MP +180","option":{"maxMp":180}},"15":{"string":"최대 MP +180","option":{"maxMp":180}},"16":{"string":"최대 MP +180","option":{"maxMp":180}},"17":{"string":"최대 MP +180","option":{"maxMp":180}},"18":{"string":"최대 MP +180","option":{"maxMp":180}},"19":{"string":"최대 MP +180","option":{"maxMp":180}},"20":{"string":"최대 MP +180","option":{"maxMp":180}},"21":{"string":"최대 MP +180","option":{"maxMp":180}},"22":{"string":"최대 MP +180","option":{"maxMp":180}},"23":{"string":"최대 MP +180","option":{"maxMp":180}},"24":{"string":"최대 MP +180","option":{"maxMp":180}},"25":{"string":"최대 MP +180","option":{"maxMp":180}}}},"20009":{"optionType":55,"level":{"1":{"string":"이동속도 +4","option":{"speed":4}},"2":{"string":"이동속도 +4","option":{"speed":4}},"3":{"string":"이동속도 +4","option":{"speed":4}},"4":{"string":"이동속도 +6","option":{"speed":6}},"5":{"string":"이동속도 +6","option":{"speed":6}},"6":{"string":"이동속도 +6","option":{"speed":6}},"7":{"string":"이동속도 +6","option":{"speed":6}},"8":{"string":"이동속도 +8","option":{"speed":8}},"9":{"string":"이동속도 +8","option":{"speed":8}},"10":{"string":"이동속도 +8","option":{"speed":8}},"11":{"string":"이동속도 +8","option":{"speed":8}},"12":{"string":"이동속도 +10","option":{"speed":10}},"13":{"string":"이동속도 +10","option":{"speed":10}},"14":{"string":"이동속도 +10","option":{"speed":10}},"15":{"string":"이동속도 +10","option":{"speed":10}},"16":{"string":"이동속도 +10","option":{"speed":10}},"17":{"string":"이동속도 +10","option":{"speed":10}},"18":{"string":"이동속도 +10","option":{"speed":10}},"19":{"string":"이동속도 +10","option":{"speed":10}},"20":{"string":"이동속도 +10","option":{"speed":10}},"21":{"string":"이동속도 +10","option":{"speed":10}},"22":{"string":"이동속도 +10","option":{"speed":10}},"23":{"string":"이동속도 +10","option":{"speed":10}},"24":{"string":"이동속도 +10","option":{"speed":10}},"25":{"string":"이동속도 +10","option":{"speed":10}}}},"20010":{"optionType":55,"level":{"1":{"string":"점프력 +4","option":{"jump":4}},"2":{"string":"점프력 +4","option":{"jump":4}},"3":{"string":"점프력 +4","option":{"jump":4}},"4":{"string":"점프력 +6","option":{"jump":6}},"5":{"string":"점프력 +6","option":{"jump":6}},"6":{"string":"점프력 +6","option":{"jump":6}},"7":{"string":"점프력 +6","option":{"jump":6}},"8":{"string":"점프력 +8","option":{"jump":8}},"9":{"string":"점프력 +8","option":{"jump":8}},"10":{"string":"점프력 +8","option":{"jump":8}},"11":{"string":"점프력 +8","option":{"jump":8}},"12":{"string":"점프력 +10","option":{"jump":10}},"13":{"string":"점프력 +10","option":{"jump":10}},"14":{"string":"점프력 +10","option":{"jump":10}},"15":{"string":"점프력 +10","option":{"jump":10}},"16":{"string":"점프력 +10","option":{"jump":10}},"17":{"string":"점프력 +10","option":{"jump":10}},"18":{"string":"점프력 +10","option":{"jump":10}},"19":{"string":"점프력 +10","option":{"jump":10}},"20":{"string":"점프력 +10","option":{"jump":10}},"21":{"string":"점프력 +10","option":{"jump":10}},"22":{"string":"점프력 +10","option":{"jump":10}},"23":{"string":"점프력 +10","option":{"jump":10}},"24":{"string":"점프력 +10","option":{"jump":10}},"25":{"string":"점프력 +10","option":{"jump":10}}}},"20011":{"optionType":10,"level":{"1":{"string":"공격력 +4","option":{"attackPower":4}},"2":{"string":"공격력 +4","option":{"attackPower":4}},"3":{"string":"공격력 +6","option":{"attackPower":6}},"4":{"string":"공격력 +6","option":{"attackPower":6}},"5":{"string":"공격력 +8","option":{"attackPower":8}},"6":{"string":"공격력 +8","option":{"attackPower":8}},"7":{"string":"공격력 +10","option":{"attackPower":10}},"8":{"string":"공격력 +10","option":{"attackPower":10}},"9":{"string":"공격력 +12","option":{"attackPower":12}},"10":{"string":"공격력 +14","option":{"attackPower":14}},"11":{"string":"공격력 +14","option":{"attackPower":14}},"12":{"string":"공격력 +14","option":{"attackPower":14}},"13":{"string":"공격력 +14","option":{"attackPower":14}},"14":{"string":"공격력 +14","option":{"attackPower":14}},"15":{"string":"공격력 +14","option":{"attackPower":14}},"16":{"string":"공격력 +14","option":{"attackPower":14}},"17":{"string":"공격력 +14","option":{"attackPower":14}},"18":{"string":"공격력 +14","option":{"attackPower":14}},"19":{"string":"공격력 +14","option":{"attackPower":14}},"20":{"string":"공격력 +14","option":{"attackPower":14}},"21":{"string":"공격력 +14","option":{"attackPower":14}},"22":{"string":"공격력 +14","option":{"attackPower":14}},"23":{"string":"공격력 +14","option":{"attackPower":14}},"24":{"string":"공격력 +14","option":{"attackPower":14}},"25":{"string":"공격력 +14","option":{"attackPower":14}}}},"20012":{"optionType":10,"level":{"1":{"string":"마력 +4","option":{"magicPower":4}},"2":{"string":"마력 +4","option":{"magicPower":4}},"3":{"string":"마력 +6","option":{"magicPower":6}},"4":{"string":"마력 +6","option":{"magicPower":6}},"5":{"string":"마력 +8","option":{"magicPower":8}},"6":{"string":"마력 +8","option":{"magicPower":8}},"7":{"string":"마력 +10","option":{"magicPower":10}},"8":{"string":"마력 +10","option":{"magicPower":10}},"9":{"string":"마력 +12","option":{"magicPower":12}},"10":{"string":"마력 +14","option":{"magicPower":14}},"11":{"string":"마력 +14","option":{"magicPower":14}},"12":{"string":"마력 +14","option":{"magicPower":14}},"13":{"string":"마력 +14","option":{"magicPower":14}},"14":{"string":"마력 +14","option":{"magicPower":14}},"15":{"string":"마력 +14","option":{"magicPower":14}},"16":{"string":"마력 +14","option":{"magicPower":14}},"17":{"string":"마력 +14","option":{"magicPower":14}},"18":{"string":"마력 +14","option":{"magicPower":14}},"19":{"string":"마력 +14","option":{"magicPower":14}},"20":{"string":"마력 +14","option":{"magicPower":14}},"21":{"string":"마력 +14","option":{"magicPower":14}},"22":{"string":"마력 +14","option":{"magicPower":14}},"23":{"string":"마력 +14","option":{"magicPower":14}},"24":{"string":"마력 +14","option":{"magicPower":14}},"25":{"string":"마력 +14","option":{"magicPower":14}}}},"20013":{"optionType":11,"level":{"1":{"string":"방어력 +15","option":{"armor":15}},"2":{"string":"방어력 +30","option":{"armor":30}},"3":{"string":"방어력 +45","option":{"armor":45}},"4":{"string":"방어력 +60","option":{"armor":60}},"5":{"string":"방어력 +75","option":{"armor":75}},"6":{"string":"방어력 +90","option":{"armor":90}},"7":{"string":"방어력 +105","option":{"armor":105}},"8":{"string":"방어력 +120","option":{"armor":120}},"9":{"string":"방어력 +135","option":{"armor":135}},"10":{"string":"방어력 +150","option":{"armor":150}},"11":{"string":"방어력 +165","option":{"armor":165}},"12":{"string":"방어력 +180","option":{"armor":180}},"13":{"string":"방어력 +180","option":{"armor":180}},"14":{"string":"방어력 +180","option":{"armor":180}},"15":{"string":"방어력 +180","option":{"armor":180}},"16":{"string":"방어력 +180","option":{"armor":180}},"17":{"string":"방어력 +180","option":{"armor":180}},"18":{"string":"방어력 +180","option":{"armor":180}},"19":{"string":"방어력 +180","option":{"armor":180}},"20":{"string":"방어력 +180","option":{"armor":180}},"21":{"string":"방어력 +180","option":{"armor":180}},"22":{"string":"방어력 +180","option":{"armor":180}},"23":{"string":"방어력 +180","option":{"armor":180}},"24":{"string":"방어력 +180","option":{"armor":180}},"25":{"string":"방어력 +180","option":{"armor":180}}}},"20014":{"optionType":11,"level":{"1":{"string":"방어력 +15","option":{"armor":15}},"2":{"string":"방어력 +30","option":{"armor":30}},"3":{"string":"방어력 +45","option":{"armor":45}},"4":{"string":"방어력 +60","option":{"armor":60}},"5":{"string":"방어력 +75","option":{"armor":75}},"6":{"string":"방어력 +90","option":{"armor":90}},"7":{"string":"방어력 +105","option":{"armor":105}},"8":{"string":"방어력 +120","option":{"armor":120}},"9":{"string":"방어력 +135","option":{"armor":135}},"10":{"string":"방어력 +150","option":{"armor":150}},"11":{"string":"방어력 +165","option":{"armor":165}},"12":{"string":"방어력 +180","option":{"armor":180}},"13":{"string":"방어력 +180","option":{"armor":180}},"14":{"string":"방어력 +180","option":{"armor":180}},"15":{"string":"방어력 +180","option":{"armor":180}},"16":{"string":"방어력 +180","option":{"armor":180}},"17":{"string":"방어력 +180","option":{"armor":180}},"18":{"string":"방어력 +180","option":{"armor":180}},"19":{"string":"방어력 +180","option":{"armor":180}},"20":{"string":"방어력 +180","option":{"armor":180}},"21":{"string":"방어력 +180","option":{"armor":180}},"22":{"string":"방어력 +180","option":{"armor":180}},"23":{"string":"방어력 +180","option":{"armor":180}},"24":{"string":"방어력 +180","option":{"armor":180}},"25":{"string":"방어력 +180","option":{"armor":180}}}},"20041":{"level":{"1":{"string":"STR +2%","option":{"strRate":2}},"2":{"string":"STR +2%","option":{"strRate":2}},"3":{"string":"STR +2%","option":{"strRate":2}},"4":{"string":"STR +4%","option":{"strRate":4}},"5":{"string":"STR +4%","option":{"strRate":4}},"6":{"string":"STR +4%","option":{"strRate":4}},"7":{"string":"STR +4%","option":{"strRate":4}},"8":{"string":"STR +6%","option":{"strRate":6}},"9":{"string":"STR +6%","option":{"strRate":6}},"10":{"string":"STR +6%","option":{"strRate":6}},"11":{"string":"STR +6%","option":{"strRate":6}},"12":{"string":"STR +6%","option":{"strRate":6}},"13":{"string":"STR +6%","option":{"strRate":6}},"14":{"string":"STR +6%","option":{"strRate":6}},"15":{"string":"STR +6%","option":{"strRate":6}},"16":{"string":"STR +6%","option":{"strRate":6}},"17":{"string":"STR +6%","option":{"strRate":6}},"18":{"string":"STR +6%","option":{"strRate":6}},"19":{"string":"STR +6%","option":{"strRate":6}},"20":{"string":"STR +6%","option":{"strRate":6}},"21":{"string":"STR +7%","option":{"strRate":7}},"22":{"string":"STR +7%","option":{"strRate":7}},"23":{"string":"STR +7%","option":{"strRate":7}},"24":{"string":"STR +7%","option":{"strRate":7}},"25":{"string":"STR +7%","option":{"strRate":7}}}},"20042":{"level":{"1":{"string":"DEX +2%","option":{"dexRate":2}},"2":{"string":"DEX +2%","option":{"dexRate":2}},"3":{"string":"DEX +2%","option":{"dexRate":2}},"4":{"string":"DEX +4%","option":{"dexRate":4}},"5":{"string":"DEX +4%","option":{"dexRate":4}},"6":{"string":"DEX +4%","option":{"dexRate":4}},"7":{"string":"DEX +4%","option":{"dexRate":4}},"8":{"string":"DEX +6%","option":{"dexRate":6}},"9":{"string":"DEX +6%","option":{"dexRate":6}},"10":{"string":"DEX +6%","option":{"dexRate":6}},"11":{"string":"DEX +6%","option":{"dexRate":6}},"12":{"string":"DEX +6%","option":{"dexRate":6}},"13":{"string":"DEX +6%","option":{"dexRate":6}},"14":{"string":"DEX +6%","option":{"dexRate":6}},"15":{"string":"DEX +6%","option":{"dexRate":6}},"16":{"string":"DEX +6%","option":{"dexRate":6}},"17":{"string":"DEX +6%","option":{"dexRate":6}},"18":{"string":"DEX +6%","option":{"dexRate":6}},"19":{"string":"DEX +6%","option":{"dexRate":6}},"20":{"string":"DEX +6%","option":{"dexRate":6}},"21":{"string":"DEX +7%","option":{"dexRate":7}},"22":{"string":"DEX +7%","option":{"dexRate":7}},"23":{"string":"DEX +7%","option":{"dexRate":7}},"24":{"string":"DEX +7%","option":{"dexRate":7}},"25":{"string":"DEX +7%","option":{"dexRate":7}}}},"20043":{"level":{"1":{"string":"INT +2%","option":{"intRate":2}},"2":{"string":"INT +2%","option":{"intRate":2}},"3":{"string":"INT +2%","option":{"intRate":2}},"4":{"string":"INT +4%","option":{"intRate":4}},"5":{"string":"INT +4%","option":{"intRate":4}},"6":{"string":"INT +4%","option":{"intRate":4}},"7":{"string":"INT +4%","option":{"intRate":4}},"8":{"string":"INT +6%","option":{"intRate":6}},"9":{"string":"INT +6%","option":{"intRate":6}},"10":{"string":"INT +6%","option":{"intRate":6}},"11":{"string":"INT +6%","option":{"intRate":6}},"12":{"string":"INT +6%","option":{"intRate":6}},"13":{"string":"INT +6%","option":{"intRate":6}},"14":{"string":"INT +6%","option":{"intRate":6}},"15":{"string":"INT +6%","option":{"intRate":6}},"16":{"string":"INT +6%","option":{"intRate":6}},"17":{"string":"INT +6%","option":{"intRate":6}},"18":{"string":"INT +6%","option":{"intRate":6}},"19":{"string":"INT +6%","option":{"intRate":6}},"20":{"string":"INT +6%","option":{"intRate":6}},"21":{"string":"INT +7%","option":{"intRate":7}},"22":{"string":"INT +7%","option":{"intRate":7}},"23":{"string":"INT +7%","option":{"intRate":7}},"24":{"string":"INT +7%","option":{"intRate":7}},"25":{"string":"INT +7%","option":{"intRate":7}}}},"20044":{"level":{"1":{"string":"LUK +2%","option":{"lukRate":2}},"2":{"string":"LUK +2%","option":{"lukRate":2}},"3":{"string":"LUK +2%","option":{"lukRate":2}},"4":{"string":"LUK +4%","option":{"lukRate":4}},"5":{"string":"LUK +4%","option":{"lukRate":4}},"6":{"string":"LUK +4%","option":{"lukRate":4}},"7":{"string":"LUK +4%","option":{"lukRate":4}},"8":{"string":"LUK +6%","option":{"lukRate":6}},"9":{"string":"LUK +6%","option":{"lukRate":6}},"10":{"string":"LUK +6%","option":{"lukRate":6}},"11":{"string":"LUK +6%","option":{"lukRate":6}},"12":{"string":"LUK +6%","option":{"lukRate":6}},"13":{"string":"LUK +6%","option":{"lukRate":6}},"14":{"string":"LUK +6%","option":{"lukRate":6}},"15":{"string":"LUK +6%","option":{"lukRate":6}},"16":{"string":"LUK +6%","option":{"lukRate":6}},"17":{"string":"LUK +6%","option":{"lukRate":6}},"18":{"string":"LUK +6%","option":{"lukRate":6}},"19":{"string":"LUK +6%","option":{"lukRate":6}},"20":{"string":"LUK +6%","option":{"lukRate":6}},"21":{"string":"LUK +7%","option":{"lukRate":7}},"22":{"string":"LUK +7%","option":{"lukRate":7}},"23":{"string":"LUK +7%","option":{"lukRate":7}},"24":{"string":"LUK +7%","option":{"lukRate":7}},"25":{"string":"LUK +7%","option":{"lukRate":7}}}},"20045":{"level":{"1":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"2":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"3":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"4":{"string":"최대 HP +4%","option":{"maxHpRate":4}},"5":{"string":"최대 HP +4%","option":{"maxHpRate":4}},"6":{"string":"최대 HP +4%","option":{"maxHpRate":4}},"7":{"string":"최대 HP +4%","option":{"maxHpRate":4}},"8":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"9":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"10":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"11":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"12":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"13":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"14":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"15":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"16":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"17":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"18":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"19":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"20":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"21":{"string":"최대 HP +7%","option":{"maxHpRate":7}},"22":{"string":"최대 HP +7%","option":{"maxHpRate":7}},"23":{"string":"최대 HP +7%","option":{"maxHpRate":7}},"24":{"string":"최대 HP +7%","option":{"maxHpRate":7}},"25":{"string":"최대 HP +7%","option":{"maxHpRate":7}}}},"20046":{"level":{"1":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"2":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"3":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"4":{"string":"최대 MP +4%","option":{"maxMpRate":4}},"5":{"string":"최대 MP +4%","option":{"maxMpRate":4}},"6":{"string":"최대 MP +4%","option":{"maxMpRate":4}},"7":{"string":"최대 MP +4%","option":{"maxMpRate":4}},"8":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"9":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"10":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"11":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"12":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"13":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"14":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"15":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"16":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"17":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"18":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"19":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"20":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"21":{"string":"최대 MP +7%","option":{"maxMpRate":7}},"22":{"string":"최대 MP +7%","option":{"maxMpRate":7}},"23":{"string":"최대 MP +7%","option":{"maxMpRate":7}},"24":{"string":"최대 MP +7%","option":{"maxMpRate":7}},"25":{"string":"최대 MP +7%","option":{"maxMpRate":7}}}},"20047":{"level":{"1":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"2":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"3":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"4":{"string":"최대 HP +4%","option":{"maxHpRate":4}},"5":{"string":"최대 HP +4%","option":{"maxHpRate":4}},"6":{"string":"최대 HP +4%","option":{"maxHpRate":4}},"7":{"string":"최대 HP +4%","option":{"maxHpRate":4}},"8":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"9":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"10":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"11":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"12":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"13":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"14":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"15":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"16":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"17":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"18":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"19":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"20":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"21":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"22":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"23":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"24":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"25":{"string":"최대 HP +6%","option":{"maxHpRate":6}}}},"20048":{"level":{"1":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"2":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"3":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"4":{"string":"최대 MP +4%","option":{"maxMpRate":4}},"5":{"string":"최대 MP +4%","option":{"maxMpRate":4}},"6":{"string":"최대 MP +4%","option":{"maxMpRate":4}},"7":{"string":"최대 MP +4%","option":{"maxMpRate":4}},"8":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"9":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"10":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"11":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"12":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"13":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"14":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"15":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"16":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"17":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"18":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"19":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"20":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"21":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"22":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"23":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"24":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"25":{"string":"최대 MP +6%","option":{"maxMpRate":6}}}},"20051":{"optionType":10,"level":{"1":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"2":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"3":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"4":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"5":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"6":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"7":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"8":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"9":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"10":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"11":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"12":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"13":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"14":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"15":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"16":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"17":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"18":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"19":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"20":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"21":{"string":"공격력 +7%","option":{"attackPowerRate":7}},"22":{"string":"공격력 +7%","option":{"attackPowerRate":7}},"23":{"string":"공격력 +7%","option":{"attackPowerRate":7}},"24":{"string":"공격력 +7%","option":{"attackPowerRate":7}},"25":{"string":"공격력 +7%","option":{"attackPowerRate":7}}}},"20052":{"optionType":10,"level":{"1":{"string":"마력 +2%","option":{"magicPowerRate":2}},"2":{"string":"마력 +2%","option":{"magicPowerRate":2}},"3":{"string":"마력 +2%","option":{"magicPowerRate":2}},"4":{"string":"마력 +4%","option":{"magicPowerRate":4}},"5":{"string":"마력 +4%","option":{"magicPowerRate":4}},"6":{"string":"마력 +4%","option":{"magicPowerRate":4}},"7":{"string":"마력 +4%","option":{"magicPowerRate":4}},"8":{"string":"마력 +6%","option":{"magicPowerRate":6}},"9":{"string":"마력 +6%","option":{"magicPowerRate":6}},"10":{"string":"마력 +6%","option":{"magicPowerRate":6}},"11":{"string":"마력 +6%","option":{"magicPowerRate":6}},"12":{"string":"마력 +6%","option":{"magicPowerRate":6}},"13":{"string":"마력 +6%","option":{"magicPowerRate":6}},"14":{"string":"마력 +6%","option":{"magicPowerRate":6}},"15":{"string":"마력 +6%","option":{"magicPowerRate":6}},"16":{"string":"마력 +6%","option":{"magicPowerRate":6}},"17":{"string":"마력 +6%","option":{"magicPowerRate":6}},"18":{"string":"마력 +6%","option":{"magicPowerRate":6}},"19":{"string":"마력 +6%","option":{"magicPowerRate":6}},"20":{"string":"마력 +6%","option":{"magicPowerRate":6}},"21":{"string":"마력 +7%","option":{"magicPowerRate":7}},"22":{"string":"마력 +7%","option":{"magicPowerRate":7}},"23":{"string":"마력 +7%","option":{"magicPowerRate":7}},"24":{"string":"마력 +7%","option":{"magicPowerRate":7}},"25":{"string":"마력 +7%","option":{"magicPowerRate":7}}}},"20053":{"optionType":11,"level":{"1":{"string":"방어력 +2%","option":{"armorRate":2}},"2":{"string":"방어력 +2%","option":{"armorRate":2}},"3":{"string":"방어력 +2%","option":{"armorRate":2}},"4":{"string":"방어력 +4%","option":{"armorRate":4}},"5":{"string":"방어력 +4%","option":{"armorRate":4}},"6":{"string":"방어력 +4%","option":{"armorRate":4}},"7":{"string":"방어력 +4%","option":{"armorRate":4}},"8":{"string":"방어력 +6%","option":{"armorRate":6}},"9":{"string":"방어력 +6%","option":{"armorRate":6}},"10":{"string":"방어력 +6%","option":{"armorRate":6}},"11":{"string":"방어력 +6%","option":{"armorRate":6}},"12":{"string":"방어력 +6%","option":{"armorRate":6}},"13":{"string":"방어력 +6%","option":{"armorRate":6}},"14":{"string":"방어력 +6%","option":{"armorRate":6}},"15":{"string":"방어력 +6%","option":{"armorRate":6}},"16":{"string":"방어력 +6%","option":{"armorRate":6}},"17":{"string":"방어력 +6%","option":{"armorRate":6}},"18":{"string":"방어력 +6%","option":{"armorRate":6}},"19":{"string":"방어력 +6%","option":{"armorRate":6}},"20":{"string":"방어력 +6%","option":{"armorRate":6}},"21":{"string":"방어력 +7%","option":{"armorRate":7}},"22":{"string":"방어력 +7%","option":{"armorRate":7}},"23":{"string":"방어력 +7%","option":{"armorRate":7}},"24":{"string":"방어력 +7%","option":{"armorRate":7}},"25":{"string":"방어력 +7%","option":{"armorRate":7}}}},"20054":{"optionType":11,"level":{"1":{"string":"방어력 +2%","option":{"armorRate":2}},"2":{"string":"방어력 +2%","option":{"armorRate":2}},"3":{"string":"방어력 +2%","option":{"armorRate":2}},"4":{"string":"방어력 +4%","option":{"armorRate":4}},"5":{"string":"방어력 +4%","option":{"armorRate":4}},"6":{"string":"방어력 +4%","option":{"armorRate":4}},"7":{"string":"방어력 +4%","option":{"armorRate":4}},"8":{"string":"방어력 +6%","option":{"armorRate":6}},"9":{"string":"방어력 +6%","option":{"armorRate":6}},"10":{"string":"방어력 +6%","option":{"armorRate":6}},"11":{"string":"방어력 +6%","option":{"armorRate":6}},"12":{"string":"방어력 +6%","option":{"armorRate":6}},"13":{"string":"방어력 +6%","option":{"armorRate":6}},"14":{"string":"방어력 +6%","option":{"armorRate":6}},"15":{"string":"방어력 +6%","option":{"armorRate":6}},"16":{"string":"방어력 +6%","option":{"armorRate":6}},"17":{"string":"방어력 +6%","option":{"armorRate":6}},"18":{"string":"방어력 +6%","option":{"armorRate":6}},"19":{"string":"방어력 +6%","option":{"armorRate":6}},"20":{"string":"방어력 +6%","option":{"armorRate":6}},"21":{"string":"방어력 +6%","option":{"armorRate":6}},"22":{"string":"방어력 +6%","option":{"armorRate":6}},"23":{"string":"방어력 +6%","option":{"armorRate":6}},"24":{"string":"방어력 +6%","option":{"armorRate":6}},"25":{"string":"방어력 +6%","option":{"armorRate":6}}}},"20055":{"optionType":10,"level":{"1":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"2":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"3":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"4":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"5":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"6":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"7":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"8":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"9":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"10":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"11":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"12":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"13":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"14":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"15":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"16":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"17":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"18":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"19":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"20":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"21":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"22":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"23":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"24":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"25":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}}}},"20070":{"optionType":10,"level":{"1":{"string":"데미지 +2%","option":{"damage":2}},"2":{"string":"데미지 +2%","option":{"damage":2}},"3":{"string":"데미지 +2%","option":{"damage":2}},"4":{"string":"데미지 +4%","option":{"damage":4}},"5":{"string":"데미지 +4%","option":{"damage":4}},"6":{"string":"데미지 +4%","option":{"damage":4}},"7":{"string":"데미지 +4%","option":{"damage":4}},"8":{"string":"데미지 +6%","option":{"damage":6}},"9":{"string":"데미지 +6%","option":{"damage":6}},"10":{"string":"데미지 +6%","option":{"damage":6}},"11":{"string":"데미지 +6%","option":{"damage":6}},"12":{"string":"데미지 +6%","option":{"damage":6}},"13":{"string":"데미지 +6%","option":{"damage":6}},"14":{"string":"데미지 +6%","option":{"damage":6}},"15":{"string":"데미지 +6%","option":{"damage":6}},"16":{"string":"데미지 +6%","option":{"damage":6}},"17":{"string":"데미지 +6%","option":{"damage":6}},"18":{"string":"데미지 +6%","option":{"damage":6}},"19":{"string":"데미지 +6%","option":{"damage":6}},"20":{"string":"데미지 +6%","option":{"damage":6}},"21":{"string":"데미지 +7%","option":{"damage":7}},"22":{"string":"데미지 +7%","option":{"damage":7}},"23":{"string":"데미지 +7%","option":{"damage":7}},"24":{"string":"데미지 +7%","option":{"damage":7}},"25":{"string":"데미지 +7%","option":{"damage":7}}}},"20086":{"level":{"1":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"2":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"3":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"4":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"5":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"6":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"7":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"8":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"9":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"10":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"11":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"12":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"13":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"14":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"15":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"16":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"17":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"18":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"19":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"20":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"21":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"22":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"23":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"24":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"25":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}}}},"20201":{"optionType":10,"level":{"1":{"string":"공격 시 3% 확률로 20의 HP 회복","option":{}},"2":{"string":"공격 시 3% 확률로 23의 HP 회복","option":{}},"3":{"string":"공격 시 3% 확률로 26의 HP 회복","option":{}},"4":{"string":"공격 시 3% 확률로 29의 HP 회복","option":{}},"5":{"string":"공격 시 3% 확률로 32의 HP 회복","option":{}},"6":{"string":"공격 시 3% 확률로 35의 HP 회복","option":{}},"7":{"string":"공격 시 3% 확률로 38의 HP 회복","option":{}},"8":{"string":"공격 시 3% 확률로 41의 HP 회복","option":{}},"9":{"string":"공격 시 3% 확률로 44의 HP 회복","option":{}},"10":{"string":"공격 시 3% 확률로 47의 HP 회복","option":{}},"11":{"string":"공격 시 3% 확률로 50의 HP 회복","option":{}},"12":{"string":"공격 시 3% 확률로 53의 HP 회복","option":{}},"13":{"string":"공격 시 3% 확률로 53의 HP 회복","option":{}},"14":{"string":"공격 시 3% 확률로 53의 HP 회복","option":{}},"15":{"string":"공격 시 3% 확률로 53의 HP 회복","option":{}},"16":{"string":"공격 시 3% 확률로 53의 HP 회복","option":{}},"17":{"string":"공격 시 3% 확률로 53의 HP 회복","option":{}},"18":{"string":"공격 시 3% 확률로 53의 HP 회복","option":{}},"19":{"string":"공격 시 3% 확률로 53의 HP 회복","option":{}},"20":{"string":"공격 시 3% 확률로 53의 HP 회복","option":{}},"21":{"string":"공격 시 3% 확률로 54의 HP 회복","option":{}},"22":{"string":"공격 시 3% 확률로 54의 HP 회복","option":{}},"23":{"string":"공격 시 3% 확률로 54의 HP 회복","option":{}},"24":{"string":"공격 시 3% 확률로 54의 HP 회복","option":{}},"25":{"string":"공격 시 3% 확률로 54의 HP 회복","option":{}}}},"20202":{"optionType":10,"level":{"1":{"string":"공격 시 20% 확률로 30의 HP 회복","option":{}},"2":{"string":"공격 시 20% 확률로 60의 HP 회복","option":{}},"3":{"string":"공격 시 20% 확률로 90의 HP 회복","option":{}},"4":{"string":"공격 시 20% 확률로 120의 HP 회복","option":{}},"5":{"string":"공격 시 20% 확률로 150의 HP 회복","option":{}},"6":{"string":"공격 시 20% 확률로 180의 HP 회복","option":{}},"7":{"string":"공격 시 20% 확률로 210의 HP 회복","option":{}},"8":{"string":"공격 시 20% 확률로 240의 HP 회복","option":{}},"9":{"string":"공격 시 20% 확률로 270의 HP 회복","option":{}},"10":{"string":"공격 시 20% 확률로 300의 HP 회복","option":{}},"11":{"string":"공격 시 20% 확률로 330의 HP 회복","option":{}},"12":{"string":"공격 시 20% 확률로 360의 HP 회복","option":{}},"13":{"string":"공격 시 20% 확률로 360의 HP 회복","option":{}},"14":{"string":"공격 시 20% 확률로 360의 HP 회복","option":{}},"15":{"string":"공격 시 20% 확률로 360의 HP 회복","option":{}},"16":{"string":"공격 시 20% 확률로 360의 HP 회복","option":{}},"17":{"string":"공격 시 20% 확률로 360의 HP 회복","option":{}},"18":{"string":"공격 시 20% 확률로 360의 HP 회복","option":{}},"19":{"string":"공격 시 20% 확률로 360의 HP 회복","option":{}},"20":{"string":"공격 시 20% 확률로 360의 HP 회복","option":{}},"21":{"string":"공격 시 20% 확률로 370의 HP 회복","option":{}},"22":{"string":"공격 시 20% 확률로 370의 HP 회복","option":{}},"23":{"string":"공격 시 20% 확률로 370의 HP 회복","option":{}},"24":{"string":"공격 시 20% 확률로 370의 HP 회복","option":{}},"25":{"string":"공격 시 20% 확률로 370의 HP 회복","option":{}}}},"20206":{"optionType":10,"level":{"1":{"string":"공격 시 3% 확률로 20의 MP 회복","option":{}},"2":{"string":"공격 시 3% 확률로 23의 MP 회복","option":{}},"3":{"string":"공격 시 3% 확률로 26의 MP 회복","option":{}},"4":{"string":"공격 시 3% 확률로 29의 MP 회복","option":{}},"5":{"string":"공격 시 3% 확률로 32의 MP 회복","option":{}},"6":{"string":"공격 시 3% 확률로 35의 MP 회복","option":{}},"7":{"string":"공격 시 3% 확률로 38의 MP 회복","option":{}},"8":{"string":"공격 시 3% 확률로 41의 MP 회복","option":{}},"9":{"string":"공격 시 3% 확률로 44의 MP 회복","option":{}},"10":{"string":"공격 시 3% 확률로 47의 MP 회복","option":{}},"11":{"string":"공격 시 3% 확률로 50의 MP 회복","option":{}},"12":{"string":"공격 시 3% 확률로 53의 MP 회복","option":{}},"13":{"string":"공격 시 3% 확률로 53의 MP 회복","option":{}},"14":{"string":"공격 시 3% 확률로 53의 MP 회복","option":{}},"15":{"string":"공격 시 3% 확률로 53의 MP 회복","option":{}},"16":{"string":"공격 시 3% 확률로 53의 MP 회복","option":{}},"17":{"string":"공격 시 3% 확률로 53의 MP 회복","option":{}},"18":{"string":"공격 시 3% 확률로 53의 MP 회복","option":{}},"19":{"string":"공격 시 3% 확률로 53의 MP 회복","option":{}},"20":{"string":"공격 시 3% 확률로 53의 MP 회복","option":{}},"21":{"string":"공격 시 3% 확률로 54의 MP 회복","option":{}},"22":{"string":"공격 시 3% 확률로 54의 MP 회복","option":{}},"23":{"string":"공격 시 3% 확률로 54의 MP 회복","option":{}},"24":{"string":"공격 시 3% 확률로 54의 MP 회복","option":{}},"25":{"string":"공격 시 3% 확률로 54의 MP 회복","option":{}}}},"20207":{"optionType":10,"level":{"1":{"string":"공격 시 20% 확률로 30의 MP 회복","option":{}},"2":{"string":"공격 시 20% 확률로 45의 MP 회복","option":{}},"3":{"string":"공격 시 20% 확률로 60의 MP 회복","option":{}},"4":{"string":"공격 시 20% 확률로 75의 MP 회복","option":{}},"5":{"string":"공격 시 20% 확률로 90의 MP 회복","option":{}},"6":{"string":"공격 시 20% 확률로 105의 MP 회복","option":{}},"7":{"string":"공격 시 20% 확률로 120의 MP 회복","option":{}},"8":{"string":"공격 시 20% 확률로 135의 MP 회복","option":{}},"9":{"string":"공격 시 20% 확률로 150의 MP 회복","option":{}},"10":{"string":"공격 시 20% 확률로 165의 MP 회복","option":{}},"11":{"string":"공격 시 20% 확률로 180의 MP 회복","option":{}},"12":{"string":"공격 시 20% 확률로 180의 MP 회복","option":{}},"13":{"string":"공격 시 20% 확률로 180의 MP 회복","option":{}},"14":{"string":"공격 시 20% 확률로 180의 MP 회복","option":{}},"15":{"string":"공격 시 20% 확률로 180의 MP 회복","option":{}},"16":{"string":"공격 시 20% 확률로 180의 MP 회복","option":{}},"17":{"string":"공격 시 20% 확률로 180의 MP 회복","option":{}},"18":{"string":"공격 시 20% 확률로 180의 MP 회복","option":{}},"19":{"string":"공격 시 20% 확률로 180의 MP 회복","option":{}},"20":{"string":"공격 시 20% 확률로 180의 MP 회복","option":{}},"21":{"string":"공격 시 20% 확률로 195의 MP 회복","option":{}},"22":{"string":"공격 시 20% 확률로 195의 MP 회복","option":{}},"23":{"string":"공격 시 20% 확률로 195의 MP 회복","option":{}},"24":{"string":"공격 시 20% 확률로 195의 MP 회복","option":{}},"25":{"string":"공격 시 20% 확률로 195의 MP 회복","option":{}}}},"20291":{"optionType":10,"reqLevel":50,"level":{"1":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"2":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"3":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"4":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"5":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"6":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"7":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"8":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"9":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"10":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"11":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"12":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"13":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"14":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"15":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"16":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"17":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"18":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"19":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"20":{"string":"몬스터 방어율 무시 +15%","option":{"ignoreMonsterArmor":15}},"21":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"22":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"23":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"24":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"25":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}}}},"20351":{"optionType":20,"level":{"1":{"string":"피격 시 20% 확률로 3의 데미지 무시","option":{}},"2":{"string":"피격 시 20% 확률로 5의 데미지 무시","option":{}},"3":{"string":"피격 시 20% 확률로 7의 데미지 무시","option":{}},"4":{"string":"피격 시 20% 확률로 9의 데미지 무시","option":{}},"5":{"string":"피격 시 20% 확률로 11의 데미지 무시","option":{}},"6":{"string":"피격 시 20% 확률로 13의 데미지 무시","option":{}},"7":{"string":"피격 시 20% 확률로 15의 데미지 무시","option":{}},"8":{"string":"피격 시 20% 확률로 17의 데미지 무시","option":{}},"9":{"string":"피격 시 20% 확률로 19의 데미지 무시","option":{}},"10":{"string":"피격 시 20% 확률로 21의 데미지 무시","option":{}},"11":{"string":"피격 시 20% 확률로 23의 데미지 무시","option":{}},"12":{"string":"피격 시 20% 확률로 25의 데미지 무시","option":{}},"13":{"string":"피격 시 20% 확률로 25의 데미지 무시","option":{}},"14":{"string":"피격 시 20% 확률로 25의 데미지 무시","option":{}},"15":{"string":"피격 시 20% 확률로 25의 데미지 무시","option":{}},"16":{"string":"피격 시 20% 확률로 25의 데미지 무시","option":{}},"17":{"string":"피격 시 20% 확률로 25의 데미지 무시","option":{}},"18":{"string":"피격 시 20% 확률로 25의 데미지 무시","option":{}},"19":{"string":"피격 시 20% 확률로 25의 데미지 무시","option":{}},"20":{"string":"피격 시 20% 확률로 25의 데미지 무시","option":{}},"21":{"string":"피격 시 20% 확률로 26의 데미지 무시","option":{}},"22":{"string":"피격 시 20% 확률로 26의 데미지 무시","option":{}},"23":{"string":"피격 시 20% 확률로 26의 데미지 무시","option":{}},"24":{"string":"피격 시 20% 확률로 26의 데미지 무시","option":{}},"25":{"string":"피격 시 20% 확률로 26의 데미지 무시","option":{}}}},"20352":{"optionType":20,"level":{"1":{"string":"피격 시 20% 확률로 5의 데미지 무시","option":{}},"2":{"string":"피격 시 20% 확률로 8의 데미지 무시","option":{}},"3":{"string":"피격 시 20% 확률로 11의 데미지 무시","option":{}},"4":{"string":"피격 시 20% 확률로 14의 데미지 무시","option":{}},"5":{"string":"피격 시 20% 확률로 17의 데미지 무시","option":{}},"6":{"string":"피격 시 20% 확률로 20의 데미지 무시","option":{}},"7":{"string":"피격 시 20% 확률로 23의 데미지 무시","option":{}},"8":{"string":"피격 시 20% 확률로 26의 데미지 무시","option":{}},"9":{"string":"피격 시 20% 확률로 29의 데미지 무시","option":{}},"10":{"string":"피격 시 20% 확률로 32의 데미지 무시","option":{}},"11":{"string":"피격 시 20% 확률로 35의 데미지 무시","option":{}},"12":{"string":"피격 시 20% 확률로 38의 데미지 무시","option":{}},"13":{"string":"피격 시 20% 확률로 38의 데미지 무시","option":{}},"14":{"string":"피격 시 20% 확률로 38의 데미지 무시","option":{}},"15":{"string":"피격 시 20% 확률로 38의 데미지 무시","option":{}},"16":{"string":"피격 시 20% 확률로 38의 데미지 무시","option":{}},"17":{"string":"피격 시 20% 확률로 38의 데미지 무시","option":{}},"18":{"string":"피격 시 20% 확률로 38의 데미지 무시","option":{}},"19":{"string":"피격 시 20% 확률로 38의 데미지 무시","option":{}},"20":{"string":"피격 시 20% 확률로 38의 데미지 무시","option":{}},"21":{"string":"피격 시 20% 확률로 39의 데미지 무시","option":{}},"22":{"string":"피격 시 20% 확률로 39의 데미지 무시","option":{}},"23":{"string":"피격 시 20% 확률로 39의 데미지 무시","option":{}},"24":{"string":"피격 시 20% 확률로 39의 데미지 무시","option":{}},"25":{"string":"피격 시 20% 확률로 39의 데미지 무시","option":{}}}},"20353":{"optionType":20,"level":{"1":{"string":"피격 시 30% 확률로 7의 데미지 무시","option":{}},"2":{"string":"피격 시 30% 확률로 11의 데미지 무시","option":{}},"3":{"string":"피격 시 30% 확률로 15의 데미지 무시","option":{}},"4":{"string":"피격 시 30% 확률로 19의 데미지 무시","option":{}},"5":{"string":"피격 시 30% 확률로 23의 데미지 무시","option":{}},"6":{"string":"피격 시 30% 확률로 27의 데미지 무시","option":{}},"7":{"string":"피격 시 30% 확률로 31의 데미지 무시","option":{}},"8":{"string":"피격 시 30% 확률로 35의 데미지 무시","option":{}},"9":{"string":"피격 시 30% 확률로 39의 데미지 무시","option":{}},"10":{"string":"피격 시 30% 확률로 43의 데미지 무시","option":{}},"11":{"string":"피격 시 30% 확률로 47의 데미지 무시","option":{}},"12":{"string":"피격 시 30% 확률로 51의 데미지 무시","option":{}},"13":{"string":"피격 시 30% 확률로 51의 데미지 무시","option":{}},"14":{"string":"피격 시 30% 확률로 51의 데미지 무시","option":{}},"15":{"string":"피격 시 30% 확률로 51의 데미지 무시","option":{}},"16":{"string":"피격 시 30% 확률로 51의 데미지 무시","option":{}},"17":{"string":"피격 시 30% 확률로 51의 데미지 무시","option":{}},"18":{"string":"피격 시 30% 확률로 51의 데미지 무시","option":{}},"19":{"string":"피격 시 30% 확률로 51의 데미지 무시","option":{}},"20":{"string":"피격 시 30% 확률로 51의 데미지 무시","option":{}},"21":{"string":"피격 시 30% 확률로 53의 데미지 무시","option":{}},"22":{"string":"피격 시 30% 확률로 53의 데미지 무시","option":{}},"23":{"string":"피격 시 30% 확률로 53의 데미지 무시","option":{}},"24":{"string":"피격 시 30% 확률로 53의 데미지 무시","option":{}},"25":{"string":"피격 시 30% 확률로 53의 데미지 무시","option":{}}}},"20366":{"optionType":52,"level":{"1":{"string":"피격 후 무적시간 +1초","option":{}},"2":{"string":"피격 후 무적시간 +1초","option":{}},"3":{"string":"피격 후 무적시간 +1초","option":{}},"4":{"string":"피격 후 무적시간 +1초","option":{}},"5":{"string":"피격 후 무적시간 +1초","option":{}},"6":{"string":"피격 후 무적시간 +1초","option":{}},"7":{"string":"피격 후 무적시간 +1초","option":{}},"8":{"string":"피격 후 무적시간 +1초","option":{}},"9":{"string":"피격 후 무적시간 +1초","option":{}},"10":{"string":"피격 후 무적시간 +1초","option":{}},"11":{"string":"피격 후 무적시간 +1초","option":{}},"12":{"string":"피격 후 무적시간 +1초","option":{}},"13":{"string":"피격 후 무적시간 +1초","option":{}},"14":{"string":"피격 후 무적시간 +1초","option":{}},"15":{"string":"피격 후 무적시간 +1초","option":{}},"16":{"string":"피격 후 무적시간 +1초","option":{}},"17":{"string":"피격 후 무적시간 +1초","option":{}},"18":{"string":"피격 후 무적시간 +1초","option":{}},"19":{"string":"피격 후 무적시간 +1초","option":{}},"20":{"string":"피격 후 무적시간 +1초","option":{}},"21":{"string":"피격 후 무적시간 +1초","option":{}},"22":{"string":"피격 후 무적시간 +1초","option":{}},"23":{"string":"피격 후 무적시간 +1초","option":{}},"24":{"string":"피격 후 무적시간 +1초","option":{}},"25":{"string":"피격 후 무적시간 +1초","option":{}}}},"20396":{"optionType":52,"level":{"1":{"string":"피격 후 무적시간 +1초","option":{}},"2":{"string":"피격 후 무적시간 +1초","option":{}},"3":{"string":"피격 후 무적시간 +1초","option":{}},"4":{"string":"피격 후 무적시간 +1초","option":{}},"5":{"string":"피격 후 무적시간 +1초","option":{}},"6":{"string":"피격 후 무적시간 +1초","option":{}},"7":{"string":"피격 후 무적시간 +1초","option":{}},"8":{"string":"피격 후 무적시간 +1초","option":{}},"9":{"string":"피격 후 무적시간 +1초","option":{}},"10":{"string":"피격 후 무적시간 +1초","option":{}},"11":{"string":"피격 후 무적시간 +1초","option":{}},"12":{"string":"피격 후 무적시간 +1초","option":{}},"13":{"string":"피격 후 무적시간 +1초","option":{}},"14":{"string":"피격 후 무적시간 +1초","option":{}},"15":{"string":"피격 후 무적시간 +1초","option":{}},"16":{"string":"피격 후 무적시간 +1초","option":{}},"17":{"string":"피격 후 무적시간 +1초","option":{}},"18":{"string":"피격 후 무적시간 +1초","option":{}},"19":{"string":"피격 후 무적시간 +1초","option":{}},"20":{"string":"피격 후 무적시간 +1초","option":{}},"21":{"string":"피격 후 무적시간 +1초","option":{}},"22":{"string":"피격 후 무적시간 +1초","option":{}},"23":{"string":"피격 후 무적시간 +1초","option":{}},"24":{"string":"피격 후 무적시간 +1초","option":{}},"25":{"string":"피격 후 무적시간 +1초","option":{}}}},"20401":{"optionType":54,"level":{"1":{"string":"몬스터 처치 시 15% 확률로 40의 HP 회복","option":{}},"2":{"string":"몬스터 처치 시 15% 확률로 45의 HP 회복","option":{}},"3":{"string":"몬스터 처치 시 15% 확률로 50의 HP 회복","option":{}},"4":{"string":"몬스터 처치 시 15% 확률로 55의 HP 회복","option":{}},"5":{"string":"몬스터 처치 시 15% 확률로 60의 HP 회복","option":{}},"6":{"string":"몬스터 처치 시 15% 확률로 65의 HP 회복","option":{}},"7":{"string":"몬스터 처치 시 15% 확률로 70의 HP 회복","option":{}},"8":{"string":"몬스터 처치 시 15% 확률로 75의 HP 회복","option":{}},"9":{"string":"몬스터 처치 시 15% 확률로 80의 HP 회복","option":{}},"10":{"string":"몬스터 처치 시 15% 확률로 85의 HP 회복","option":{}},"11":{"string":"몬스터 처치 시 15% 확률로 90의 HP 회복","option":{}},"12":{"string":"몬스터 처치 시 15% 확률로 95의 HP 회복","option":{}},"13":{"string":"몬스터 처치 시 15% 확률로 95의 HP 회복","option":{}},"14":{"string":"몬스터 처치 시 15% 확률로 95의 HP 회복","option":{}},"15":{"string":"몬스터 처치 시 15% 확률로 95의 HP 회복","option":{}},"16":{"string":"몬스터 처치 시 15% 확률로 95의 HP 회복","option":{}},"17":{"string":"몬스터 처치 시 15% 확률로 95의 HP 회복","option":{}},"18":{"string":"몬스터 처치 시 15% 확률로 95의 HP 회복","option":{}},"19":{"string":"몬스터 처치 시 15% 확률로 95의 HP 회복","option":{}},"20":{"string":"몬스터 처치 시 15% 확률로 95의 HP 회복","option":{}},"21":{"string":"몬스터 처치 시 15% 확률로 97의 HP 회복","option":{}},"22":{"string":"몬스터 처치 시 15% 확률로 97의 HP 회복","option":{}},"23":{"string":"몬스터 처치 시 15% 확률로 97의 HP 회복","option":{}},"24":{"string":"몬스터 처치 시 15% 확률로 97의 HP 회복","option":{}},"25":{"string":"몬스터 처치 시 15% 확률로 97의 HP 회복","option":{}}}},"20406":{"optionType":54,"level":{"1":{"string":"몬스터 처치 시 15% 확률로 40의 MP 회복","option":{}},"2":{"string":"몬스터 처치 시 15% 확률로 45의 MP 회복","option":{}},"3":{"string":"몬스터 처치 시 15% 확률로 50의 MP 회복","option":{}},"4":{"string":"몬스터 처치 시 15% 확률로 55의 MP 회복","option":{}},"5":{"string":"몬스터 처치 시 15% 확률로 60의 MP 회복","option":{}},"6":{"string":"몬스터 처치 시 15% 확률로 65의 MP 회복","option":{}},"7":{"string":"몬스터 처치 시 15% 확률로 70의 MP 회복","option":{}},"8":{"string":"몬스터 처치 시 15% 확률로 75의 MP 회복","option":{}},"9":{"string":"몬스터 처치 시 15% 확률로 80의 MP 회복","option":{}},"10":{"string":"몬스터 처치 시 15% 확률로 85의 MP 회복","option":{}},"11":{"string":"몬스터 처치 시 15% 확률로 90의 MP 회복","option":{}},"12":{"string":"몬스터 처치 시 15% 확률로 95의 MP 회복","option":{}},"13":{"string":"몬스터 처치 시 15% 확률로 95의 MP 회복","option":{}},"14":{"string":"몬스터 처치 시 15% 확률로 95의 MP 회복","option":{}},"15":{"string":"몬스터 처치 시 15% 확률로 95의 MP 회복","option":{}},"16":{"string":"몬스터 처치 시 15% 확률로 95의 MP 회복","option":{}},"17":{"string":"몬스터 처치 시 15% 확률로 95의 MP 회복","option":{}},"18":{"string":"몬스터 처치 시 15% 확률로 95의 MP 회복","option":{}},"19":{"string":"몬스터 처치 시 15% 확률로 95의 MP 회복","option":{}},"20":{"string":"몬스터 처치 시 15% 확률로 95의 MP 회복","option":{}},"21":{"string":"몬스터 처치 시 15% 확률로 97의 MP 회복","option":{}},"22":{"string":"몬스터 처치 시 15% 확률로 97의 MP 회복","option":{}},"23":{"string":"몬스터 처치 시 15% 확률로 97의 MP 회복","option":{}},"24":{"string":"몬스터 처치 시 15% 확률로 97의 MP 회복","option":{}},"25":{"string":"몬스터 처치 시 15% 확률로 97의 MP 회복","option":{}}}},"22001":{"optionType":11,"level":{"1":{"string":"STR +4","option":{"str":4}},"2":{"string":"STR +4","option":{"str":4}},"3":{"string":"STR +6","option":{"str":6}},"4":{"string":"STR +6","option":{"str":6}},"5":{"string":"STR +8","option":{"str":8}},"6":{"string":"STR +10","option":{"str":10}},"7":{"string":"STR +10","option":{"str":10}},"8":{"string":"STR +12","option":{"str":12}},"9":{"string":"STR +12","option":{"str":12}},"10":{"string":"STR +14","option":{"str":14}},"11":{"string":"STR +14","option":{"str":14}},"12":{"string":"STR +14","option":{"str":14}},"13":{"string":"STR +14","option":{"str":14}},"14":{"string":"STR +14","option":{"str":14}},"15":{"string":"STR +14","option":{"str":14}},"16":{"string":"STR +14","option":{"str":14}},"17":{"string":"STR +14","option":{"str":14}},"18":{"string":"STR +14","option":{"str":14}},"19":{"string":"STR +14","option":{"str":14}},"20":{"string":"STR +14","option":{"str":14}},"21":{"string":"STR +15","option":{"str":15}},"22":{"string":"STR +15","option":{"str":15}},"23":{"string":"STR +15","option":{"str":15}},"24":{"string":"STR +15","option":{"str":15}},"25":{"string":"STR +15","option":{"str":15}}}},"22002":{"optionType":11,"level":{"1":{"string":"DEX +4","option":{"dex":4}},"2":{"string":"DEX +4","option":{"dex":4}},"3":{"string":"DEX +6","option":{"dex":6}},"4":{"string":"DEX +6","option":{"dex":6}},"5":{"string":"DEX +8","option":{"dex":8}},"6":{"string":"DEX +10","option":{"dex":10}},"7":{"string":"DEX +10","option":{"dex":10}},"8":{"string":"DEX +12","option":{"dex":12}},"9":{"string":"DEX +12","option":{"dex":12}},"10":{"string":"DEX +14","option":{"dex":14}},"11":{"string":"DEX +14","option":{"dex":14}},"12":{"string":"DEX +14","option":{"dex":14}},"13":{"string":"DEX +14","option":{"dex":14}},"14":{"string":"DEX +14","option":{"dex":14}},"15":{"string":"DEX +14","option":{"dex":14}},"16":{"string":"DEX +14","option":{"dex":14}},"17":{"string":"DEX +14","option":{"dex":14}},"18":{"string":"DEX +14","option":{"dex":14}},"19":{"string":"DEX +14","option":{"dex":14}},"20":{"string":"DEX +14","option":{"dex":14}},"21":{"string":"DEX +15","option":{"dex":15}},"22":{"string":"DEX +15","option":{"dex":15}},"23":{"string":"DEX +15","option":{"dex":15}},"24":{"string":"DEX +15","option":{"dex":15}},"25":{"string":"DEX +15","option":{"dex":15}}}},"22003":{"optionType":11,"level":{"1":{"string":"INT +4","option":{"int":4}},"2":{"string":"INT +4","option":{"int":4}},"3":{"string":"INT +6","option":{"int":6}},"4":{"string":"INT +6","option":{"int":6}},"5":{"string":"INT +8","option":{"int":8}},"6":{"string":"INT +10","option":{"int":10}},"7":{"string":"INT +10","option":{"int":10}},"8":{"string":"INT +12","option":{"int":12}},"9":{"string":"INT +12","option":{"int":12}},"10":{"string":"INT +14","option":{"int":14}},"11":{"string":"INT +14","option":{"int":14}},"12":{"string":"INT +14","option":{"int":14}},"13":{"string":"INT +14","option":{"int":14}},"14":{"string":"INT +14","option":{"int":14}},"15":{"string":"INT +14","option":{"int":14}},"16":{"string":"INT +14","option":{"int":14}},"17":{"string":"INT +14","option":{"int":14}},"18":{"string":"INT +14","option":{"int":14}},"19":{"string":"INT +14","option":{"int":14}},"20":{"string":"INT +14","option":{"int":14}},"21":{"string":"INT +15","option":{"int":15}},"22":{"string":"INT +15","option":{"int":15}},"23":{"string":"INT +15","option":{"int":15}},"24":{"string":"INT +15","option":{"int":15}},"25":{"string":"INT +15","option":{"int":15}}}},"22004":{"optionType":11,"level":{"1":{"string":"LUK +4","option":{"luk":4}},"2":{"string":"LUK +4","option":{"luk":4}},"3":{"string":"LUK +6","option":{"luk":6}},"4":{"string":"LUK +6","option":{"luk":6}},"5":{"string":"LUK +8","option":{"luk":8}},"6":{"string":"LUK +10","option":{"luk":10}},"7":{"string":"LUK +10","option":{"luk":10}},"8":{"string":"LUK +12","option":{"luk":12}},"9":{"string":"LUK +12","option":{"luk":12}},"10":{"string":"LUK +14","option":{"luk":14}},"11":{"string":"LUK +14","option":{"luk":14}},"12":{"string":"LUK +14","option":{"luk":14}},"13":{"string":"LUK +14","option":{"luk":14}},"14":{"string":"LUK +14","option":{"luk":14}},"15":{"string":"LUK +14","option":{"luk":14}},"16":{"string":"LUK +14","option":{"luk":14}},"17":{"string":"LUK +14","option":{"luk":14}},"18":{"string":"LUK +14","option":{"luk":14}},"19":{"string":"LUK +14","option":{"luk":14}},"20":{"string":"LUK +14","option":{"luk":14}},"21":{"string":"LUK +15","option":{"luk":15}},"22":{"string":"LUK +15","option":{"luk":15}},"23":{"string":"LUK +15","option":{"luk":15}},"24":{"string":"LUK +15","option":{"luk":15}},"25":{"string":"LUK +15","option":{"luk":15}}}},"22005":{"optionType":11,"level":{"1":{"string":"최대 HP +15","option":{"maxHp":15}},"2":{"string":"최대 HP +30","option":{"maxHp":30}},"3":{"string":"최대 HP +45","option":{"maxHp":45}},"4":{"string":"최대 HP +60","option":{"maxHp":60}},"5":{"string":"최대 HP +75","option":{"maxHp":75}},"6":{"string":"최대 HP +90","option":{"maxHp":90}},"7":{"string":"최대 HP +105","option":{"maxHp":105}},"8":{"string":"최대 HP +120","option":{"maxHp":120}},"9":{"string":"최대 HP +135","option":{"maxHp":135}},"10":{"string":"최대 HP +150","option":{"maxHp":150}},"11":{"string":"최대 HP +165","option":{"maxHp":165}},"12":{"string":"최대 HP +180","option":{"maxHp":180}},"13":{"string":"최대 HP +180","option":{"maxHp":180}},"14":{"string":"최대 HP +180","option":{"maxHp":180}},"15":{"string":"최대 HP +180","option":{"maxHp":180}},"16":{"string":"최대 HP +180","option":{"maxHp":180}},"17":{"string":"최대 HP +180","option":{"maxHp":180}},"18":{"string":"최대 HP +180","option":{"maxHp":180}},"19":{"string":"최대 HP +180","option":{"maxHp":180}},"20":{"string":"최대 HP +180","option":{"maxHp":180}},"21":{"string":"최대 HP +195","option":{"maxHp":195}},"22":{"string":"최대 HP +195","option":{"maxHp":195}},"23":{"string":"최대 HP +195","option":{"maxHp":195}},"24":{"string":"최대 HP +195","option":{"maxHp":195}},"25":{"string":"최대 HP +195","option":{"maxHp":195}}}},"22006":{"optionType":11,"level":{"1":{"string":"최대 MP +15","option":{"maxMp":15}},"2":{"string":"최대 MP +30","option":{"maxMp":30}},"3":{"string":"최대 MP +45","option":{"maxMp":45}},"4":{"string":"최대 MP +60","option":{"maxMp":60}},"5":{"string":"최대 MP +75","option":{"maxMp":75}},"6":{"string":"최대 MP +90","option":{"maxMp":90}},"7":{"string":"최대 MP +105","option":{"maxMp":105}},"8":{"string":"최대 MP +120","option":{"maxMp":120}},"9":{"string":"최대 MP +135","option":{"maxMp":135}},"10":{"string":"최대 MP +150","option":{"maxMp":150}},"11":{"string":"최대 MP +165","option":{"maxMp":165}},"12":{"string":"최대 MP +180","option":{"maxMp":180}},"13":{"string":"최대 MP +180","option":{"maxMp":180}},"14":{"string":"최대 MP +180","option":{"maxMp":180}},"15":{"string":"최대 MP +180","option":{"maxMp":180}},"16":{"string":"최대 MP +180","option":{"maxMp":180}},"17":{"string":"최대 MP +180","option":{"maxMp":180}},"18":{"string":"최대 MP +180","option":{"maxMp":180}},"19":{"string":"최대 MP +180","option":{"maxMp":180}},"20":{"string":"최대 MP +180","option":{"maxMp":180}},"21":{"string":"최대 MP +195","option":{"maxMp":195}},"22":{"string":"최대 MP +195","option":{"maxMp":195}},"23":{"string":"최대 MP +195","option":{"maxMp":195}},"24":{"string":"최대 MP +195","option":{"maxMp":195}},"25":{"string":"최대 MP +195","option":{"maxMp":195}}}},"22007":{"optionType":11,"level":{"1":{"string":"최대 HP +15","option":{"maxHp":15}},"2":{"string":"최대 HP +30","option":{"maxHp":30}},"3":{"string":"최대 HP +45","option":{"maxHp":45}},"4":{"string":"최대 HP +60","option":{"maxHp":60}},"5":{"string":"최대 HP +75","option":{"maxHp":75}},"6":{"string":"최대 HP +90","option":{"maxHp":90}},"7":{"string":"최대 HP +105","option":{"maxHp":105}},"8":{"string":"최대 HP +120","option":{"maxHp":120}},"9":{"string":"최대 HP +135","option":{"maxHp":135}},"10":{"string":"최대 HP +150","option":{"maxHp":150}},"11":{"string":"최대 HP +165","option":{"maxHp":165}},"12":{"string":"최대 HP +180","option":{"maxHp":180}},"13":{"string":"최대 HP +180","option":{"maxHp":180}},"14":{"string":"최대 HP +180","option":{"maxHp":180}},"15":{"string":"최대 HP +180","option":{"maxHp":180}},"16":{"string":"최대 HP +180","option":{"maxHp":180}},"17":{"string":"최대 HP +180","option":{"maxHp":180}},"18":{"string":"최대 HP +180","option":{"maxHp":180}},"19":{"string":"최대 HP +180","option":{"maxHp":180}},"20":{"string":"최대 HP +180","option":{"maxHp":180}},"21":{"string":"최대 HP +180","option":{"maxHp":180}},"22":{"string":"최대 HP +180","option":{"maxHp":180}},"23":{"string":"최대 HP +180","option":{"maxHp":180}},"24":{"string":"최대 HP +180","option":{"maxHp":180}},"25":{"string":"최대 HP +180","option":{"maxHp":180}}}},"22008":{"optionType":11,"level":{"1":{"string":"최대 MP +15","option":{"maxMp":15}},"2":{"string":"최대 MP +30","option":{"maxMp":30}},"3":{"string":"최대 MP +45","option":{"maxMp":45}},"4":{"string":"최대 MP +60","option":{"maxMp":60}},"5":{"string":"최대 MP +75","option":{"maxMp":75}},"6":{"string":"최대 MP +90","option":{"maxMp":90}},"7":{"string":"최대 MP +105","option":{"maxMp":105}},"8":{"string":"최대 MP +120","option":{"maxMp":120}},"9":{"string":"최대 MP +135","option":{"maxMp":135}},"10":{"string":"최대 MP +150","option":{"maxMp":150}},"11":{"string":"최대 MP +165","option":{"maxMp":165}},"12":{"string":"최대 MP +180","option":{"maxMp":180}},"13":{"string":"최대 MP +180","option":{"maxMp":180}},"14":{"string":"최대 MP +180","option":{"maxMp":180}},"15":{"string":"최대 MP +180","option":{"maxMp":180}},"16":{"string":"최대 MP +180","option":{"maxMp":180}},"17":{"string":"최대 MP +180","option":{"maxMp":180}},"18":{"string":"최대 MP +180","option":{"maxMp":180}},"19":{"string":"최대 MP +180","option":{"maxMp":180}},"20":{"string":"최대 MP +180","option":{"maxMp":180}},"21":{"string":"최대 MP +180","option":{"maxMp":180}},"22":{"string":"최대 MP +180","option":{"maxMp":180}},"23":{"string":"최대 MP +180","option":{"maxMp":180}},"24":{"string":"최대 MP +180","option":{"maxMp":180}},"25":{"string":"최대 MP +180","option":{"maxMp":180}}}},"22009":{"optionType":11,"level":{"1":{"string":"이동속도 +4","option":{"speed":4}},"2":{"string":"이동속도 +4","option":{"speed":4}},"3":{"string":"이동속도 +4","option":{"speed":4}},"4":{"string":"이동속도 +6","option":{"speed":6}},"5":{"string":"이동속도 +6","option":{"speed":6}},"6":{"string":"이동속도 +6","option":{"speed":6}},"7":{"string":"이동속도 +6","option":{"speed":6}},"8":{"string":"이동속도 +6","option":{"speed":6}},"9":{"string":"이동속도 +6","option":{"speed":6}},"10":{"string":"이동속도 +6","option":{"speed":6}},"11":{"string":"이동속도 +6","option":{"speed":6}},"12":{"string":"이동속도 +8","option":{"speed":8}},"13":{"string":"이동속도 +8","option":{"speed":8}},"14":{"string":"이동속도 +8","option":{"speed":8}},"15":{"string":"이동속도 +8","option":{"speed":8}},"16":{"string":"이동속도 +8","option":{"speed":8}},"17":{"string":"이동속도 +8","option":{"speed":8}},"18":{"string":"이동속도 +8","option":{"speed":8}},"19":{"string":"이동속도 +8","option":{"speed":8}},"20":{"string":"이동속도 +8","option":{"speed":8}},"21":{"string":"이동속도 +9","option":{"speed":9}},"22":{"string":"이동속도 +9","option":{"speed":9}},"23":{"string":"이동속도 +9","option":{"speed":9}},"24":{"string":"이동속도 +9","option":{"speed":9}},"25":{"string":"이동속도 +9","option":{"speed":9}}}},"22010":{"optionType":11,"level":{"1":{"string":"점프력 +4","option":{"jump":4}},"2":{"string":"점프력 +4","option":{"jump":4}},"3":{"string":"점프력 +4","option":{"jump":4}},"4":{"string":"점프력 +6","option":{"jump":6}},"5":{"string":"점프력 +6","option":{"jump":6}},"6":{"string":"점프력 +6","option":{"jump":6}},"7":{"string":"점프력 +6","option":{"jump":6}},"8":{"string":"점프력 +6","option":{"jump":6}},"9":{"string":"점프력 +6","option":{"jump":6}},"10":{"string":"점프력 +6","option":{"jump":6}},"11":{"string":"점프력 +6","option":{"jump":6}},"12":{"string":"점프력 +8","option":{"jump":8}},"13":{"string":"점프력 +8","option":{"jump":8}},"14":{"string":"점프력 +8","option":{"jump":8}},"15":{"string":"점프력 +8","option":{"jump":8}},"16":{"string":"점프력 +8","option":{"jump":8}},"17":{"string":"점프력 +8","option":{"jump":8}},"18":{"string":"점프력 +8","option":{"jump":8}},"19":{"string":"점프력 +8","option":{"jump":8}},"20":{"string":"점프력 +8","option":{"jump":8}},"21":{"string":"점프력 +9","option":{"jump":9}},"22":{"string":"점프력 +9","option":{"jump":9}},"23":{"string":"점프력 +9","option":{"jump":9}},"24":{"string":"점프력 +9","option":{"jump":9}},"25":{"string":"점프력 +9","option":{"jump":9}}}},"22011":{"optionType":11,"level":{"1":{"string":"공격력 +4","option":{"attackPower":4}},"2":{"string":"공격력 +4","option":{"attackPower":4}},"3":{"string":"공격력 +6","option":{"attackPower":6}},"4":{"string":"공격력 +6","option":{"attackPower":6}},"5":{"string":"공격력 +6","option":{"attackPower":6}},"6":{"string":"공격력 +8","option":{"attackPower":8}},"7":{"string":"공격력 +8","option":{"attackPower":8}},"8":{"string":"공격력 +8","option":{"attackPower":8}},"9":{"string":"공격력 +8","option":{"attackPower":8}},"10":{"string":"공격력 +11","option":{"attackPower":11}},"11":{"string":"공격력 +11","option":{"attackPower":11}},"12":{"string":"공격력 +11","option":{"attackPower":11}},"13":{"string":"공격력 +11","option":{"attackPower":11}},"14":{"string":"공격력 +11","option":{"attackPower":11}},"15":{"string":"공격력 +11","option":{"attackPower":11}},"16":{"string":"공격력 +11","option":{"attackPower":11}},"17":{"string":"공격력 +11","option":{"attackPower":11}},"18":{"string":"공격력 +11","option":{"attackPower":11}},"19":{"string":"공격력 +11","option":{"attackPower":11}},"20":{"string":"공격력 +11","option":{"attackPower":11}},"21":{"string":"공격력 +12","option":{"attackPower":12}},"22":{"string":"공격력 +12","option":{"attackPower":12}},"23":{"string":"공격력 +12","option":{"attackPower":12}},"24":{"string":"공격력 +12","option":{"attackPower":12}},"25":{"string":"공격력 +12","option":{"attackPower":12}}}},"22012":{"optionType":11,"level":{"1":{"string":"마력 +4","option":{"magicPower":4}},"2":{"string":"마력 +4","option":{"magicPower":4}},"3":{"string":"마력 +6","option":{"magicPower":6}},"4":{"string":"마력 +6","option":{"magicPower":6}},"5":{"string":"마력 +6","option":{"magicPower":6}},"6":{"string":"마력 +8","option":{"magicPower":8}},"7":{"string":"마력 +8","option":{"magicPower":8}},"8":{"string":"마력 +8","option":{"magicPower":8}},"9":{"string":"마력 +8","option":{"magicPower":8}},"10":{"string":"마력 +11","option":{"magicPower":11}},"11":{"string":"마력 +11","option":{"magicPower":11}},"12":{"string":"마력 +11","option":{"magicPower":11}},"13":{"string":"마력 +11","option":{"magicPower":11}},"14":{"string":"마력 +11","option":{"magicPower":11}},"15":{"string":"마력 +11","option":{"magicPower":11}},"16":{"string":"마력 +11","option":{"magicPower":11}},"17":{"string":"마력 +11","option":{"magicPower":11}},"18":{"string":"마력 +11","option":{"magicPower":11}},"19":{"string":"마력 +11","option":{"magicPower":11}},"20":{"string":"마력 +11","option":{"magicPower":11}},"21":{"string":"마력 +12","option":{"magicPower":12}},"22":{"string":"마력 +12","option":{"magicPower":12}},"23":{"string":"마력 +12","option":{"magicPower":12}},"24":{"string":"마력 +12","option":{"magicPower":12}},"25":{"string":"마력 +12","option":{"magicPower":12}}}},"22013":{"optionType":11,"level":{"1":{"string":"방어력 +15","option":{"armor":15}},"2":{"string":"방어력 +15","option":{"armor":15}},"3":{"string":"방어력 +20","option":{"armor":20}},"4":{"string":"방어력 +20","option":{"armor":20}},"5":{"string":"방어력 +20","option":{"armor":20}},"6":{"string":"방어력 +60","option":{"armor":60}},"7":{"string":"방어력 +60","option":{"armor":60}},"8":{"string":"방어력 +60","option":{"armor":60}},"9":{"string":"방어력 +60","option":{"armor":60}},"10":{"string":"방어력 +120","option":{"armor":120}},"11":{"string":"방어력 +120","option":{"armor":120}},"12":{"string":"방어력 +120","option":{"armor":120}},"13":{"string":"방어력 +120","option":{"armor":120}},"14":{"string":"방어력 +120","option":{"armor":120}},"15":{"string":"방어력 +120","option":{"armor":120}},"16":{"string":"방어력 +120","option":{"armor":120}},"17":{"string":"방어력 +120","option":{"armor":120}},"18":{"string":"방어력 +120","option":{"armor":120}},"19":{"string":"방어력 +120","option":{"armor":120}},"20":{"string":"방어력 +120","option":{"armor":120}},"21":{"string":"방어력 +150","option":{"armor":150}},"22":{"string":"방어력 +150","option":{"armor":150}},"23":{"string":"방어력 +150","option":{"armor":150}},"24":{"string":"방어력 +150","option":{"armor":150}},"25":{"string":"방어력 +150","option":{"armor":150}}}},"22014":{"optionType":11,"level":{"1":{"string":"방어력 +15","option":{"armor":15}},"2":{"string":"방어력 +15","option":{"armor":15}},"3":{"string":"방어력 +20","option":{"armor":20}},"4":{"string":"방어력 +20","option":{"armor":20}},"5":{"string":"방어력 +20","option":{"armor":20}},"6":{"string":"방어력 +60","option":{"armor":60}},"7":{"string":"방어력 +60","option":{"armor":60}},"8":{"string":"방어력 +60","option":{"armor":60}},"9":{"string":"방어력 +60","option":{"armor":60}},"10":{"string":"방어력 +120","option":{"armor":120}},"11":{"string":"방어력 +120","option":{"armor":120}},"12":{"string":"방어력 +120","option":{"armor":120}},"13":{"string":"방어력 +120","option":{"armor":120}},"14":{"string":"방어력 +120","option":{"armor":120}},"15":{"string":"방어력 +120","option":{"armor":120}},"16":{"string":"방어력 +120","option":{"armor":120}},"17":{"string":"방어력 +120","option":{"armor":120}},"18":{"string":"방어력 +120","option":{"armor":120}},"19":{"string":"방어력 +120","option":{"armor":120}},"20":{"string":"방어력 +120","option":{"armor":120}},"21":{"string":"방어력 +120","option":{"armor":120}},"22":{"string":"방어력 +120","option":{"armor":120}},"23":{"string":"방어력 +120","option":{"armor":120}},"24":{"string":"방어력 +120","option":{"armor":120}},"25":{"string":"방어력 +120","option":{"armor":120}}}},"22041":{"optionType":11,"level":{"1":{"string":"STR +1%","option":{"strRate":1}},"2":{"string":"STR +1%","option":{"strRate":1}},"3":{"string":"STR +2%","option":{"strRate":2}},"4":{"string":"STR +2%","option":{"strRate":2}},"5":{"string":"STR +2%","option":{"strRate":2}},"6":{"string":"STR +3%","option":{"strRate":3}},"7":{"string":"STR +3%","option":{"strRate":3}},"8":{"string":"STR +3%","option":{"strRate":3}},"9":{"string":"STR +3%","option":{"strRate":3}},"10":{"string":"STR +4%","option":{"strRate":4}},"11":{"string":"STR +4%","option":{"strRate":4}},"12":{"string":"STR +4%","option":{"strRate":4}},"13":{"string":"STR +4%","option":{"strRate":4}},"14":{"string":"STR +4%","option":{"strRate":4}},"15":{"string":"STR +4%","option":{"strRate":4}},"16":{"string":"STR +4%","option":{"strRate":4}},"17":{"string":"STR +4%","option":{"strRate":4}},"18":{"string":"STR +4%","option":{"strRate":4}},"19":{"string":"STR +4%","option":{"strRate":4}},"20":{"string":"STR +4%","option":{"strRate":4}},"21":{"string":"STR +5%","option":{"strRate":5}},"22":{"string":"STR +5%","option":{"strRate":5}},"23":{"string":"STR +5%","option":{"strRate":5}},"24":{"string":"STR +5%","option":{"strRate":5}},"25":{"string":"STR +5%","option":{"strRate":5}}}},"22042":{"optionType":11,"level":{"1":{"string":"DEX +1%","option":{"dexRate":1}},"2":{"string":"DEX +1%","option":{"dexRate":1}},"3":{"string":"DEX +2%","option":{"dexRate":2}},"4":{"string":"DEX +2%","option":{"dexRate":2}},"5":{"string":"DEX +2%","option":{"dexRate":2}},"6":{"string":"DEX +3%","option":{"dexRate":3}},"7":{"string":"DEX +3%","option":{"dexRate":3}},"8":{"string":"DEX +3%","option":{"dexRate":3}},"9":{"string":"DEX +3%","option":{"dexRate":3}},"10":{"string":"DEX +4%","option":{"dexRate":4}},"11":{"string":"DEX +4%","option":{"dexRate":4}},"12":{"string":"DEX +4%","option":{"dexRate":4}},"13":{"string":"DEX +4%","option":{"dexRate":4}},"14":{"string":"DEX +4%","option":{"dexRate":4}},"15":{"string":"DEX +4%","option":{"dexRate":4}},"16":{"string":"DEX +4%","option":{"dexRate":4}},"17":{"string":"DEX +4%","option":{"dexRate":4}},"18":{"string":"DEX +4%","option":{"dexRate":4}},"19":{"string":"DEX +4%","option":{"dexRate":4}},"20":{"string":"DEX +4%","option":{"dexRate":4}},"21":{"string":"DEX +5%","option":{"dexRate":5}},"22":{"string":"DEX +5%","option":{"dexRate":5}},"23":{"string":"DEX +5%","option":{"dexRate":5}},"24":{"string":"DEX +5%","option":{"dexRate":5}},"25":{"string":"DEX +5%","option":{"dexRate":5}}}},"22043":{"optionType":11,"level":{"1":{"string":"INT +1%","option":{"intRate":1}},"2":{"string":"INT +1%","option":{"intRate":1}},"3":{"string":"INT +2%","option":{"intRate":2}},"4":{"string":"INT +2%","option":{"intRate":2}},"5":{"string":"INT +2%","option":{"intRate":2}},"6":{"string":"INT +3%","option":{"intRate":3}},"7":{"string":"INT +3%","option":{"intRate":3}},"8":{"string":"INT +3%","option":{"intRate":3}},"9":{"string":"INT +3%","option":{"intRate":3}},"10":{"string":"INT +4%","option":{"intRate":4}},"11":{"string":"INT +4%","option":{"intRate":4}},"12":{"string":"INT +4%","option":{"intRate":4}},"13":{"string":"INT +4%","option":{"intRate":4}},"14":{"string":"INT +4%","option":{"intRate":4}},"15":{"string":"INT +4%","option":{"intRate":4}},"16":{"string":"INT +4%","option":{"intRate":4}},"17":{"string":"INT +4%","option":{"intRate":4}},"18":{"string":"INT +4%","option":{"intRate":4}},"19":{"string":"INT +4%","option":{"intRate":4}},"20":{"string":"INT +4%","option":{"intRate":4}},"21":{"string":"INT +5%","option":{"intRate":5}},"22":{"string":"INT +5%","option":{"intRate":5}},"23":{"string":"INT +5%","option":{"intRate":5}},"24":{"string":"INT +5%","option":{"intRate":5}},"25":{"string":"INT +5%","option":{"intRate":5}}}},"22044":{"optionType":11,"level":{"1":{"string":"LUK +1%","option":{"lukRate":1}},"2":{"string":"LUK +1%","option":{"lukRate":1}},"3":{"string":"LUK +2%","option":{"lukRate":2}},"4":{"string":"LUK +2%","option":{"lukRate":2}},"5":{"string":"LUK +2%","option":{"lukRate":2}},"6":{"string":"LUK +3%","option":{"lukRate":3}},"7":{"string":"LUK +3%","option":{"lukRate":3}},"8":{"string":"LUK +3%","option":{"lukRate":3}},"9":{"string":"LUK +3%","option":{"lukRate":3}},"10":{"string":"LUK +4%","option":{"lukRate":4}},"11":{"string":"LUK +4%","option":{"lukRate":4}},"12":{"string":"LUK +4%","option":{"lukRate":4}},"13":{"string":"LUK +4%","option":{"lukRate":4}},"14":{"string":"LUK +4%","option":{"lukRate":4}},"15":{"string":"LUK +4%","option":{"lukRate":4}},"16":{"string":"LUK +4%","option":{"lukRate":4}},"17":{"string":"LUK +4%","option":{"lukRate":4}},"18":{"string":"LUK +4%","option":{"lukRate":4}},"19":{"string":"LUK +4%","option":{"lukRate":4}},"20":{"string":"LUK +4%","option":{"lukRate":4}},"21":{"string":"LUK +5%","option":{"lukRate":5}},"22":{"string":"LUK +5%","option":{"lukRate":5}},"23":{"string":"LUK +5%","option":{"lukRate":5}},"24":{"string":"LUK +5%","option":{"lukRate":5}},"25":{"string":"LUK +5%","option":{"lukRate":5}}}},"22045":{"level":{"1":{"string":"최대 HP +1%","option":{"maxHpRate":1}},"2":{"string":"최대 HP +1%","option":{"maxHpRate":1}},"3":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"4":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"5":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"6":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"7":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"8":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"9":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"10":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"11":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"12":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"13":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"14":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"15":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"16":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"17":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"18":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"19":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"20":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"21":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"22":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"23":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"24":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"25":{"string":"최대 HP +6%","option":{"maxHpRate":6}}}},"22046":{"level":{"1":{"string":"최대 MP +1%","option":{"maxMpRate":1}},"2":{"string":"최대 MP +1%","option":{"maxMpRate":1}},"3":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"4":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"5":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"6":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"7":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"8":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"9":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"10":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"11":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"12":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"13":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"14":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"15":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"16":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"17":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"18":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"19":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"20":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"21":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"22":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"23":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"24":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"25":{"string":"최대 MP +6%","option":{"maxMpRate":6}}}},"22047":{"level":{"1":{"string":"최대 HP +1%","option":{"maxHpRate":1}},"2":{"string":"최대 HP +1%","option":{"maxHpRate":1}},"3":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"4":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"5":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"6":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"7":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"8":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"9":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"10":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"11":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"12":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"13":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"14":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"15":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"16":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"17":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"18":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"19":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"20":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"21":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"22":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"23":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"24":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"25":{"string":"최대 HP +5%","option":{"maxHpRate":5}}}},"22048":{"level":{"1":{"string":"최대 MP +1%","option":{"maxMpRate":1}},"2":{"string":"최대 MP +1%","option":{"maxMpRate":1}},"3":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"4":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"5":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"6":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"7":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"8":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"9":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"10":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"11":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"12":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"13":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"14":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"15":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"16":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"17":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"18":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"19":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"20":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"21":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"22":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"23":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"24":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"25":{"string":"최대 MP +5%","option":{"maxMpRate":5}}}},"22051":{"optionType":10,"level":{"1":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"2":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"3":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"4":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"5":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"6":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"7":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"8":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"9":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"10":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"11":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"12":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"13":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"14":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"15":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"16":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"17":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"18":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"19":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"20":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"21":{"string":"공격력 +7%","option":{"attackPowerRate":7}},"22":{"string":"공격력 +7%","option":{"attackPowerRate":7}},"23":{"string":"공격력 +7%","option":{"attackPowerRate":7}},"24":{"string":"공격력 +7%","option":{"attackPowerRate":7}},"25":{"string":"공격력 +7%","option":{"attackPowerRate":7}}}},"22052":{"optionType":10,"level":{"1":{"string":"마력 +2%","option":{"magicPowerRate":2}},"2":{"string":"마력 +2%","option":{"magicPowerRate":2}},"3":{"string":"마력 +2%","option":{"magicPowerRate":2}},"4":{"string":"마력 +4%","option":{"magicPowerRate":4}},"5":{"string":"마력 +4%","option":{"magicPowerRate":4}},"6":{"string":"마력 +4%","option":{"magicPowerRate":4}},"7":{"string":"마력 +4%","option":{"magicPowerRate":4}},"8":{"string":"마력 +6%","option":{"magicPowerRate":6}},"9":{"string":"마력 +6%","option":{"magicPowerRate":6}},"10":{"string":"마력 +6%","option":{"magicPowerRate":6}},"11":{"string":"마력 +6%","option":{"magicPowerRate":6}},"12":{"string":"마력 +6%","option":{"magicPowerRate":6}},"13":{"string":"마력 +6%","option":{"magicPowerRate":6}},"14":{"string":"마력 +6%","option":{"magicPowerRate":6}},"15":{"string":"마력 +6%","option":{"magicPowerRate":6}},"16":{"string":"마력 +6%","option":{"magicPowerRate":6}},"17":{"string":"마력 +6%","option":{"magicPowerRate":6}},"18":{"string":"마력 +6%","option":{"magicPowerRate":6}},"19":{"string":"마력 +6%","option":{"magicPowerRate":6}},"20":{"string":"마력 +6%","option":{"magicPowerRate":6}},"21":{"string":"마력 +7%","option":{"magicPowerRate":7}},"22":{"string":"마력 +7%","option":{"magicPowerRate":7}},"23":{"string":"마력 +7%","option":{"magicPowerRate":7}},"24":{"string":"마력 +7%","option":{"magicPowerRate":7}},"25":{"string":"마력 +7%","option":{"magicPowerRate":7}}}},"22053":{"optionType":11,"level":{"1":{"string":"방어력 +1%","option":{"armorRate":1}},"2":{"string":"방어력 +1%","option":{"armorRate":1}},"3":{"string":"방어력 +1%","option":{"armorRate":1}},"4":{"string":"방어력 +2%","option":{"armorRate":2}},"5":{"string":"방어력 +2%","option":{"armorRate":2}},"6":{"string":"방어력 +2%","option":{"armorRate":2}},"7":{"string":"방어력 +2%","option":{"armorRate":2}},"8":{"string":"방어력 +4%","option":{"armorRate":4}},"9":{"string":"방어력 +4%","option":{"armorRate":4}},"10":{"string":"방어력 +4%","option":{"armorRate":4}},"11":{"string":"방어력 +4%","option":{"armorRate":4}},"12":{"string":"방어력 +4%","option":{"armorRate":4}},"13":{"string":"방어력 +4%","option":{"armorRate":4}},"14":{"string":"방어력 +4%","option":{"armorRate":4}},"15":{"string":"방어력 +4%","option":{"armorRate":4}},"16":{"string":"방어력 +4%","option":{"armorRate":4}},"17":{"string":"방어력 +4%","option":{"armorRate":4}},"18":{"string":"방어력 +4%","option":{"armorRate":4}},"19":{"string":"방어력 +4%","option":{"armorRate":4}},"20":{"string":"방어력 +4%","option":{"armorRate":4}},"21":{"string":"방어력 +5%","option":{"armorRate":5}},"22":{"string":"방어력 +5%","option":{"armorRate":5}},"23":{"string":"방어력 +5%","option":{"armorRate":5}},"24":{"string":"방어력 +5%","option":{"armorRate":5}},"25":{"string":"방어력 +5%","option":{"armorRate":5}}}},"22054":{"optionType":11,"level":{"1":{"string":"방어력 +1%","option":{"armorRate":1}},"2":{"string":"방어력 +1%","option":{"armorRate":1}},"3":{"string":"방어력 +1%","option":{"armorRate":1}},"4":{"string":"방어력 +2%","option":{"armorRate":2}},"5":{"string":"방어력 +2%","option":{"armorRate":2}},"6":{"string":"방어력 +2%","option":{"armorRate":2}},"7":{"string":"방어력 +2%","option":{"armorRate":2}},"8":{"string":"방어력 +4%","option":{"armorRate":4}},"9":{"string":"방어력 +4%","option":{"armorRate":4}},"10":{"string":"방어력 +4%","option":{"armorRate":4}},"11":{"string":"방어력 +4%","option":{"armorRate":4}},"12":{"string":"방어력 +4%","option":{"armorRate":4}},"13":{"string":"방어력 +4%","option":{"armorRate":4}},"14":{"string":"방어력 +4%","option":{"armorRate":4}},"15":{"string":"방어력 +4%","option":{"armorRate":4}},"16":{"string":"방어력 +4%","option":{"armorRate":4}},"17":{"string":"방어력 +4%","option":{"armorRate":4}},"18":{"string":"방어력 +4%","option":{"armorRate":4}},"19":{"string":"방어력 +4%","option":{"armorRate":4}},"20":{"string":"방어력 +4%","option":{"armorRate":4}},"21":{"string":"방어력 +4%","option":{"armorRate":4}},"22":{"string":"방어력 +4%","option":{"armorRate":4}},"23":{"string":"방어력 +4%","option":{"armorRate":4}},"24":{"string":"방어력 +4%","option":{"armorRate":4}},"25":{"string":"방어력 +4%","option":{"armorRate":4}}}},"22055":{"optionType":10,"level":{"1":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"2":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"3":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"4":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"5":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"6":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"7":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"8":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"9":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"10":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"11":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"12":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"13":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"14":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"15":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"16":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"17":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"18":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"19":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"20":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"21":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"22":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"23":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"24":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}},"25":{"string":"크리티컬 확률 +7%","option":{"criticalRate":7}}}},"22056":{"optionType":11,"reqLevel":100,"level":{"1":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"2":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"3":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"4":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"5":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"6":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"7":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"8":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"9":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"10":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"11":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"12":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"13":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"14":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"15":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"16":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"17":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"18":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"19":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"20":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"21":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"22":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"23":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"24":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"25":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}}}},"22057":{"optionType":10,"level":{"1":{"string":"STR +2%","option":{"strRate":2}},"2":{"string":"STR +2%","option":{"strRate":2}},"3":{"string":"STR +2%","option":{"strRate":2}},"4":{"string":"STR +4%","option":{"strRate":4}},"5":{"string":"STR +4%","option":{"strRate":4}},"6":{"string":"STR +4%","option":{"strRate":4}},"7":{"string":"STR +4%","option":{"strRate":4}},"8":{"string":"STR +6%","option":{"strRate":6}},"9":{"string":"STR +6%","option":{"strRate":6}},"10":{"string":"STR +6%","option":{"strRate":6}},"11":{"string":"STR +6%","option":{"strRate":6}},"12":{"string":"STR +6%","option":{"strRate":6}},"13":{"string":"STR +6%","option":{"strRate":6}},"14":{"string":"STR +6%","option":{"strRate":6}},"15":{"string":"STR +6%","option":{"strRate":6}},"16":{"string":"STR +6%","option":{"strRate":6}},"17":{"string":"STR +6%","option":{"strRate":6}},"18":{"string":"STR +6%","option":{"strRate":6}},"19":{"string":"STR +6%","option":{"strRate":6}},"20":{"string":"STR +6%","option":{"strRate":6}},"21":{"string":"STR +7%","option":{"strRate":7}},"22":{"string":"STR +7%","option":{"strRate":7}},"23":{"string":"STR +7%","option":{"strRate":7}},"24":{"string":"STR +7%","option":{"strRate":7}},"25":{"string":"STR +7%","option":{"strRate":7}}}},"22058":{"optionType":10,"level":{"1":{"string":"DEX +2%","option":{"dexRate":2}},"2":{"string":"DEX +2%","option":{"dexRate":2}},"3":{"string":"DEX +2%","option":{"dexRate":2}},"4":{"string":"DEX +4%","option":{"dexRate":4}},"5":{"string":"DEX +4%","option":{"dexRate":4}},"6":{"string":"DEX +4%","option":{"dexRate":4}},"7":{"string":"DEX +4%","option":{"dexRate":4}},"8":{"string":"DEX +6%","option":{"dexRate":6}},"9":{"string":"DEX +6%","option":{"dexRate":6}},"10":{"string":"DEX +6%","option":{"dexRate":6}},"11":{"string":"DEX +6%","option":{"dexRate":6}},"12":{"string":"DEX +6%","option":{"dexRate":6}},"13":{"string":"DEX +6%","option":{"dexRate":6}},"14":{"string":"DEX +6%","option":{"dexRate":6}},"15":{"string":"DEX +6%","option":{"dexRate":6}},"16":{"string":"DEX +6%","option":{"dexRate":6}},"17":{"string":"DEX +6%","option":{"dexRate":6}},"18":{"string":"DEX +6%","option":{"dexRate":6}},"19":{"string":"DEX +6%","option":{"dexRate":6}},"20":{"string":"DEX +6%","option":{"dexRate":6}},"21":{"string":"DEX +7%","option":{"dexRate":7}},"22":{"string":"DEX +7%","option":{"dexRate":7}},"23":{"string":"DEX +7%","option":{"dexRate":7}},"24":{"string":"DEX +7%","option":{"dexRate":7}},"25":{"string":"DEX +7%","option":{"dexRate":7}}}},"22059":{"optionType":10,"level":{"1":{"string":"INT +2%","option":{"intRate":2}},"2":{"string":"INT +2%","option":{"intRate":2}},"3":{"string":"INT +2%","option":{"intRate":2}},"4":{"string":"INT +4%","option":{"intRate":4}},"5":{"string":"INT +4%","option":{"intRate":4}},"6":{"string":"INT +4%","option":{"intRate":4}},"7":{"string":"INT +4%","option":{"intRate":4}},"8":{"string":"INT +6%","option":{"intRate":6}},"9":{"string":"INT +6%","option":{"intRate":6}},"10":{"string":"INT +6%","option":{"intRate":6}},"11":{"string":"INT +6%","option":{"intRate":6}},"12":{"string":"INT +6%","option":{"intRate":6}},"13":{"string":"INT +6%","option":{"intRate":6}},"14":{"string":"INT +6%","option":{"intRate":6}},"15":{"string":"INT +6%","option":{"intRate":6}},"16":{"string":"INT +6%","option":{"intRate":6}},"17":{"string":"INT +6%","option":{"intRate":6}},"18":{"string":"INT +6%","option":{"intRate":6}},"19":{"string":"INT +6%","option":{"intRate":6}},"20":{"string":"INT +6%","option":{"intRate":6}},"21":{"string":"INT +7%","option":{"intRate":7}},"22":{"string":"INT +7%","option":{"intRate":7}},"23":{"string":"INT +7%","option":{"intRate":7}},"24":{"string":"INT +7%","option":{"intRate":7}},"25":{"string":"INT +7%","option":{"intRate":7}}}},"22060":{"optionType":10,"level":{"1":{"string":"LUK +2%","option":{"lukRate":2}},"2":{"string":"LUK +2%","option":{"lukRate":2}},"3":{"string":"LUK +2%","option":{"lukRate":2}},"4":{"string":"LUK +4%","option":{"lukRate":4}},"5":{"string":"LUK +4%","option":{"lukRate":4}},"6":{"string":"LUK +4%","option":{"lukRate":4}},"7":{"string":"LUK +4%","option":{"lukRate":4}},"8":{"string":"LUK +6%","option":{"lukRate":6}},"9":{"string":"LUK +6%","option":{"lukRate":6}},"10":{"string":"LUK +6%","option":{"lukRate":6}},"11":{"string":"LUK +6%","option":{"lukRate":6}},"12":{"string":"LUK +6%","option":{"lukRate":6}},"13":{"string":"LUK +6%","option":{"lukRate":6}},"14":{"string":"LUK +6%","option":{"lukRate":6}},"15":{"string":"LUK +6%","option":{"lukRate":6}},"16":{"string":"LUK +6%","option":{"lukRate":6}},"17":{"string":"LUK +6%","option":{"lukRate":6}},"18":{"string":"LUK +6%","option":{"lukRate":6}},"19":{"string":"LUK +6%","option":{"lukRate":6}},"20":{"string":"LUK +6%","option":{"lukRate":6}},"21":{"string":"LUK +7%","option":{"lukRate":7}},"22":{"string":"LUK +7%","option":{"lukRate":7}},"23":{"string":"LUK +7%","option":{"lukRate":7}},"24":{"string":"LUK +7%","option":{"lukRate":7}},"25":{"string":"LUK +7%","option":{"lukRate":7}}}},"22070":{"optionType":10,"level":{"1":{"string":"데미지 +2%","option":{"damage":2}},"2":{"string":"데미지 +2%","option":{"damage":2}},"3":{"string":"데미지 +2%","option":{"damage":2}},"4":{"string":"데미지 +4%","option":{"damage":4}},"5":{"string":"데미지 +4%","option":{"damage":4}},"6":{"string":"데미지 +4%","option":{"damage":4}},"7":{"string":"데미지 +4%","option":{"damage":4}},"8":{"string":"데미지 +6%","option":{"damage":6}},"9":{"string":"데미지 +6%","option":{"damage":6}},"10":{"string":"데미지 +6%","option":{"damage":6}},"11":{"string":"데미지 +6%","option":{"damage":6}},"12":{"string":"데미지 +6%","option":{"damage":6}},"13":{"string":"데미지 +6%","option":{"damage":6}},"14":{"string":"데미지 +6%","option":{"damage":6}},"15":{"string":"데미지 +6%","option":{"damage":6}},"16":{"string":"데미지 +6%","option":{"damage":6}},"17":{"string":"데미지 +6%","option":{"damage":6}},"18":{"string":"데미지 +6%","option":{"damage":6}},"19":{"string":"데미지 +6%","option":{"damage":6}},"20":{"string":"데미지 +6%","option":{"damage":6}},"21":{"string":"데미지 +7%","option":{"damage":7}},"22":{"string":"데미지 +7%","option":{"damage":7}},"23":{"string":"데미지 +7%","option":{"damage":7}},"24":{"string":"데미지 +7%","option":{"damage":7}},"25":{"string":"데미지 +7%","option":{"damage":7}}}},"22086":{"optionType":11,"level":{"1":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"2":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"3":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"4":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"5":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"6":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"7":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"8":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"9":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"10":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"11":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"12":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"13":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"14":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"15":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"16":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"17":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"18":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"19":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"20":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"21":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"22":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"23":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"24":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"25":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}}}},"22087":{"optionType":10,"level":{"1":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"2":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"3":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"4":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"5":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"6":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"7":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"8":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"9":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"10":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"11":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"12":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"13":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"14":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"15":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"16":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"17":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"18":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"19":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"20":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"21":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"22":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"23":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"24":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"25":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}}}},"22201":{"optionType":10,"level":{"1":{"string":"공격 시 3% 확률로 20의 HP 회복","option":{}},"2":{"string":"공격 시 3% 확률로 23의 HP 회복","option":{}},"3":{"string":"공격 시 3% 확률로 26의 HP 회복","option":{}},"4":{"string":"공격 시 3% 확률로 29의 HP 회복","option":{}},"5":{"string":"공격 시 3% 확률로 32의 HP 회복","option":{}},"6":{"string":"공격 시 3% 확률로 35의 HP 회복","option":{}},"7":{"string":"공격 시 3% 확률로 38의 HP 회복","option":{}},"8":{"string":"공격 시 3% 확률로 41의 HP 회복","option":{}},"9":{"string":"공격 시 3% 확률로 44의 HP 회복","option":{}},"10":{"string":"공격 시 3% 확률로 47의 HP 회복","option":{}},"11":{"string":"공격 시 3% 확률로 50의 HP 회복","option":{}},"12":{"string":"공격 시 3% 확률로 53의 HP 회복","option":{}},"13":{"string":"공격 시 3% 확률로 53의 HP 회복","option":{}},"14":{"string":"공격 시 3% 확률로 53의 HP 회복","option":{}},"15":{"string":"공격 시 3% 확률로 53의 HP 회복","option":{}},"16":{"string":"공격 시 3% 확률로 53의 HP 회복","option":{}},"17":{"string":"공격 시 3% 확률로 53의 HP 회복","option":{}},"18":{"string":"공격 시 3% 확률로 53의 HP 회복","option":{}},"19":{"string":"공격 시 3% 확률로 53의 HP 회복","option":{}},"20":{"string":"공격 시 3% 확률로 53의 HP 회복","option":{}},"21":{"string":"공격 시 3% 확률로 54의 HP 회복","option":{}},"22":{"string":"공격 시 3% 확률로 54의 HP 회복","option":{}},"23":{"string":"공격 시 3% 확률로 54의 HP 회복","option":{}},"24":{"string":"공격 시 3% 확률로 54의 HP 회복","option":{}},"25":{"string":"공격 시 3% 확률로 54의 HP 회복","option":{}}}},"22206":{"optionType":10,"level":{"1":{"string":"공격 시 3% 확률로 20의 MP 회복","option":{}},"2":{"string":"공격 시 3% 확률로 23의 MP 회복","option":{}},"3":{"string":"공격 시 3% 확률로 26의 MP 회복","option":{}},"4":{"string":"공격 시 3% 확률로 29의 MP 회복","option":{}},"5":{"string":"공격 시 3% 확률로 32의 MP 회복","option":{}},"6":{"string":"공격 시 3% 확률로 35의 MP 회복","option":{}},"7":{"string":"공격 시 3% 확률로 38의 MP 회복","option":{}},"8":{"string":"공격 시 3% 확률로 41의 MP 회복","option":{}},"9":{"string":"공격 시 3% 확률로 44의 MP 회복","option":{}},"10":{"string":"공격 시 3% 확률로 47의 MP 회복","option":{}},"11":{"string":"공격 시 3% 확률로 50의 MP 회복","option":{}},"12":{"string":"공격 시 3% 확률로 53의 MP 회복","option":{}},"13":{"string":"공격 시 3% 확률로 53의 MP 회복","option":{}},"14":{"string":"공격 시 3% 확률로 53의 MP 회복","option":{}},"15":{"string":"공격 시 3% 확률로 53의 MP 회복","option":{}},"16":{"string":"공격 시 3% 확률로 53의 MP 회복","option":{}},"17":{"string":"공격 시 3% 확률로 53의 MP 회복","option":{}},"18":{"string":"공격 시 3% 확률로 53의 MP 회복","option":{}},"19":{"string":"공격 시 3% 확률로 53의 MP 회복","option":{}},"20":{"string":"공격 시 3% 확률로 53의 MP 회복","option":{}},"21":{"string":"공격 시 3% 확률로 54의 MP 회복","option":{}},"22":{"string":"공격 시 3% 확률로 54의 MP 회복","option":{}},"23":{"string":"공격 시 3% 확률로 54의 MP 회복","option":{}},"24":{"string":"공격 시 3% 확률로 54의 MP 회복","option":{}},"25":{"string":"공격 시 3% 확률로 54의 MP 회복","option":{}}}},"22291":{"optionType":10,"reqLevel":50,"level":{"1":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"2":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"3":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"4":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"5":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"6":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"7":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"8":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"9":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"10":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"11":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"12":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"13":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"14":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"15":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"16":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"17":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"18":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"19":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"20":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"21":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"22":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"23":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"24":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"25":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}}}},"22801":{"optionType":10,"reqLevel":50,"level":{"1":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"2":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"3":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"4":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"5":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"6":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"7":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"8":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"9":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"10":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"11":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"12":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"13":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"14":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"15":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"16":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"17":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"18":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"19":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"20":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"21":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"22":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"23":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"24":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"25":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}}}},"22802":{"optionType":11,"level":{"1":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"2":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"3":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"4":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"5":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"6":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"7":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"8":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"9":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"10":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"11":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"12":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"13":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"14":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"15":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"16":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"17":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"18":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"19":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"20":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"21":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"22":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"23":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"24":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"25":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}}}},"30001":{"level":{"1":{"string":"STR +6","option":{"str":6}},"2":{"string":"STR +6","option":{"str":6}},"3":{"string":"STR +8","option":{"str":8}},"4":{"string":"STR +8","option":{"str":8}},"5":{"string":"STR +10","option":{"str":10}},"6":{"string":"STR +12","option":{"str":12}},"7":{"string":"STR +12","option":{"str":12}},"8":{"string":"STR +14","option":{"str":14}},"9":{"string":"STR +14","option":{"str":14}},"10":{"string":"STR +16","option":{"str":16}},"11":{"string":"STR +16","option":{"str":16}},"12":{"string":"STR +16","option":{"str":16}},"13":{"string":"STR +16","option":{"str":16}},"14":{"string":"STR +16","option":{"str":16}},"15":{"string":"STR +16","option":{"str":16}},"16":{"string":"STR +16","option":{"str":16}},"17":{"string":"STR +16","option":{"str":16}},"18":{"string":"STR +16","option":{"str":16}},"19":{"string":"STR +16","option":{"str":16}},"20":{"string":"STR +16","option":{"str":16}},"21":{"string":"STR +16","option":{"str":16}},"22":{"string":"STR +16","option":{"str":16}},"23":{"string":"STR +16","option":{"str":16}},"24":{"string":"STR +16","option":{"str":16}},"25":{"string":"STR +16","option":{"str":16}}}},"30002":{"level":{"1":{"string":"DEX +6","option":{"dex":6}},"2":{"string":"DEX +6","option":{"dex":6}},"3":{"string":"DEX +8","option":{"dex":8}},"4":{"string":"DEX +8","option":{"dex":8}},"5":{"string":"DEX +10","option":{"dex":10}},"6":{"string":"DEX +12","option":{"dex":12}},"7":{"string":"DEX +12","option":{"dex":12}},"8":{"string":"DEX +14","option":{"dex":14}},"9":{"string":"DEX +14","option":{"dex":14}},"10":{"string":"DEX +16","option":{"dex":16}},"11":{"string":"DEX +16","option":{"dex":16}},"12":{"string":"DEX +16","option":{"dex":16}},"13":{"string":"DEX +16","option":{"dex":16}},"14":{"string":"DEX +16","option":{"dex":16}},"15":{"string":"DEX +16","option":{"dex":16}},"16":{"string":"DEX +16","option":{"dex":16}},"17":{"string":"DEX +16","option":{"dex":16}},"18":{"string":"DEX +16","option":{"dex":16}},"19":{"string":"DEX +16","option":{"dex":16}},"20":{"string":"DEX +16","option":{"dex":16}},"21":{"string":"DEX +16","option":{"dex":16}},"22":{"string":"DEX +16","option":{"dex":16}},"23":{"string":"DEX +16","option":{"dex":16}},"24":{"string":"DEX +16","option":{"dex":16}},"25":{"string":"DEX +16","option":{"dex":16}}}},"30003":{"level":{"1":{"string":"INT +6","option":{"int":6}},"2":{"string":"INT +6","option":{"int":6}},"3":{"string":"INT +8","option":{"int":8}},"4":{"string":"INT +8","option":{"int":8}},"5":{"string":"INT +10","option":{"int":10}},"6":{"string":"INT +12","option":{"int":12}},"7":{"string":"INT +12","option":{"int":12}},"8":{"string":"INT +14","option":{"int":14}},"9":{"string":"INT +14","option":{"int":14}},"10":{"string":"INT +16","option":{"int":16}},"11":{"string":"INT +16","option":{"int":16}},"12":{"string":"INT +16","option":{"int":16}},"13":{"string":"INT +16","option":{"int":16}},"14":{"string":"INT +16","option":{"int":16}},"15":{"string":"INT +16","option":{"int":16}},"16":{"string":"INT +16","option":{"int":16}},"17":{"string":"INT +16","option":{"int":16}},"18":{"string":"INT +16","option":{"int":16}},"19":{"string":"INT +16","option":{"int":16}},"20":{"string":"INT +16","option":{"int":16}},"21":{"string":"INT +16","option":{"int":16}},"22":{"string":"INT +16","option":{"int":16}},"23":{"string":"INT +16","option":{"int":16}},"24":{"string":"INT +16","option":{"int":16}},"25":{"string":"INT +16","option":{"int":16}}}},"30004":{"level":{"1":{"string":"LUK +6","option":{"luk":6}},"2":{"string":"LUK +6","option":{"luk":6}},"3":{"string":"LUK +8","option":{"luk":8}},"4":{"string":"LUK +8","option":{"luk":8}},"5":{"string":"LUK +10","option":{"luk":10}},"6":{"string":"LUK +12","option":{"luk":12}},"7":{"string":"LUK +12","option":{"luk":12}},"8":{"string":"LUK +14","option":{"luk":14}},"9":{"string":"LUK +14","option":{"luk":14}},"10":{"string":"LUK +16","option":{"luk":16}},"11":{"string":"LUK +16","option":{"luk":16}},"12":{"string":"LUK +16","option":{"luk":16}},"13":{"string":"LUK +16","option":{"luk":16}},"14":{"string":"LUK +16","option":{"luk":16}},"15":{"string":"LUK +16","option":{"luk":16}},"16":{"string":"LUK +16","option":{"luk":16}},"17":{"string":"LUK +16","option":{"luk":16}},"18":{"string":"LUK +16","option":{"luk":16}},"19":{"string":"LUK +16","option":{"luk":16}},"20":{"string":"LUK +16","option":{"luk":16}},"21":{"string":"LUK +16","option":{"luk":16}},"22":{"string":"LUK +16","option":{"luk":16}},"23":{"string":"LUK +16","option":{"luk":16}},"24":{"string":"LUK +16","option":{"luk":16}},"25":{"string":"LUK +16","option":{"luk":16}}}},"30005":{"level":{"1":{"string":"최대 HP +20","option":{"maxHp":20}},"2":{"string":"최대 HP +40","option":{"maxHp":40}},"3":{"string":"최대 HP +60","option":{"maxHp":60}},"4":{"string":"최대 HP +80","option":{"maxHp":80}},"5":{"string":"최대 HP +100","option":{"maxHp":100}},"6":{"string":"최대 HP +120","option":{"maxHp":120}},"7":{"string":"최대 HP +140","option":{"maxHp":140}},"8":{"string":"최대 HP +160","option":{"maxHp":160}},"9":{"string":"최대 HP +180","option":{"maxHp":180}},"10":{"string":"최대 HP +200","option":{"maxHp":200}},"11":{"string":"최대 HP +220","option":{"maxHp":220}},"12":{"string":"최대 HP +240","option":{"maxHp":240}},"13":{"string":"최대 HP +240","option":{"maxHp":240}},"14":{"string":"최대 HP +240","option":{"maxHp":240}},"15":{"string":"최대 HP +240","option":{"maxHp":240}},"16":{"string":"최대 HP +240","option":{"maxHp":240}},"17":{"string":"최대 HP +240","option":{"maxHp":240}},"18":{"string":"최대 HP +240","option":{"maxHp":240}},"19":{"string":"최대 HP +240","option":{"maxHp":240}},"20":{"string":"최대 HP +240","option":{"maxHp":240}},"21":{"string":"최대 HP +240","option":{"maxHp":240}},"22":{"string":"최대 HP +240","option":{"maxHp":240}},"23":{"string":"최대 HP +240","option":{"maxHp":240}},"24":{"string":"최대 HP +240","option":{"maxHp":240}},"25":{"string":"최대 HP +240","option":{"maxHp":240}}}},"30006":{"level":{"1":{"string":"최대 MP +20","option":{"maxMp":20}},"2":{"string":"최대 MP +40","option":{"maxMp":40}},"3":{"string":"최대 MP +60","option":{"maxMp":60}},"4":{"string":"최대 MP +80","option":{"maxMp":80}},"5":{"string":"최대 MP +100","option":{"maxMp":100}},"6":{"string":"최대 MP +120","option":{"maxMp":120}},"7":{"string":"최대 MP +140","option":{"maxMp":140}},"8":{"string":"최대 MP +160","option":{"maxMp":160}},"9":{"string":"최대 MP +180","option":{"maxMp":180}},"10":{"string":"최대 MP +200","option":{"maxMp":200}},"11":{"string":"최대 MP +220","option":{"maxMp":220}},"12":{"string":"최대 MP +240","option":{"maxMp":240}},"13":{"string":"최대 MP +240","option":{"maxMp":240}},"14":{"string":"최대 MP +240","option":{"maxMp":240}},"15":{"string":"최대 MP +240","option":{"maxMp":240}},"16":{"string":"최대 MP +240","option":{"maxMp":240}},"17":{"string":"최대 MP +240","option":{"maxMp":240}},"18":{"string":"최대 MP +240","option":{"maxMp":240}},"19":{"string":"최대 MP +240","option":{"maxMp":240}},"20":{"string":"최대 MP +240","option":{"maxMp":240}},"21":{"string":"최대 MP +240","option":{"maxMp":240}},"22":{"string":"최대 MP +240","option":{"maxMp":240}},"23":{"string":"최대 MP +240","option":{"maxMp":240}},"24":{"string":"최대 MP +240","option":{"maxMp":240}},"25":{"string":"최대 MP +240","option":{"maxMp":240}}}},"30007":{"level":{"1":{"string":"최대 HP +20","option":{"maxHp":20}},"2":{"string":"최대 HP +40","option":{"maxHp":40}},"3":{"string":"최대 HP +60","option":{"maxHp":60}},"4":{"string":"최대 HP +80","option":{"maxHp":80}},"5":{"string":"최대 HP +100","option":{"maxHp":100}},"6":{"string":"최대 HP +120","option":{"maxHp":120}},"7":{"string":"최대 HP +140","option":{"maxHp":140}},"8":{"string":"최대 HP +160","option":{"maxHp":160}},"9":{"string":"최대 HP +180","option":{"maxHp":180}},"10":{"string":"최대 HP +200","option":{"maxHp":200}},"11":{"string":"최대 HP +220","option":{"maxHp":220}},"12":{"string":"최대 HP +240","option":{"maxHp":240}},"13":{"string":"최대 HP +240","option":{"maxHp":240}},"14":{"string":"최대 HP +240","option":{"maxHp":240}},"15":{"string":"최대 HP +240","option":{"maxHp":240}},"16":{"string":"최대 HP +240","option":{"maxHp":240}},"17":{"string":"최대 HP +240","option":{"maxHp":240}},"18":{"string":"최대 HP +240","option":{"maxHp":240}},"19":{"string":"최대 HP +240","option":{"maxHp":240}},"20":{"string":"최대 HP +240","option":{"maxHp":240}},"21":{"string":"최대 HP +240","option":{"maxHp":240}},"22":{"string":"최대 HP +240","option":{"maxHp":240}},"23":{"string":"최대 HP +240","option":{"maxHp":240}},"24":{"string":"최대 HP +240","option":{"maxHp":240}},"25":{"string":"최대 HP +240","option":{"maxHp":240}}}},"30008":{"level":{"1":{"string":"최대 MP +20","option":{"maxMp":20}},"2":{"string":"최대 MP +40","option":{"maxMp":40}},"3":{"string":"최대 MP +60","option":{"maxMp":60}},"4":{"string":"최대 MP +80","option":{"maxMp":80}},"5":{"string":"최대 MP +100","option":{"maxMp":100}},"6":{"string":"최대 MP +120","option":{"maxMp":120}},"7":{"string":"최대 MP +140","option":{"maxMp":140}},"8":{"string":"최대 MP +160","option":{"maxMp":160}},"9":{"string":"최대 MP +180","option":{"maxMp":180}},"10":{"string":"최대 MP +200","option":{"maxMp":200}},"11":{"string":"최대 MP +220","option":{"maxMp":220}},"12":{"string":"최대 MP +240","option":{"maxMp":240}},"13":{"string":"최대 MP +240","option":{"maxMp":240}},"14":{"string":"최대 MP +240","option":{"maxMp":240}},"15":{"string":"최대 MP +240","option":{"maxMp":240}},"16":{"string":"최대 MP +240","option":{"maxMp":240}},"17":{"string":"최대 MP +240","option":{"maxMp":240}},"18":{"string":"최대 MP +240","option":{"maxMp":240}},"19":{"string":"최대 MP +240","option":{"maxMp":240}},"20":{"string":"최대 MP +240","option":{"maxMp":240}},"21":{"string":"최대 MP +240","option":{"maxMp":240}},"22":{"string":"최대 MP +240","option":{"maxMp":240}},"23":{"string":"최대 MP +240","option":{"maxMp":240}},"24":{"string":"최대 MP +240","option":{"maxMp":240}},"25":{"string":"최대 MP +240","option":{"maxMp":240}}}},"30009":{"optionType":55,"level":{"1":{"string":"이동속도 +6","option":{"speed":6}},"2":{"string":"이동속도 +6","option":{"speed":6}},"3":{"string":"이동속도 +6","option":{"speed":6}},"4":{"string":"이동속도 +8","option":{"speed":8}},"5":{"string":"이동속도 +8","option":{"speed":8}},"6":{"string":"이동속도 +8","option":{"speed":8}},"7":{"string":"이동속도 +8","option":{"speed":8}},"8":{"string":"이동속도 +10","option":{"speed":10}},"9":{"string":"이동속도 +10","option":{"speed":10}},"10":{"string":"이동속도 +10","option":{"speed":10}},"11":{"string":"이동속도 +10","option":{"speed":10}},"12":{"string":"이동속도 +12","option":{"speed":12}},"13":{"string":"이동속도 +12","option":{"speed":12}},"14":{"string":"이동속도 +12","option":{"speed":12}},"15":{"string":"이동속도 +12","option":{"speed":12}},"16":{"string":"이동속도 +12","option":{"speed":12}},"17":{"string":"이동속도 +12","option":{"speed":12}},"18":{"string":"이동속도 +12","option":{"speed":12}},"19":{"string":"이동속도 +12","option":{"speed":12}},"20":{"string":"이동속도 +12","option":{"speed":12}},"21":{"string":"이동속도 +12","option":{"speed":12}},"22":{"string":"이동속도 +12","option":{"speed":12}},"23":{"string":"이동속도 +12","option":{"speed":12}},"24":{"string":"이동속도 +12","option":{"speed":12}},"25":{"string":"이동속도 +12","option":{"speed":12}}}},"30010":{"optionType":55,"level":{"1":{"string":"점프력 +6","option":{"jump":6}},"2":{"string":"점프력 +6","option":{"jump":6}},"3":{"string":"점프력 +6","option":{"jump":6}},"4":{"string":"점프력 +8","option":{"jump":8}},"5":{"string":"점프력 +8","option":{"jump":8}},"6":{"string":"점프력 +8","option":{"jump":8}},"7":{"string":"점프력 +8","option":{"jump":8}},"8":{"string":"점프력 +10","option":{"jump":10}},"9":{"string":"점프력 +10","option":{"jump":10}},"10":{"string":"점프력 +10","option":{"jump":10}},"11":{"string":"점프력 +10","option":{"jump":10}},"12":{"string":"점프력 +12","option":{"jump":12}},"13":{"string":"점프력 +12","option":{"jump":12}},"14":{"string":"점프력 +12","option":{"jump":12}},"15":{"string":"점프력 +12","option":{"jump":12}},"16":{"string":"점프력 +12","option":{"jump":12}},"17":{"string":"점프력 +12","option":{"jump":12}},"18":{"string":"점프력 +12","option":{"jump":12}},"19":{"string":"점프력 +12","option":{"jump":12}},"20":{"string":"점프력 +12","option":{"jump":12}},"21":{"string":"점프력 +12","option":{"jump":12}},"22":{"string":"점프력 +12","option":{"jump":12}},"23":{"string":"점프력 +12","option":{"jump":12}},"24":{"string":"점프력 +12","option":{"jump":12}},"25":{"string":"점프력 +12","option":{"jump":12}}}},"30011":{"optionType":10,"level":{"1":{"string":"공격력 +6","option":{"attackPower":6}},"2":{"string":"공격력 +6","option":{"attackPower":6}},"3":{"string":"공격력 +8","option":{"attackPower":8}},"4":{"string":"공격력 +8","option":{"attackPower":8}},"5":{"string":"공격력 +10","option":{"attackPower":10}},"6":{"string":"공격력 +10","option":{"attackPower":10}},"7":{"string":"공격력 +12","option":{"attackPower":12}},"8":{"string":"공격력 +12","option":{"attackPower":12}},"9":{"string":"공격력 +14","option":{"attackPower":14}},"10":{"string":"공격력 +16","option":{"attackPower":16}},"11":{"string":"공격력 +16","option":{"attackPower":16}},"12":{"string":"공격력 +16","option":{"attackPower":16}},"13":{"string":"공격력 +16","option":{"attackPower":16}},"14":{"string":"공격력 +16","option":{"attackPower":16}},"15":{"string":"공격력 +16","option":{"attackPower":16}},"16":{"string":"공격력 +16","option":{"attackPower":16}},"17":{"string":"공격력 +16","option":{"attackPower":16}},"18":{"string":"공격력 +16","option":{"attackPower":16}},"19":{"string":"공격력 +16","option":{"attackPower":16}},"20":{"string":"공격력 +16","option":{"attackPower":16}},"21":{"string":"공격력 +16","option":{"attackPower":16}},"22":{"string":"공격력 +16","option":{"attackPower":16}},"23":{"string":"공격력 +16","option":{"attackPower":16}},"24":{"string":"공격력 +16","option":{"attackPower":16}},"25":{"string":"공격력 +16","option":{"attackPower":16}}}},"30012":{"optionType":10,"level":{"1":{"string":"마력 +6","option":{"magicPower":6}},"2":{"string":"마력 +6","option":{"magicPower":6}},"3":{"string":"마력 +8","option":{"magicPower":8}},"4":{"string":"마력 +8","option":{"magicPower":8}},"5":{"string":"마력 +10","option":{"magicPower":10}},"6":{"string":"마력 +10","option":{"magicPower":10}},"7":{"string":"마력 +12","option":{"magicPower":12}},"8":{"string":"마력 +12","option":{"magicPower":12}},"9":{"string":"마력 +14","option":{"magicPower":14}},"10":{"string":"마력 +16","option":{"magicPower":16}},"11":{"string":"마력 +16","option":{"magicPower":16}},"12":{"string":"마력 +16","option":{"magicPower":16}},"13":{"string":"마력 +16","option":{"magicPower":16}},"14":{"string":"마력 +16","option":{"magicPower":16}},"15":{"string":"마력 +16","option":{"magicPower":16}},"16":{"string":"마력 +16","option":{"magicPower":16}},"17":{"string":"마력 +16","option":{"magicPower":16}},"18":{"string":"마력 +16","option":{"magicPower":16}},"19":{"string":"마력 +16","option":{"magicPower":16}},"20":{"string":"마력 +16","option":{"magicPower":16}},"21":{"string":"마력 +16","option":{"magicPower":16}},"22":{"string":"마력 +16","option":{"magicPower":16}},"23":{"string":"마력 +16","option":{"magicPower":16}},"24":{"string":"마력 +16","option":{"magicPower":16}},"25":{"string":"마력 +16","option":{"magicPower":16}}}},"30013":{"optionType":11,"level":{"1":{"string":"방어력 +20","option":{"armor":20}},"2":{"string":"방어력 +40","option":{"armor":40}},"3":{"string":"방어력 +60","option":{"armor":60}},"4":{"string":"방어력 +80","option":{"armor":80}},"5":{"string":"방어력 +100","option":{"armor":100}},"6":{"string":"방어력 +120","option":{"armor":120}},"7":{"string":"방어력 +140","option":{"armor":140}},"8":{"string":"방어력 +160","option":{"armor":160}},"9":{"string":"방어력 +180","option":{"armor":180}},"10":{"string":"방어력 +200","option":{"armor":200}},"11":{"string":"방어력 +220","option":{"armor":220}},"12":{"string":"방어력 +240","option":{"armor":240}},"13":{"string":"방어력 +240","option":{"armor":240}},"14":{"string":"방어력 +240","option":{"armor":240}},"15":{"string":"방어력 +240","option":{"armor":240}},"16":{"string":"방어력 +240","option":{"armor":240}},"17":{"string":"방어력 +240","option":{"armor":240}},"18":{"string":"방어력 +240","option":{"armor":240}},"19":{"string":"방어력 +240","option":{"armor":240}},"20":{"string":"방어력 +240","option":{"armor":240}},"21":{"string":"방어력 +240","option":{"armor":240}},"22":{"string":"방어력 +240","option":{"armor":240}},"23":{"string":"방어력 +240","option":{"armor":240}},"24":{"string":"방어력 +240","option":{"armor":240}},"25":{"string":"방어력 +240","option":{"armor":240}}}},"30014":{"optionType":11,"level":{"1":{"string":"방어력 +20","option":{"armor":20}},"2":{"string":"방어력 +40","option":{"armor":40}},"3":{"string":"방어력 +60","option":{"armor":60}},"4":{"string":"방어력 +80","option":{"armor":80}},"5":{"string":"방어력 +100","option":{"armor":100}},"6":{"string":"방어력 +120","option":{"armor":120}},"7":{"string":"방어력 +140","option":{"armor":140}},"8":{"string":"방어력 +160","option":{"armor":160}},"9":{"string":"방어력 +180","option":{"armor":180}},"10":{"string":"방어력 +200","option":{"armor":200}},"11":{"string":"방어력 +220","option":{"armor":220}},"12":{"string":"방어력 +240","option":{"armor":240}},"13":{"string":"방어력 +240","option":{"armor":240}},"14":{"string":"방어력 +240","option":{"armor":240}},"15":{"string":"방어력 +240","option":{"armor":240}},"16":{"string":"방어력 +240","option":{"armor":240}},"17":{"string":"방어력 +240","option":{"armor":240}},"18":{"string":"방어력 +240","option":{"armor":240}},"19":{"string":"방어력 +240","option":{"armor":240}},"20":{"string":"방어력 +240","option":{"armor":240}},"21":{"string":"방어력 +240","option":{"armor":240}},"22":{"string":"방어력 +240","option":{"armor":240}},"23":{"string":"방어력 +240","option":{"armor":240}},"24":{"string":"방어력 +240","option":{"armor":240}},"25":{"string":"방어력 +240","option":{"armor":240}}}},"30041":{"level":{"1":{"string":"STR +3%","option":{"strRate":3}},"2":{"string":"STR +3%","option":{"strRate":3}},"3":{"string":"STR +3%","option":{"strRate":3}},"4":{"string":"STR +6%","option":{"strRate":6}},"5":{"string":"STR +6%","option":{"strRate":6}},"6":{"string":"STR +6%","option":{"strRate":6}},"7":{"string":"STR +6%","option":{"strRate":6}},"8":{"string":"STR +9%","option":{"strRate":9}},"9":{"string":"STR +9%","option":{"strRate":9}},"10":{"string":"STR +9%","option":{"strRate":9}},"11":{"string":"STR +9%","option":{"strRate":9}},"12":{"string":"STR +9%","option":{"strRate":9}},"13":{"string":"STR +9%","option":{"strRate":9}},"14":{"string":"STR +9%","option":{"strRate":9}},"15":{"string":"STR +9%","option":{"strRate":9}},"16":{"string":"STR +9%","option":{"strRate":9}},"17":{"string":"STR +9%","option":{"strRate":9}},"18":{"string":"STR +9%","option":{"strRate":9}},"19":{"string":"STR +9%","option":{"strRate":9}},"20":{"string":"STR +9%","option":{"strRate":9}},"21":{"string":"STR +10%","option":{"strRate":10}},"22":{"string":"STR +10%","option":{"strRate":10}},"23":{"string":"STR +10%","option":{"strRate":10}},"24":{"string":"STR +10%","option":{"strRate":10}},"25":{"string":"STR +10%","option":{"strRate":10}}}},"30042":{"level":{"1":{"string":"DEX +3%","option":{"dexRate":3}},"2":{"string":"DEX +3%","option":{"dexRate":3}},"3":{"string":"DEX +3%","option":{"dexRate":3}},"4":{"string":"DEX +6%","option":{"dexRate":6}},"5":{"string":"DEX +6%","option":{"dexRate":6}},"6":{"string":"DEX +6%","option":{"dexRate":6}},"7":{"string":"DEX +6%","option":{"dexRate":6}},"8":{"string":"DEX +9%","option":{"dexRate":9}},"9":{"string":"DEX +9%","option":{"dexRate":9}},"10":{"string":"DEX +9%","option":{"dexRate":9}},"11":{"string":"DEX +9%","option":{"dexRate":9}},"12":{"string":"DEX +9%","option":{"dexRate":9}},"13":{"string":"DEX +9%","option":{"dexRate":9}},"14":{"string":"DEX +9%","option":{"dexRate":9}},"15":{"string":"DEX +9%","option":{"dexRate":9}},"16":{"string":"DEX +9%","option":{"dexRate":9}},"17":{"string":"DEX +9%","option":{"dexRate":9}},"18":{"string":"DEX +9%","option":{"dexRate":9}},"19":{"string":"DEX +9%","option":{"dexRate":9}},"20":{"string":"DEX +9%","option":{"dexRate":9}},"21":{"string":"DEX +10%","option":{"dexRate":10}},"22":{"string":"DEX +10%","option":{"dexRate":10}},"23":{"string":"DEX +10%","option":{"dexRate":10}},"24":{"string":"DEX +10%","option":{"dexRate":10}},"25":{"string":"DEX +10%","option":{"dexRate":10}}}},"30043":{"level":{"1":{"string":"INT +3%","option":{"intRate":3}},"2":{"string":"INT +3%","option":{"intRate":3}},"3":{"string":"INT +3%","option":{"intRate":3}},"4":{"string":"INT +6%","option":{"intRate":6}},"5":{"string":"INT +6%","option":{"intRate":6}},"6":{"string":"INT +6%","option":{"intRate":6}},"7":{"string":"INT +6%","option":{"intRate":6}},"8":{"string":"INT +9%","option":{"intRate":9}},"9":{"string":"INT +9%","option":{"intRate":9}},"10":{"string":"INT +9%","option":{"intRate":9}},"11":{"string":"INT +9%","option":{"intRate":9}},"12":{"string":"INT +9%","option":{"intRate":9}},"13":{"string":"INT +9%","option":{"intRate":9}},"14":{"string":"INT +9%","option":{"intRate":9}},"15":{"string":"INT +9%","option":{"intRate":9}},"16":{"string":"INT +9%","option":{"intRate":9}},"17":{"string":"INT +9%","option":{"intRate":9}},"18":{"string":"INT +9%","option":{"intRate":9}},"19":{"string":"INT +9%","option":{"intRate":9}},"20":{"string":"INT +9%","option":{"intRate":9}},"21":{"string":"INT +10%","option":{"intRate":10}},"22":{"string":"INT +10%","option":{"intRate":10}},"23":{"string":"INT +10%","option":{"intRate":10}},"24":{"string":"INT +10%","option":{"intRate":10}},"25":{"string":"INT +10%","option":{"intRate":10}}}},"30044":{"level":{"1":{"string":"LUK +3%","option":{"lukRate":3}},"2":{"string":"LUK +3%","option":{"lukRate":3}},"3":{"string":"LUK +3%","option":{"lukRate":3}},"4":{"string":"LUK +6%","option":{"lukRate":6}},"5":{"string":"LUK +6%","option":{"lukRate":6}},"6":{"string":"LUK +6%","option":{"lukRate":6}},"7":{"string":"LUK +6%","option":{"lukRate":6}},"8":{"string":"LUK +9%","option":{"lukRate":9}},"9":{"string":"LUK +9%","option":{"lukRate":9}},"10":{"string":"LUK +9%","option":{"lukRate":9}},"11":{"string":"LUK +9%","option":{"lukRate":9}},"12":{"string":"LUK +9%","option":{"lukRate":9}},"13":{"string":"LUK +9%","option":{"lukRate":9}},"14":{"string":"LUK +9%","option":{"lukRate":9}},"15":{"string":"LUK +9%","option":{"lukRate":9}},"16":{"string":"LUK +9%","option":{"lukRate":9}},"17":{"string":"LUK +9%","option":{"lukRate":9}},"18":{"string":"LUK +9%","option":{"lukRate":9}},"19":{"string":"LUK +9%","option":{"lukRate":9}},"20":{"string":"LUK +9%","option":{"lukRate":9}},"21":{"string":"LUK +10%","option":{"lukRate":10}},"22":{"string":"LUK +10%","option":{"lukRate":10}},"23":{"string":"LUK +10%","option":{"lukRate":10}},"24":{"string":"LUK +10%","option":{"lukRate":10}},"25":{"string":"LUK +10%","option":{"lukRate":10}}}},"30045":{"optionType":11,"level":{"1":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"2":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"3":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"4":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"5":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"6":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"7":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"8":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"9":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"10":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"11":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"12":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"13":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"14":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"15":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"16":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"17":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"18":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"19":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"20":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"21":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"22":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"23":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"24":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"25":{"string":"최대 HP +10%","option":{"maxHpRate":10}}}},"30046":{"optionType":11,"level":{"1":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"2":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"3":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"4":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"5":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"6":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"7":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"8":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"9":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"10":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"11":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"12":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"13":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"14":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"15":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"16":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"17":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"18":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"19":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"20":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"21":{"string":"최대 MP +10%","option":{"maxMpRate":10}},"22":{"string":"최대 MP +10%","option":{"maxMpRate":10}},"23":{"string":"최대 MP +10%","option":{"maxMpRate":10}},"24":{"string":"최대 MP +10%","option":{"maxMpRate":10}},"25":{"string":"최대 MP +10%","option":{"maxMpRate":10}}}},"30047":{"level":{"1":{"string":"STR +3%","option":{"strRate":3}},"2":{"string":"STR +3%","option":{"strRate":3}},"3":{"string":"STR +3%","option":{"strRate":3}},"4":{"string":"STR +6%","option":{"strRate":6}},"5":{"string":"STR +6%","option":{"strRate":6}},"6":{"string":"STR +6%","option":{"strRate":6}},"7":{"string":"STR +6%","option":{"strRate":6}},"8":{"string":"STR +9%","option":{"strRate":9}},"9":{"string":"STR +9%","option":{"strRate":9}},"10":{"string":"STR +9%","option":{"strRate":9}},"11":{"string":"STR +9%","option":{"strRate":9}},"12":{"string":"STR +9%","option":{"strRate":9}},"13":{"string":"STR +9%","option":{"strRate":9}},"14":{"string":"STR +9%","option":{"strRate":9}},"15":{"string":"STR +9%","option":{"strRate":9}},"16":{"string":"STR +9%","option":{"strRate":9}},"17":{"string":"STR +9%","option":{"strRate":9}},"18":{"string":"STR +9%","option":{"strRate":9}},"19":{"string":"STR +9%","option":{"strRate":9}},"20":{"string":"STR +9%","option":{"strRate":9}},"21":{"string":"STR +9%","option":{"strRate":9}},"22":{"string":"STR +9%","option":{"strRate":9}},"23":{"string":"STR +9%","option":{"strRate":9}},"24":{"string":"STR +9%","option":{"strRate":9}},"25":{"string":"STR +9%","option":{"strRate":9}}}},"30048":{"level":{"1":{"string":"INT +3%","option":{"intRate":3}},"2":{"string":"INT +3%","option":{"intRate":3}},"3":{"string":"INT +3%","option":{"intRate":3}},"4":{"string":"INT +6%","option":{"intRate":6}},"5":{"string":"INT +6%","option":{"intRate":6}},"6":{"string":"INT +6%","option":{"intRate":6}},"7":{"string":"INT +6%","option":{"intRate":6}},"8":{"string":"INT +9%","option":{"intRate":9}},"9":{"string":"INT +9%","option":{"intRate":9}},"10":{"string":"INT +9%","option":{"intRate":9}},"11":{"string":"INT +9%","option":{"intRate":9}},"12":{"string":"INT +9%","option":{"intRate":9}},"13":{"string":"INT +9%","option":{"intRate":9}},"14":{"string":"INT +9%","option":{"intRate":9}},"15":{"string":"INT +9%","option":{"intRate":9}},"16":{"string":"INT +9%","option":{"intRate":9}},"17":{"string":"INT +9%","option":{"intRate":9}},"18":{"string":"INT +9%","option":{"intRate":9}},"19":{"string":"INT +9%","option":{"intRate":9}},"20":{"string":"INT +9%","option":{"intRate":9}},"21":{"string":"INT +9%","option":{"intRate":9}},"22":{"string":"INT +9%","option":{"intRate":9}},"23":{"string":"INT +9%","option":{"intRate":9}},"24":{"string":"INT +9%","option":{"intRate":9}},"25":{"string":"INT +9%","option":{"intRate":9}}}},"30051":{"optionType":10,"level":{"1":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"2":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"3":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"4":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"5":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"6":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"7":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"8":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"9":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"10":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"11":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"12":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"13":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"14":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"15":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"16":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"17":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"18":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"19":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"20":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"21":{"string":"공격력 +10%","option":{"attackPowerRate":10}},"22":{"string":"공격력 +10%","option":{"attackPowerRate":10}},"23":{"string":"공격력 +10%","option":{"attackPowerRate":10}},"24":{"string":"공격력 +10%","option":{"attackPowerRate":10}},"25":{"string":"공격력 +10%","option":{"attackPowerRate":10}}}},"30052":{"optionType":10,"level":{"1":{"string":"마력 +3%","option":{"magicPowerRate":3}},"2":{"string":"마력 +3%","option":{"magicPowerRate":3}},"3":{"string":"마력 +3%","option":{"magicPowerRate":3}},"4":{"string":"마력 +6%","option":{"magicPowerRate":6}},"5":{"string":"마력 +6%","option":{"magicPowerRate":6}},"6":{"string":"마력 +6%","option":{"magicPowerRate":6}},"7":{"string":"마력 +6%","option":{"magicPowerRate":6}},"8":{"string":"마력 +9%","option":{"magicPowerRate":9}},"9":{"string":"마력 +9%","option":{"magicPowerRate":9}},"10":{"string":"마력 +9%","option":{"magicPowerRate":9}},"11":{"string":"마력 +9%","option":{"magicPowerRate":9}},"12":{"string":"마력 +9%","option":{"magicPowerRate":9}},"13":{"string":"마력 +9%","option":{"magicPowerRate":9}},"14":{"string":"마력 +9%","option":{"magicPowerRate":9}},"15":{"string":"마력 +9%","option":{"magicPowerRate":9}},"16":{"string":"마력 +9%","option":{"magicPowerRate":9}},"17":{"string":"마력 +9%","option":{"magicPowerRate":9}},"18":{"string":"마력 +9%","option":{"magicPowerRate":9}},"19":{"string":"마력 +9%","option":{"magicPowerRate":9}},"20":{"string":"마력 +9%","option":{"magicPowerRate":9}},"21":{"string":"마력 +10%","option":{"magicPowerRate":10}},"22":{"string":"마력 +10%","option":{"magicPowerRate":10}},"23":{"string":"마력 +10%","option":{"magicPowerRate":10}},"24":{"string":"마력 +10%","option":{"magicPowerRate":10}},"25":{"string":"마력 +10%","option":{"magicPowerRate":10}}}},"30053":{"optionType":11,"level":{"1":{"string":"방어력 +3%","option":{"armorRate":3}},"2":{"string":"방어력 +3%","option":{"armorRate":3}},"3":{"string":"방어력 +3%","option":{"armorRate":3}},"4":{"string":"방어력 +6%","option":{"armorRate":6}},"5":{"string":"방어력 +6%","option":{"armorRate":6}},"6":{"string":"방어력 +6%","option":{"armorRate":6}},"7":{"string":"방어력 +6%","option":{"armorRate":6}},"8":{"string":"방어력 +9%","option":{"armorRate":9}},"9":{"string":"방어력 +9%","option":{"armorRate":9}},"10":{"string":"방어력 +9%","option":{"armorRate":9}},"11":{"string":"방어력 +9%","option":{"armorRate":9}},"12":{"string":"방어력 +9%","option":{"armorRate":9}},"13":{"string":"방어력 +9%","option":{"armorRate":9}},"14":{"string":"방어력 +9%","option":{"armorRate":9}},"15":{"string":"방어력 +9%","option":{"armorRate":9}},"16":{"string":"방어력 +9%","option":{"armorRate":9}},"17":{"string":"방어력 +9%","option":{"armorRate":9}},"18":{"string":"방어력 +9%","option":{"armorRate":9}},"19":{"string":"방어력 +9%","option":{"armorRate":9}},"20":{"string":"방어력 +9%","option":{"armorRate":9}},"21":{"string":"방어력 +10%","option":{"armorRate":10}},"22":{"string":"방어력 +10%","option":{"armorRate":10}},"23":{"string":"방어력 +10%","option":{"armorRate":10}},"24":{"string":"방어력 +10%","option":{"armorRate":10}},"25":{"string":"방어력 +10%","option":{"armorRate":10}}}},"30054":{"optionType":11,"level":{"1":{"string":"방어력 +3%","option":{"armorRate":3}},"2":{"string":"방어력 +3%","option":{"armorRate":3}},"3":{"string":"방어력 +3%","option":{"armorRate":3}},"4":{"string":"방어력 +6%","option":{"armorRate":6}},"5":{"string":"방어력 +6%","option":{"armorRate":6}},"6":{"string":"방어력 +6%","option":{"armorRate":6}},"7":{"string":"방어력 +6%","option":{"armorRate":6}},"8":{"string":"방어력 +9%","option":{"armorRate":9}},"9":{"string":"방어력 +9%","option":{"armorRate":9}},"10":{"string":"방어력 +9%","option":{"armorRate":9}},"11":{"string":"방어력 +9%","option":{"armorRate":9}},"12":{"string":"방어력 +9%","option":{"armorRate":9}},"13":{"string":"방어력 +9%","option":{"armorRate":9}},"14":{"string":"방어력 +9%","option":{"armorRate":9}},"15":{"string":"방어력 +9%","option":{"armorRate":9}},"16":{"string":"방어력 +9%","option":{"armorRate":9}},"17":{"string":"방어력 +9%","option":{"armorRate":9}},"18":{"string":"방어력 +9%","option":{"armorRate":9}},"19":{"string":"방어력 +9%","option":{"armorRate":9}},"20":{"string":"방어력 +9%","option":{"armorRate":9}},"21":{"string":"방어력 +9%","option":{"armorRate":9}},"22":{"string":"방어력 +9%","option":{"armorRate":9}},"23":{"string":"방어력 +9%","option":{"armorRate":9}},"24":{"string":"방어력 +9%","option":{"armorRate":9}},"25":{"string":"방어력 +9%","option":{"armorRate":9}}}},"30055":{"optionType":10,"level":{"1":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"2":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"3":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"4":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"5":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"6":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"7":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"8":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"9":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"10":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"11":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"12":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"13":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"14":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"15":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"16":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"17":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"18":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"19":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"20":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"21":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"22":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"23":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"24":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"25":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}}}},"30070":{"optionType":10,"level":{"1":{"string":"데미지 +3%","option":{"damage":3}},"2":{"string":"데미지 +3%","option":{"damage":3}},"3":{"string":"데미지 +3%","option":{"damage":3}},"4":{"string":"데미지 +6%","option":{"damage":6}},"5":{"string":"데미지 +6%","option":{"damage":6}},"6":{"string":"데미지 +6%","option":{"damage":6}},"7":{"string":"데미지 +6%","option":{"damage":6}},"8":{"string":"데미지 +9%","option":{"damage":9}},"9":{"string":"데미지 +9%","option":{"damage":9}},"10":{"string":"데미지 +9%","option":{"damage":9}},"11":{"string":"데미지 +9%","option":{"damage":9}},"12":{"string":"데미지 +9%","option":{"damage":9}},"13":{"string":"데미지 +9%","option":{"damage":9}},"14":{"string":"데미지 +9%","option":{"damage":9}},"15":{"string":"데미지 +9%","option":{"damage":9}},"16":{"string":"데미지 +9%","option":{"damage":9}},"17":{"string":"데미지 +9%","option":{"damage":9}},"18":{"string":"데미지 +9%","option":{"damage":9}},"19":{"string":"데미지 +9%","option":{"damage":9}},"20":{"string":"데미지 +9%","option":{"damage":9}},"21":{"string":"데미지 +10%","option":{"damage":10}},"22":{"string":"데미지 +10%","option":{"damage":10}},"23":{"string":"데미지 +10%","option":{"damage":10}},"24":{"string":"데미지 +10%","option":{"damage":10}},"25":{"string":"데미지 +10%","option":{"damage":10}}}},"30086":{"level":{"1":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"2":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"3":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"4":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"5":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"6":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"7":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"8":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"9":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"10":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"11":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"12":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"13":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"14":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"15":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"16":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"17":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"18":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"19":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"20":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"21":{"string":"올스탯 +7%","option":{"strRate":7,"dexRate":7,"intRate":7,"lukRate":7}},"22":{"string":"올스탯 +7%","option":{"strRate":7,"dexRate":7,"intRate":7,"lukRate":7}},"23":{"string":"올스탯 +7%","option":{"strRate":7,"dexRate":7,"intRate":7,"lukRate":7}},"24":{"string":"올스탯 +7%","option":{"strRate":7,"dexRate":7,"intRate":7,"lukRate":7}},"25":{"string":"올스탯 +7%","option":{"strRate":7,"dexRate":7,"intRate":7,"lukRate":7}}}},"30091":{"optionType":54,"reqLevel":30,"level":{"1":{"string":"STR +32","option":{"str":32}},"2":{"string":"STR +32","option":{"str":32}},"3":{"string":"STR +32","option":{"str":32}},"4":{"string":"STR +32","option":{"str":32}},"5":{"string":"STR +32","option":{"str":32}},"6":{"string":"STR +32","option":{"str":32}},"7":{"string":"STR +32","option":{"str":32}},"8":{"string":"STR +32","option":{"str":32}},"9":{"string":"STR +32","option":{"str":32}},"10":{"string":"STR +32","option":{"str":32}},"11":{"string":"STR +32","option":{"str":32}},"12":{"string":"STR +32","option":{"str":32}},"13":{"string":"STR +32","option":{"str":32}},"14":{"string":"STR +32","option":{"str":32}},"15":{"string":"STR +32","option":{"str":32}},"16":{"string":"STR +32","option":{"str":32}},"17":{"string":"STR +32","option":{"str":32}},"18":{"string":"STR +32","option":{"str":32}},"19":{"string":"STR +32","option":{"str":32}},"20":{"string":"STR +32","option":{"str":32}},"21":{"string":"STR +32","option":{"str":32}},"22":{"string":"STR +32","option":{"str":32}},"23":{"string":"STR +32","option":{"str":32}},"24":{"string":"STR +32","option":{"str":32}},"25":{"string":"STR +32","option":{"str":32}}}},"30092":{"optionType":54,"reqLevel":30,"level":{"1":{"string":"DEX +32","option":{"dex":32}},"2":{"string":"DEX +32","option":{"dex":32}},"3":{"string":"DEX +32","option":{"dex":32}},"4":{"string":"DEX +32","option":{"dex":32}},"5":{"string":"DEX +32","option":{"dex":32}},"6":{"string":"DEX +32","option":{"dex":32}},"7":{"string":"DEX +32","option":{"dex":32}},"8":{"string":"DEX +32","option":{"dex":32}},"9":{"string":"DEX +32","option":{"dex":32}},"10":{"string":"DEX +32","option":{"dex":32}},"11":{"string":"DEX +32","option":{"dex":32}},"12":{"string":"DEX +32","option":{"dex":32}},"13":{"string":"DEX +32","option":{"dex":32}},"14":{"string":"DEX +32","option":{"dex":32}},"15":{"string":"DEX +32","option":{"dex":32}},"16":{"string":"DEX +32","option":{"dex":32}},"17":{"string":"DEX +32","option":{"dex":32}},"18":{"string":"DEX +32","option":{"dex":32}},"19":{"string":"DEX +32","option":{"dex":32}},"20":{"string":"DEX +32","option":{"dex":32}},"21":{"string":"DEX +32","option":{"dex":32}},"22":{"string":"DEX +32","option":{"dex":32}},"23":{"string":"DEX +32","option":{"dex":32}},"24":{"string":"DEX +32","option":{"dex":32}},"25":{"string":"DEX +32","option":{"dex":32}}}},"30093":{"optionType":54,"reqLevel":30,"level":{"1":{"string":"INT +32","option":{"int":32}},"2":{"string":"INT +32","option":{"int":32}},"3":{"string":"INT +32","option":{"int":32}},"4":{"string":"INT +32","option":{"int":32}},"5":{"string":"INT +32","option":{"int":32}},"6":{"string":"INT +32","option":{"int":32}},"7":{"string":"INT +32","option":{"int":32}},"8":{"string":"INT +32","option":{"int":32}},"9":{"string":"INT +32","option":{"int":32}},"10":{"string":"INT +32","option":{"int":32}},"11":{"string":"INT +32","option":{"int":32}},"12":{"string":"INT +32","option":{"int":32}},"13":{"string":"INT +32","option":{"int":32}},"14":{"string":"INT +32","option":{"int":32}},"15":{"string":"INT +32","option":{"int":32}},"16":{"string":"INT +32","option":{"int":32}},"17":{"string":"INT +32","option":{"int":32}},"18":{"string":"INT +32","option":{"int":32}},"19":{"string":"INT +32","option":{"int":32}},"20":{"string":"INT +32","option":{"int":32}},"21":{"string":"INT +32","option":{"int":32}},"22":{"string":"INT +32","option":{"int":32}},"23":{"string":"INT +32","option":{"int":32}},"24":{"string":"INT +32","option":{"int":32}},"25":{"string":"INT +32","option":{"int":32}}}},"30094":{"optionType":54,"reqLevel":30,"level":{"1":{"string":"LUK +32","option":{"luk":32}},"2":{"string":"LUK +32","option":{"luk":32}},"3":{"string":"LUK +32","option":{"luk":32}},"4":{"string":"LUK +32","option":{"luk":32}},"5":{"string":"LUK +32","option":{"luk":32}},"6":{"string":"LUK +32","option":{"luk":32}},"7":{"string":"LUK +32","option":{"luk":32}},"8":{"string":"LUK +32","option":{"luk":32}},"9":{"string":"LUK +32","option":{"luk":32}},"10":{"string":"LUK +32","option":{"luk":32}},"11":{"string":"LUK +32","option":{"luk":32}},"12":{"string":"LUK +32","option":{"luk":32}},"13":{"string":"LUK +32","option":{"luk":32}},"14":{"string":"LUK +32","option":{"luk":32}},"15":{"string":"LUK +32","option":{"luk":32}},"16":{"string":"LUK +32","option":{"luk":32}},"17":{"string":"LUK +32","option":{"luk":32}},"18":{"string":"LUK +32","option":{"luk":32}},"19":{"string":"LUK +32","option":{"luk":32}},"20":{"string":"LUK +32","option":{"luk":32}},"21":{"string":"LUK +32","option":{"luk":32}},"22":{"string":"LUK +32","option":{"luk":32}},"23":{"string":"LUK +32","option":{"luk":32}},"24":{"string":"LUK +32","option":{"luk":32}},"25":{"string":"LUK +32","option":{"luk":32}}}},"30106":{"optionType":51,"reqLevel":30,"level":{"1":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"2":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"3":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"4":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"5":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"6":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"7":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"8":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"9":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"10":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"11":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"12":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"13":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"14":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"15":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"16":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"17":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"18":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"19":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"20":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"21":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"22":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"23":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"24":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}},"25":{"string":"4차 이하 스킬 레벨 +1 (마스터 레벨까지만 증가)","option":{}}}},"30107":{"optionType":51,"reqLevel":70,"level":{"1":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"2":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"3":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"4":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"5":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"6":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"7":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"8":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"9":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"10":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"11":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"12":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"13":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"14":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"15":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"16":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"17":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"18":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"19":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"20":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"21":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"22":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"23":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"24":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"25":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}}}},"30291":{"optionType":10,"reqLevel":50,"level":{"1":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"2":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"3":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"4":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"5":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"6":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"7":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"8":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"9":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"10":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"11":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"12":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"13":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"14":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"15":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"16":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"17":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"18":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"19":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"20":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"21":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"22":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"23":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"24":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"25":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}}}},"30356":{"optionType":20,"reqLevel":20,"level":{"1":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"2":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"3":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"4":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"5":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"6":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"7":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"8":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"9":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"10":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"11":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"12":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"13":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"14":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"15":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"16":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"17":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"18":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"19":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"20":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"21":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"22":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"23":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"24":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}},"25":{"string":"피격 시 5% 확률로 데미지의 20% 무시","option":{}}}},"30357":{"optionType":20,"reqLevel":40,"level":{"1":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"2":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"3":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"4":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"5":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"6":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"7":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"8":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"9":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"10":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"11":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"12":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"13":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"14":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"15":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"16":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"17":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"18":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"19":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"20":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"21":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"22":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"23":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"24":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}},"25":{"string":"피격 시 5% 확률로 데미지의 40% 무시","option":{}}}},"30366":{"optionType":52,"level":{"1":{"string":"피격 후 무적시간 +2초","option":{}},"2":{"string":"피격 후 무적시간 +2초","option":{}},"3":{"string":"피격 후 무적시간 +2초","option":{}},"4":{"string":"피격 후 무적시간 +2초","option":{}},"5":{"string":"피격 후 무적시간 +2초","option":{}},"6":{"string":"피격 후 무적시간 +2초","option":{}},"7":{"string":"피격 후 무적시간 +2초","option":{}},"8":{"string":"피격 후 무적시간 +2초","option":{}},"9":{"string":"피격 후 무적시간 +2초","option":{}},"10":{"string":"피격 후 무적시간 +2초","option":{}},"11":{"string":"피격 후 무적시간 +2초","option":{}},"12":{"string":"피격 후 무적시간 +2초","option":{}},"13":{"string":"피격 후 무적시간 +2초","option":{}},"14":{"string":"피격 후 무적시간 +2초","option":{}},"15":{"string":"피격 후 무적시간 +2초","option":{}},"16":{"string":"피격 후 무적시간 +2초","option":{}},"17":{"string":"피격 후 무적시간 +2초","option":{}},"18":{"string":"피격 후 무적시간 +2초","option":{}},"19":{"string":"피격 후 무적시간 +2초","option":{}},"20":{"string":"피격 후 무적시간 +2초","option":{}},"21":{"string":"피격 후 무적시간 +2초","option":{}},"22":{"string":"피격 후 무적시간 +2초","option":{}},"23":{"string":"피격 후 무적시간 +2초","option":{}},"24":{"string":"피격 후 무적시간 +2초","option":{}},"25":{"string":"피격 후 무적시간 +2초","option":{}}}},"30371":{"optionType":52,"level":{"1":{"string":"피격 시 2% 확률로 5초간 무적","option":{}},"2":{"string":"피격 시 2% 확률로 5초간 무적","option":{}},"3":{"string":"피격 시 2% 확률로 5초간 무적","option":{}},"4":{"string":"피격 시 2% 확률로 5초간 무적","option":{}},"5":{"string":"피격 시 2% 확률로 6초간 무적","option":{}},"6":{"string":"피격 시 2% 확률로 6초간 무적","option":{}},"7":{"string":"피격 시 2% 확률로 6초간 무적","option":{}},"8":{"string":"피격 시 2% 확률로 6초간 무적","option":{}},"9":{"string":"피격 시 2% 확률로 7초간 무적","option":{}},"10":{"string":"피격 시 2% 확률로 7초간 무적","option":{}},"11":{"string":"피격 시 2% 확률로 7초간 무적","option":{}},"12":{"string":"피격 시 2% 확률로 7초간 무적","option":{}},"13":{"string":"피격 시 2% 확률로 7초간 무적","option":{}},"14":{"string":"피격 시 2% 확률로 7초간 무적","option":{}},"15":{"string":"피격 시 2% 확률로 7초간 무적","option":{}},"16":{"string":"피격 시 2% 확률로 7초간 무적","option":{}},"17":{"string":"피격 시 2% 확률로 7초간 무적","option":{}},"18":{"string":"피격 시 2% 확률로 7초간 무적","option":{}},"19":{"string":"피격 시 2% 확률로 7초간 무적","option":{}},"20":{"string":"피격 시 2% 확률로 7초간 무적","option":{}},"21":{"string":"피격 시 2% 확률로 7초간 무적","option":{}},"22":{"string":"피격 시 2% 확률로 7초간 무적","option":{}},"23":{"string":"피격 시 2% 확률로 7초간 무적","option":{}},"24":{"string":"피격 시 2% 확률로 7초간 무적","option":{}},"25":{"string":"피격 시 2% 확률로 7초간 무적","option":{}}}},"30376":{"optionType":52,"level":{"1":{"string":"10% 확률로 받은 피해의 20%를 반사","option":{}},"2":{"string":"10% 확률로 받은 피해의 20%를 반사","option":{}},"3":{"string":"10% 확률로 받은 피해의 20%를 반사","option":{}},"4":{"string":"10% 확률로 받은 피해의 35%를 반사","option":{}},"5":{"string":"10% 확률로 받은 피해의 35%를 반사","option":{}},"6":{"string":"20% 확률로 받은 피해의 35%를 반사","option":{}},"7":{"string":"20% 확률로 받은 피해의 35%를 반사","option":{}},"8":{"string":"20% 확률로 받은 피해의 50%를 반사","option":{}},"9":{"string":"20% 확률로 받은 피해의 50%를 반사","option":{}},"10":{"string":"20% 확률로 받은 피해의 50%를 반사","option":{}},"11":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"12":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"13":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"14":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"15":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"16":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"17":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"18":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"19":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"20":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"21":{"string":"35% 확률로 받은 피해의 50%를 반사","option":{}},"22":{"string":"35% 확률로 받은 피해의 50%를 반사","option":{}},"23":{"string":"35% 확률로 받은 피해의 50%를 반사","option":{}},"24":{"string":"35% 확률로 받은 피해의 50%를 반사","option":{}},"25":{"string":"35% 확률로 받은 피해의 50%를 반사","option":{}}}},"30377":{"optionType":52,"level":{"1":{"string":"10% 확률로 받은 피해의 30%를 반사","option":{}},"2":{"string":"10% 확률로 받은 피해의 30%를 반사","option":{}},"3":{"string":"10% 확률로 받은 피해의 30%를 반사","option":{}},"4":{"string":"10% 확률로 받은 피해의 50%를 반사","option":{}},"5":{"string":"10% 확률로 받은 피해의 50%를 반사","option":{}},"6":{"string":"20% 확률로 받은 피해의 50%를 반사","option":{}},"7":{"string":"20% 확률로 받은 피해의 50%를 반사","option":{}},"8":{"string":"20% 확률로 받은 피해의 70%를 반사","option":{}},"9":{"string":"20% 확률로 받은 피해의 70%를 반사","option":{}},"10":{"string":"20% 확률로 받은 피해의 70%를 반사","option":{}},"11":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"12":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"13":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"14":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"15":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"16":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"17":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"18":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"19":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"20":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"21":{"string":"35% 확률로 받은 피해의 70%를 반사","option":{}},"22":{"string":"35% 확률로 받은 피해의 70%를 반사","option":{}},"23":{"string":"35% 확률로 받은 피해의 70%를 반사","option":{}},"24":{"string":"35% 확률로 받은 피해의 70%를 반사","option":{}},"25":{"string":"35% 확률로 받은 피해의 70%를 반사","option":{}}}},"30551":{"optionType":11,"level":{"1":{"string":"HP 회복 아이템 및 회복 스킬 효율 +10%","option":{}},"2":{"string":"HP 회복 아이템 및 회복 스킬 효율 +10%","option":{}},"3":{"string":"HP 회복 아이템 및 회복 스킬 효율 +10%","option":{}},"4":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"5":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"6":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"7":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"8":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"9":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"10":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"11":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"12":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"13":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"14":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"15":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"16":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"17":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"18":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"19":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"20":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"21":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"22":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"23":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"24":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"25":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}}}},"30601":{"optionType":10,"reqLevel":50,"level":{"1":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"2":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"3":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"4":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"5":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"6":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"7":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"8":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"9":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"10":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"11":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"12":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"13":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"14":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"15":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"16":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"17":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"18":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"19":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"20":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"21":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"22":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"23":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"24":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"25":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}}}},"30602":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"2":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"3":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"4":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"5":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"6":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"7":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"8":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"9":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"10":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"11":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"12":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"13":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"14":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"15":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"16":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"17":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"18":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"19":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"20":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"21":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"22":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"23":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"24":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"25":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}}}},"30701":{"optionType":54,"reqLevel":20,"level":{"1":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"2":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"3":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"4":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"5":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"6":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"7":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"8":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"9":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"10":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"11":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"12":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"13":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"14":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"15":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"16":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"17":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"18":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"19":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"20":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"21":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"22":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"23":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"24":{"string":"공격 시 1% 확률로 오토스틸","option":{}},"25":{"string":"공격 시 1% 확률로 오토스틸","option":{}}}},"30702":{"optionType":54,"reqLevel":40,"level":{"1":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"2":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"3":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"4":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"5":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"6":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"7":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"8":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"9":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"10":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"11":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"12":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"13":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"14":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"15":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"16":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"17":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"18":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"19":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"20":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"21":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"22":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"23":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"24":{"string":"공격 시 2% 확률로 오토스틸","option":{}},"25":{"string":"공격 시 2% 확률로 오토스틸","option":{}}}},"31001":{"optionType":55,"reqLevel":70,"level":{"1":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"2":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"3":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"4":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"5":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"6":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"7":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"8":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"9":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"10":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"11":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"12":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"13":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"14":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"15":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"16":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"17":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"18":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"19":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"20":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"21":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"22":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"23":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"24":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}},"25":{"string":"<쓸만한 헤이스트> 스킬 사용 가능","option":{}}}},"31002":{"optionType":51,"reqLevel":70,"level":{"1":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"2":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"3":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"4":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"5":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"6":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"7":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"8":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"9":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"10":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"11":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"12":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"13":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"14":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"15":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"16":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"17":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"18":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"19":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"20":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"21":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"22":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"23":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"24":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}},"25":{"string":"<쓸만한 미스틱 도어> 스킬 사용 가능","option":{}}}},"31003":{"optionType":54,"reqLevel":120,"level":{"1":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"2":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"3":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"4":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"5":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"6":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"7":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"8":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"9":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"10":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"11":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"12":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"13":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"14":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"15":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"16":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"17":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"18":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"19":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"20":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"21":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"22":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"23":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"24":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}},"25":{"string":"<쓸만한 샤프 아이즈> 스킬 사용 가능","option":{}}}},"31004":{"optionType":53,"reqLevel":70,"level":{"1":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"2":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"3":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"4":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"5":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"6":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"7":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"8":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"9":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"10":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"11":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"12":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"13":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"14":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"15":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"16":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"17":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"18":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"19":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"20":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"21":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"22":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"23":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"24":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}},"25":{"string":"<쓸만한 하이퍼 바디> 스킬 사용 가능","option":{}}}},"32001":{"optionType":11,"level":{"1":{"string":"STR +6","option":{"str":6}},"2":{"string":"STR +6","option":{"str":6}},"3":{"string":"STR +8","option":{"str":8}},"4":{"string":"STR +8","option":{"str":8}},"5":{"string":"STR +10","option":{"str":10}},"6":{"string":"STR +12","option":{"str":12}},"7":{"string":"STR +12","option":{"str":12}},"8":{"string":"STR +14","option":{"str":14}},"9":{"string":"STR +14","option":{"str":14}},"10":{"string":"STR +18","option":{"str":18}},"11":{"string":"STR +18","option":{"str":18}},"12":{"string":"STR +18","option":{"str":18}},"13":{"string":"STR +18","option":{"str":18}},"14":{"string":"STR +18","option":{"str":18}},"15":{"string":"STR +18","option":{"str":18}},"16":{"string":"STR +18","option":{"str":18}},"17":{"string":"STR +18","option":{"str":18}},"18":{"string":"STR +18","option":{"str":18}},"19":{"string":"STR +18","option":{"str":18}},"20":{"string":"STR +18","option":{"str":18}},"21":{"string":"STR +19","option":{"str":19}},"22":{"string":"STR +19","option":{"str":19}},"23":{"string":"STR +19","option":{"str":19}},"24":{"string":"STR +19","option":{"str":19}},"25":{"string":"STR +19","option":{"str":19}}}},"32002":{"optionType":11,"level":{"1":{"string":"DEX +6","option":{"dex":6}},"2":{"string":"DEX +6","option":{"dex":6}},"3":{"string":"DEX +8","option":{"dex":8}},"4":{"string":"DEX +8","option":{"dex":8}},"5":{"string":"DEX +10","option":{"dex":10}},"6":{"string":"DEX +12","option":{"dex":12}},"7":{"string":"DEX +12","option":{"dex":12}},"8":{"string":"DEX +14","option":{"dex":14}},"9":{"string":"DEX +14","option":{"dex":14}},"10":{"string":"DEX +18","option":{"dex":18}},"11":{"string":"DEX +18","option":{"dex":18}},"12":{"string":"DEX +18","option":{"dex":18}},"13":{"string":"DEX +18","option":{"dex":18}},"14":{"string":"DEX +18","option":{"dex":18}},"15":{"string":"DEX +18","option":{"dex":18}},"16":{"string":"DEX +18","option":{"dex":18}},"17":{"string":"DEX +18","option":{"dex":18}},"18":{"string":"DEX +18","option":{"dex":18}},"19":{"string":"DEX +18","option":{"dex":18}},"20":{"string":"DEX +18","option":{"dex":18}},"21":{"string":"DEX +19","option":{"dex":19}},"22":{"string":"DEX +19","option":{"dex":19}},"23":{"string":"DEX +19","option":{"dex":19}},"24":{"string":"DEX +19","option":{"dex":19}},"25":{"string":"DEX +19","option":{"dex":19}}}},"32003":{"optionType":11,"level":{"1":{"string":"INT +6","option":{"int":6}},"2":{"string":"INT +6","option":{"int":6}},"3":{"string":"INT +8","option":{"int":8}},"4":{"string":"INT +8","option":{"int":8}},"5":{"string":"INT +10","option":{"int":10}},"6":{"string":"INT +12","option":{"int":12}},"7":{"string":"INT +12","option":{"int":12}},"8":{"string":"INT +14","option":{"int":14}},"9":{"string":"INT +14","option":{"int":14}},"10":{"string":"INT +18","option":{"int":18}},"11":{"string":"INT +18","option":{"int":18}},"12":{"string":"INT +18","option":{"int":18}},"13":{"string":"INT +18","option":{"int":18}},"14":{"string":"INT +18","option":{"int":18}},"15":{"string":"INT +18","option":{"int":18}},"16":{"string":"INT +18","option":{"int":18}},"17":{"string":"INT +18","option":{"int":18}},"18":{"string":"INT +18","option":{"int":18}},"19":{"string":"INT +18","option":{"int":18}},"20":{"string":"INT +18","option":{"int":18}},"21":{"string":"INT +19","option":{"int":19}},"22":{"string":"INT +19","option":{"int":19}},"23":{"string":"INT +19","option":{"int":19}},"24":{"string":"INT +19","option":{"int":19}},"25":{"string":"INT +19","option":{"int":19}}}},"32004":{"optionType":11,"level":{"1":{"string":"LUK +6","option":{"luk":6}},"2":{"string":"LUK +6","option":{"luk":6}},"3":{"string":"LUK +8","option":{"luk":8}},"4":{"string":"LUK +8","option":{"luk":8}},"5":{"string":"LUK +10","option":{"luk":10}},"6":{"string":"LUK +12","option":{"luk":12}},"7":{"string":"LUK +12","option":{"luk":12}},"8":{"string":"LUK +14","option":{"luk":14}},"9":{"string":"LUK +14","option":{"luk":14}},"10":{"string":"LUK +18","option":{"luk":18}},"11":{"string":"LUK +18","option":{"luk":18}},"12":{"string":"LUK +18","option":{"luk":18}},"13":{"string":"LUK +18","option":{"luk":18}},"14":{"string":"LUK +18","option":{"luk":18}},"15":{"string":"LUK +18","option":{"luk":18}},"16":{"string":"LUK +18","option":{"luk":18}},"17":{"string":"LUK +18","option":{"luk":18}},"18":{"string":"LUK +18","option":{"luk":18}},"19":{"string":"LUK +18","option":{"luk":18}},"20":{"string":"LUK +18","option":{"luk":18}},"21":{"string":"LUK +19","option":{"luk":19}},"22":{"string":"LUK +19","option":{"luk":19}},"23":{"string":"LUK +19","option":{"luk":19}},"24":{"string":"LUK +19","option":{"luk":19}},"25":{"string":"LUK +19","option":{"luk":19}}}},"32005":{"optionType":11,"level":{"1":{"string":"최대 HP +20","option":{"maxHp":20}},"2":{"string":"최대 HP +40","option":{"maxHp":40}},"3":{"string":"최대 HP +60","option":{"maxHp":60}},"4":{"string":"최대 HP +80","option":{"maxHp":80}},"5":{"string":"최대 HP +100","option":{"maxHp":100}},"6":{"string":"최대 HP +120","option":{"maxHp":120}},"7":{"string":"최대 HP +140","option":{"maxHp":140}},"8":{"string":"최대 HP +160","option":{"maxHp":160}},"9":{"string":"최대 HP +180","option":{"maxHp":180}},"10":{"string":"최대 HP +300","option":{"maxHp":300}},"11":{"string":"최대 HP +300","option":{"maxHp":300}},"12":{"string":"최대 HP +300","option":{"maxHp":300}},"13":{"string":"최대 HP +300","option":{"maxHp":300}},"14":{"string":"최대 HP +300","option":{"maxHp":300}},"15":{"string":"최대 HP +300","option":{"maxHp":300}},"16":{"string":"최대 HP +300","option":{"maxHp":300}},"17":{"string":"최대 HP +300","option":{"maxHp":300}},"18":{"string":"최대 HP +300","option":{"maxHp":300}},"19":{"string":"최대 HP +300","option":{"maxHp":300}},"20":{"string":"최대 HP +300","option":{"maxHp":300}},"21":{"string":"최대 HP +315","option":{"maxHp":315}},"22":{"string":"최대 HP +315","option":{"maxHp":315}},"23":{"string":"최대 HP +315","option":{"maxHp":315}},"24":{"string":"최대 HP +315","option":{"maxHp":315}},"25":{"string":"최대 HP +315","option":{"maxHp":315}}}},"32006":{"optionType":11,"level":{"1":{"string":"최대 MP +20","option":{"maxMp":20}},"2":{"string":"최대 MP +40","option":{"maxMp":40}},"3":{"string":"최대 MP +60","option":{"maxMp":60}},"4":{"string":"최대 MP +80","option":{"maxMp":80}},"5":{"string":"최대 MP +100","option":{"maxMp":100}},"6":{"string":"최대 MP +120","option":{"maxMp":120}},"7":{"string":"최대 MP +140","option":{"maxMp":140}},"8":{"string":"최대 MP +160","option":{"maxMp":160}},"9":{"string":"최대 MP +180","option":{"maxMp":180}},"10":{"string":"최대 MP +300","option":{"maxMp":300}},"11":{"string":"최대 MP +300","option":{"maxMp":300}},"12":{"string":"최대 MP +300","option":{"maxMp":300}},"13":{"string":"최대 MP +300","option":{"maxMp":300}},"14":{"string":"최대 MP +300","option":{"maxMp":300}},"15":{"string":"최대 MP +300","option":{"maxMp":300}},"16":{"string":"최대 MP +300","option":{"maxMp":300}},"17":{"string":"최대 MP +300","option":{"maxMp":300}},"18":{"string":"최대 MP +300","option":{"maxMp":300}},"19":{"string":"최대 MP +300","option":{"maxMp":300}},"20":{"string":"최대 MP +300","option":{"maxMp":300}},"21":{"string":"최대 MP +315","option":{"maxMp":315}},"22":{"string":"최대 MP +315","option":{"maxMp":315}},"23":{"string":"최대 MP +315","option":{"maxMp":315}},"24":{"string":"최대 MP +315","option":{"maxMp":315}},"25":{"string":"최대 MP +315","option":{"maxMp":315}}}},"32007":{"optionType":11,"level":{"1":{"string":"최대 HP +20","option":{"maxHp":20}},"2":{"string":"최대 HP +40","option":{"maxHp":40}},"3":{"string":"최대 HP +60","option":{"maxHp":60}},"4":{"string":"최대 HP +80","option":{"maxHp":80}},"5":{"string":"최대 HP +100","option":{"maxHp":100}},"6":{"string":"최대 HP +120","option":{"maxHp":120}},"7":{"string":"최대 HP +140","option":{"maxHp":140}},"8":{"string":"최대 HP +160","option":{"maxHp":160}},"9":{"string":"최대 HP +180","option":{"maxHp":180}},"10":{"string":"최대 HP +300","option":{"maxHp":300}},"11":{"string":"최대 HP +300","option":{"maxHp":300}},"12":{"string":"최대 HP +300","option":{"maxHp":300}},"13":{"string":"최대 HP +300","option":{"maxHp":300}},"14":{"string":"최대 HP +300","option":{"maxHp":300}},"15":{"string":"최대 HP +300","option":{"maxHp":300}},"16":{"string":"최대 HP +300","option":{"maxHp":300}},"17":{"string":"최대 HP +300","option":{"maxHp":300}},"18":{"string":"최대 HP +300","option":{"maxHp":300}},"19":{"string":"최대 HP +300","option":{"maxHp":300}},"20":{"string":"최대 HP +300","option":{"maxHp":300}},"21":{"string":"최대 HP +315","option":{"maxHp":315}},"22":{"string":"최대 HP +315","option":{"maxHp":315}},"23":{"string":"최대 HP +315","option":{"maxHp":315}},"24":{"string":"최대 HP +315","option":{"maxHp":315}},"25":{"string":"최대 HP +315","option":{"maxHp":315}}}},"32008":{"optionType":11,"level":{"1":{"string":"최대 MP +20","option":{"maxMp":20}},"2":{"string":"최대 MP +40","option":{"maxMp":40}},"3":{"string":"최대 MP +60","option":{"maxMp":60}},"4":{"string":"최대 MP +80","option":{"maxMp":80}},"5":{"string":"최대 MP +100","option":{"maxMp":100}},"6":{"string":"최대 MP +120","option":{"maxMp":120}},"7":{"string":"최대 MP +140","option":{"maxMp":140}},"8":{"string":"최대 MP +160","option":{"maxMp":160}},"9":{"string":"최대 MP +180","option":{"maxMp":180}},"10":{"string":"최대 MP +300","option":{"maxMp":300}},"11":{"string":"최대 MP +300","option":{"maxMp":300}},"12":{"string":"최대 MP +300","option":{"maxMp":300}},"13":{"string":"최대 MP +300","option":{"maxMp":300}},"14":{"string":"최대 MP +300","option":{"maxMp":300}},"15":{"string":"최대 MP +300","option":{"maxMp":300}},"16":{"string":"최대 MP +300","option":{"maxMp":300}},"17":{"string":"최대 MP +300","option":{"maxMp":300}},"18":{"string":"최대 MP +300","option":{"maxMp":300}},"19":{"string":"최대 MP +300","option":{"maxMp":300}},"20":{"string":"최대 MP +300","option":{"maxMp":300}},"21":{"string":"최대 MP +315","option":{"maxMp":315}},"22":{"string":"최대 MP +315","option":{"maxMp":315}},"23":{"string":"최대 MP +315","option":{"maxMp":315}},"24":{"string":"최대 MP +315","option":{"maxMp":315}},"25":{"string":"최대 MP +315","option":{"maxMp":315}}}},"32009":{"optionType":11,"level":{"1":{"string":"이동속도 +6","option":{"speed":6}},"2":{"string":"이동속도 +6","option":{"speed":6}},"3":{"string":"이동속도 +6","option":{"speed":6}},"4":{"string":"이동속도 +8","option":{"speed":8}},"5":{"string":"이동속도 +8","option":{"speed":8}},"6":{"string":"이동속도 +8","option":{"speed":8}},"7":{"string":"이동속도 +8","option":{"speed":8}},"8":{"string":"이동속도 +10","option":{"speed":10}},"9":{"string":"이동속도 +10","option":{"speed":10}},"10":{"string":"이동속도 +10","option":{"speed":10}},"11":{"string":"이동속도 +10","option":{"speed":10}},"12":{"string":"이동속도 +10","option":{"speed":10}},"13":{"string":"이동속도 +10","option":{"speed":10}},"14":{"string":"이동속도 +10","option":{"speed":10}},"15":{"string":"이동속도 +10","option":{"speed":10}},"16":{"string":"이동속도 +10","option":{"speed":10}},"17":{"string":"이동속도 +10","option":{"speed":10}},"18":{"string":"이동속도 +10","option":{"speed":10}},"19":{"string":"이동속도 +10","option":{"speed":10}},"20":{"string":"이동속도 +10","option":{"speed":10}},"21":{"string":"이동속도 +10","option":{"speed":10}},"22":{"string":"이동속도 +10","option":{"speed":10}},"23":{"string":"이동속도 +10","option":{"speed":10}},"24":{"string":"이동속도 +10","option":{"speed":10}},"25":{"string":"이동속도 +10","option":{"speed":10}}}},"32010":{"optionType":11,"level":{"1":{"string":"점프력 +6","option":{"jump":6}},"2":{"string":"점프력 +6","option":{"jump":6}},"3":{"string":"점프력 +6","option":{"jump":6}},"4":{"string":"점프력 +8","option":{"jump":8}},"5":{"string":"점프력 +8","option":{"jump":8}},"6":{"string":"점프력 +8","option":{"jump":8}},"7":{"string":"점프력 +8","option":{"jump":8}},"8":{"string":"점프력 +10","option":{"jump":10}},"9":{"string":"점프력 +10","option":{"jump":10}},"10":{"string":"점프력 +10","option":{"jump":10}},"11":{"string":"점프력 +10","option":{"jump":10}},"12":{"string":"점프력 +10","option":{"jump":10}},"13":{"string":"점프력 +10","option":{"jump":10}},"14":{"string":"점프력 +10","option":{"jump":10}},"15":{"string":"점프력 +10","option":{"jump":10}},"16":{"string":"점프력 +10","option":{"jump":10}},"17":{"string":"점프력 +10","option":{"jump":10}},"18":{"string":"점프력 +10","option":{"jump":10}},"19":{"string":"점프력 +10","option":{"jump":10}},"20":{"string":"점프력 +10","option":{"jump":10}},"21":{"string":"점프력 +10","option":{"jump":10}},"22":{"string":"점프력 +10","option":{"jump":10}},"23":{"string":"점프력 +10","option":{"jump":10}},"24":{"string":"점프력 +10","option":{"jump":10}},"25":{"string":"점프력 +10","option":{"jump":10}}}},"32011":{"optionType":11,"level":{"1":{"string":"공격력 +6","option":{"attackPower":6}},"2":{"string":"공격력 +6","option":{"attackPower":6}},"3":{"string":"공격력 +8","option":{"attackPower":8}},"4":{"string":"공격력 +8","option":{"attackPower":8}},"5":{"string":"공격력 +8","option":{"attackPower":8}},"6":{"string":"공격력 +10","option":{"attackPower":10}},"7":{"string":"공격력 +10","option":{"attackPower":10}},"8":{"string":"공격력 +10","option":{"attackPower":10}},"9":{"string":"공격력 +10","option":{"attackPower":10}},"10":{"string":"공격력 +14","option":{"attackPower":14}},"11":{"string":"공격력 +14","option":{"attackPower":14}},"12":{"string":"공격력 +14","option":{"attackPower":14}},"13":{"string":"공격력 +14","option":{"attackPower":14}},"14":{"string":"공격력 +14","option":{"attackPower":14}},"15":{"string":"공격력 +14","option":{"attackPower":14}},"16":{"string":"공격력 +14","option":{"attackPower":14}},"17":{"string":"공격력 +14","option":{"attackPower":14}},"18":{"string":"공격력 +14","option":{"attackPower":14}},"19":{"string":"공격력 +14","option":{"attackPower":14}},"20":{"string":"공격력 +14","option":{"attackPower":14}},"21":{"string":"공격력 +15","option":{"attackPower":15}},"22":{"string":"공격력 +15","option":{"attackPower":15}},"23":{"string":"공격력 +15","option":{"attackPower":15}},"24":{"string":"공격력 +15","option":{"attackPower":15}},"25":{"string":"공격력 +15","option":{"attackPower":15}}}},"32012":{"optionType":11,"level":{"1":{"string":"마력 +6","option":{"magicPower":6}},"2":{"string":"마력 +6","option":{"magicPower":6}},"3":{"string":"마력 +8","option":{"magicPower":8}},"4":{"string":"마력 +8","option":{"magicPower":8}},"5":{"string":"마력 +8","option":{"magicPower":8}},"6":{"string":"마력 +10","option":{"magicPower":10}},"7":{"string":"마력 +10","option":{"magicPower":10}},"8":{"string":"마력 +10","option":{"magicPower":10}},"9":{"string":"마력 +10","option":{"magicPower":10}},"10":{"string":"마력 +14","option":{"magicPower":14}},"11":{"string":"마력 +14","option":{"magicPower":14}},"12":{"string":"마력 +14","option":{"magicPower":14}},"13":{"string":"마력 +14","option":{"magicPower":14}},"14":{"string":"마력 +14","option":{"magicPower":14}},"15":{"string":"마력 +14","option":{"magicPower":14}},"16":{"string":"마력 +14","option":{"magicPower":14}},"17":{"string":"마력 +14","option":{"magicPower":14}},"18":{"string":"마력 +14","option":{"magicPower":14}},"19":{"string":"마력 +14","option":{"magicPower":14}},"20":{"string":"마력 +14","option":{"magicPower":14}},"21":{"string":"마력 +15","option":{"magicPower":15}},"22":{"string":"마력 +15","option":{"magicPower":15}},"23":{"string":"마력 +15","option":{"magicPower":15}},"24":{"string":"마력 +15","option":{"magicPower":15}},"25":{"string":"마력 +15","option":{"magicPower":15}}}},"32013":{"optionType":11,"level":{"1":{"string":"방어력 +15","option":{"armor":15}},"2":{"string":"방어력 +15","option":{"armor":15}},"3":{"string":"방어력 +30","option":{"armor":30}},"4":{"string":"방어력 +30","option":{"armor":30}},"5":{"string":"방어력 +30","option":{"armor":30}},"6":{"string":"방어력 +80","option":{"armor":80}},"7":{"string":"방어력 +80","option":{"armor":80}},"8":{"string":"방어력 +80","option":{"armor":80}},"9":{"string":"방어력 +80","option":{"armor":80}},"10":{"string":"방어력 +150","option":{"armor":150}},"11":{"string":"방어력 +150","option":{"armor":150}},"12":{"string":"방어력 +150","option":{"armor":150}},"13":{"string":"방어력 +150","option":{"armor":150}},"14":{"string":"방어력 +150","option":{"armor":150}},"15":{"string":"방어력 +150","option":{"armor":150}},"16":{"string":"방어력 +150","option":{"armor":150}},"17":{"string":"방어력 +150","option":{"armor":150}},"18":{"string":"방어력 +150","option":{"armor":150}},"19":{"string":"방어력 +150","option":{"armor":150}},"20":{"string":"방어력 +150","option":{"armor":150}},"21":{"string":"방어력 +185","option":{"armor":185}},"22":{"string":"방어력 +185","option":{"armor":185}},"23":{"string":"방어력 +185","option":{"armor":185}},"24":{"string":"방어력 +185","option":{"armor":185}},"25":{"string":"방어력 +185","option":{"armor":185}}}},"32014":{"optionType":11,"level":{"1":{"string":"방어력 +15","option":{"armor":15}},"2":{"string":"방어력 +15","option":{"armor":15}},"3":{"string":"방어력 +30","option":{"armor":30}},"4":{"string":"방어력 +30","option":{"armor":30}},"5":{"string":"방어력 +30","option":{"armor":30}},"6":{"string":"방어력 +80","option":{"armor":80}},"7":{"string":"방어력 +80","option":{"armor":80}},"8":{"string":"방어력 +80","option":{"armor":80}},"9":{"string":"방어력 +80","option":{"armor":80}},"10":{"string":"방어력 +150","option":{"armor":150}},"11":{"string":"방어력 +150","option":{"armor":150}},"12":{"string":"방어력 +150","option":{"armor":150}},"13":{"string":"방어력 +150","option":{"armor":150}},"14":{"string":"방어력 +150","option":{"armor":150}},"15":{"string":"방어력 +150","option":{"armor":150}},"16":{"string":"방어력 +150","option":{"armor":150}},"17":{"string":"방어력 +150","option":{"armor":150}},"18":{"string":"방어력 +150","option":{"armor":150}},"19":{"string":"방어력 +150","option":{"armor":150}},"20":{"string":"방어력 +150","option":{"armor":150}},"21":{"string":"방어력 +150","option":{"armor":150}},"22":{"string":"방어력 +150","option":{"armor":150}},"23":{"string":"방어력 +150","option":{"armor":150}},"24":{"string":"방어력 +150","option":{"armor":150}},"25":{"string":"방어력 +150","option":{"armor":150}}}},"32041":{"optionType":11,"level":{"1":{"string":"STR +2%","option":{"strRate":2}},"2":{"string":"STR +2%","option":{"strRate":2}},"3":{"string":"STR +3%","option":{"strRate":3}},"4":{"string":"STR +3%","option":{"strRate":3}},"5":{"string":"STR +3%","option":{"strRate":3}},"6":{"string":"STR +4%","option":{"strRate":4}},"7":{"string":"STR +4%","option":{"strRate":4}},"8":{"string":"STR +4%","option":{"strRate":4}},"9":{"string":"STR +4%","option":{"strRate":4}},"10":{"string":"STR +6%","option":{"strRate":6}},"11":{"string":"STR +6%","option":{"strRate":6}},"12":{"string":"STR +6%","option":{"strRate":6}},"13":{"string":"STR +6%","option":{"strRate":6}},"14":{"string":"STR +6%","option":{"strRate":6}},"15":{"string":"STR +6%","option":{"strRate":6}},"16":{"string":"STR +6%","option":{"strRate":6}},"17":{"string":"STR +6%","option":{"strRate":6}},"18":{"string":"STR +6%","option":{"strRate":6}},"19":{"string":"STR +6%","option":{"strRate":6}},"20":{"string":"STR +6%","option":{"strRate":6}},"21":{"string":"STR +7%","option":{"strRate":7}},"22":{"string":"STR +7%","option":{"strRate":7}},"23":{"string":"STR +7%","option":{"strRate":7}},"24":{"string":"STR +7%","option":{"strRate":7}},"25":{"string":"STR +7%","option":{"strRate":7}}}},"32042":{"optionType":11,"level":{"1":{"string":"DEX +2%","option":{"dexRate":2}},"2":{"string":"DEX +2%","option":{"dexRate":2}},"3":{"string":"DEX +3%","option":{"dexRate":3}},"4":{"string":"DEX +3%","option":{"dexRate":3}},"5":{"string":"DEX +3%","option":{"dexRate":3}},"6":{"string":"DEX +4%","option":{"dexRate":4}},"7":{"string":"DEX +4%","option":{"dexRate":4}},"8":{"string":"DEX +4%","option":{"dexRate":4}},"9":{"string":"DEX +4%","option":{"dexRate":4}},"10":{"string":"DEX +6%","option":{"dexRate":6}},"11":{"string":"DEX +6%","option":{"dexRate":6}},"12":{"string":"DEX +6%","option":{"dexRate":6}},"13":{"string":"DEX +6%","option":{"dexRate":6}},"14":{"string":"DEX +6%","option":{"dexRate":6}},"15":{"string":"DEX +6%","option":{"dexRate":6}},"16":{"string":"DEX +6%","option":{"dexRate":6}},"17":{"string":"DEX +6%","option":{"dexRate":6}},"18":{"string":"DEX +6%","option":{"dexRate":6}},"19":{"string":"DEX +6%","option":{"dexRate":6}},"20":{"string":"DEX +6%","option":{"dexRate":6}},"21":{"string":"DEX +7%","option":{"dexRate":7}},"22":{"string":"DEX +7%","option":{"dexRate":7}},"23":{"string":"DEX +7%","option":{"dexRate":7}},"24":{"string":"DEX +7%","option":{"dexRate":7}},"25":{"string":"DEX +7%","option":{"dexRate":7}}}},"32043":{"optionType":11,"level":{"1":{"string":"INT +2%","option":{"intRate":2}},"2":{"string":"INT +2%","option":{"intRate":2}},"3":{"string":"INT +3%","option":{"intRate":3}},"4":{"string":"INT +3%","option":{"intRate":3}},"5":{"string":"INT +3%","option":{"intRate":3}},"6":{"string":"INT +4%","option":{"intRate":4}},"7":{"string":"INT +4%","option":{"intRate":4}},"8":{"string":"INT +4%","option":{"intRate":4}},"9":{"string":"INT +4%","option":{"intRate":4}},"10":{"string":"INT +6%","option":{"intRate":6}},"11":{"string":"INT +6%","option":{"intRate":6}},"12":{"string":"INT +6%","option":{"intRate":6}},"13":{"string":"INT +6%","option":{"intRate":6}},"14":{"string":"INT +6%","option":{"intRate":6}},"15":{"string":"INT +6%","option":{"intRate":6}},"16":{"string":"INT +6%","option":{"intRate":6}},"17":{"string":"INT +6%","option":{"intRate":6}},"18":{"string":"INT +6%","option":{"intRate":6}},"19":{"string":"INT +6%","option":{"intRate":6}},"20":{"string":"INT +6%","option":{"intRate":6}},"21":{"string":"INT +7%","option":{"intRate":7}},"22":{"string":"INT +7%","option":{"intRate":7}},"23":{"string":"INT +7%","option":{"intRate":7}},"24":{"string":"INT +7%","option":{"intRate":7}},"25":{"string":"INT +7%","option":{"intRate":7}}}},"32044":{"optionType":11,"level":{"1":{"string":"LUK +2%","option":{"lukRate":2}},"2":{"string":"LUK +2%","option":{"lukRate":2}},"3":{"string":"LUK +3%","option":{"lukRate":3}},"4":{"string":"LUK +3%","option":{"lukRate":3}},"5":{"string":"LUK +3%","option":{"lukRate":3}},"6":{"string":"LUK +4%","option":{"lukRate":4}},"7":{"string":"LUK +4%","option":{"lukRate":4}},"8":{"string":"LUK +4%","option":{"lukRate":4}},"9":{"string":"LUK +4%","option":{"lukRate":4}},"10":{"string":"LUK +6%","option":{"lukRate":6}},"11":{"string":"LUK +6%","option":{"lukRate":6}},"12":{"string":"LUK +6%","option":{"lukRate":6}},"13":{"string":"LUK +6%","option":{"lukRate":6}},"14":{"string":"LUK +6%","option":{"lukRate":6}},"15":{"string":"LUK +6%","option":{"lukRate":6}},"16":{"string":"LUK +6%","option":{"lukRate":6}},"17":{"string":"LUK +6%","option":{"lukRate":6}},"18":{"string":"LUK +6%","option":{"lukRate":6}},"19":{"string":"LUK +6%","option":{"lukRate":6}},"20":{"string":"LUK +6%","option":{"lukRate":6}},"21":{"string":"LUK +7%","option":{"lukRate":7}},"22":{"string":"LUK +7%","option":{"lukRate":7}},"23":{"string":"LUK +7%","option":{"lukRate":7}},"24":{"string":"LUK +7%","option":{"lukRate":7}},"25":{"string":"LUK +7%","option":{"lukRate":7}}}},"32045":{"level":{"1":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"2":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"3":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"4":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"5":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"6":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"7":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"8":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"9":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"10":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"11":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"12":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"13":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"14":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"15":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"16":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"17":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"18":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"19":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"20":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"21":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"22":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"23":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"24":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"25":{"string":"최대 HP +9%","option":{"maxHpRate":9}}}},"32046":{"level":{"1":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"2":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"3":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"4":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"5":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"6":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"7":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"8":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"9":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"10":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"11":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"12":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"13":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"14":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"15":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"16":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"17":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"18":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"19":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"20":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"21":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"22":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"23":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"24":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"25":{"string":"최대 MP +9%","option":{"maxMpRate":9}}}},"32047":{"level":{"1":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"2":{"string":"최대 HP +2%","option":{"maxHpRate":2}},"3":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"4":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"5":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"6":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"7":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"8":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"9":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"10":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"11":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"12":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"13":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"14":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"15":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"16":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"17":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"18":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"19":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"20":{"string":"최대 HP +8%","option":{"maxHpRate":8}},"21":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"22":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"23":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"24":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"25":{"string":"최대 HP +9%","option":{"maxHpRate":9}}}},"32048":{"level":{"1":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"2":{"string":"최대 MP +2%","option":{"maxMpRate":2}},"3":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"4":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"5":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"6":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"7":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"8":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"9":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"10":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"11":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"12":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"13":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"14":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"15":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"16":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"17":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"18":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"19":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"20":{"string":"최대 MP +8%","option":{"maxMpRate":8}},"21":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"22":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"23":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"24":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"25":{"string":"최대 MP +9%","option":{"maxMpRate":9}}}},"32051":{"optionType":10,"level":{"1":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"2":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"3":{"string":"공격력 +3%","option":{"attackPowerRate":3}},"4":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"5":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"6":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"7":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"8":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"9":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"10":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"11":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"12":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"13":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"14":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"15":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"16":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"17":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"18":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"19":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"20":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"21":{"string":"공격력 +10%","option":{"attackPowerRate":10}},"22":{"string":"공격력 +10%","option":{"attackPowerRate":10}},"23":{"string":"공격력 +10%","option":{"attackPowerRate":10}},"24":{"string":"공격력 +10%","option":{"attackPowerRate":10}},"25":{"string":"공격력 +10%","option":{"attackPowerRate":10}}}},"32052":{"optionType":11,"reqLevel":100,"level":{"1":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"2":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"3":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"4":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"5":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"6":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"7":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"8":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"9":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"10":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"11":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"12":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"13":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"14":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"15":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"16":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"17":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"18":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"19":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"20":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"21":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"22":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"23":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"24":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"25":{"string":"공격력 +1%","option":{"attackPowerRate":1}}}},"32053":{"optionType":10,"level":{"1":{"string":"마력 +3%","option":{"magicPowerRate":3}},"2":{"string":"마력 +3%","option":{"magicPowerRate":3}},"3":{"string":"마력 +3%","option":{"magicPowerRate":3}},"4":{"string":"마력 +6%","option":{"magicPowerRate":6}},"5":{"string":"마력 +6%","option":{"magicPowerRate":6}},"6":{"string":"마력 +6%","option":{"magicPowerRate":6}},"7":{"string":"마력 +6%","option":{"magicPowerRate":6}},"8":{"string":"마력 +9%","option":{"magicPowerRate":9}},"9":{"string":"마력 +9%","option":{"magicPowerRate":9}},"10":{"string":"마력 +9%","option":{"magicPowerRate":9}},"11":{"string":"마력 +9%","option":{"magicPowerRate":9}},"12":{"string":"마력 +9%","option":{"magicPowerRate":9}},"13":{"string":"마력 +9%","option":{"magicPowerRate":9}},"14":{"string":"마력 +9%","option":{"magicPowerRate":9}},"15":{"string":"마력 +9%","option":{"magicPowerRate":9}},"16":{"string":"마력 +9%","option":{"magicPowerRate":9}},"17":{"string":"마력 +9%","option":{"magicPowerRate":9}},"18":{"string":"마력 +9%","option":{"magicPowerRate":9}},"19":{"string":"마력 +9%","option":{"magicPowerRate":9}},"20":{"string":"마력 +9%","option":{"magicPowerRate":9}},"21":{"string":"마력 +10%","option":{"magicPowerRate":10}},"22":{"string":"마력 +10%","option":{"magicPowerRate":10}},"23":{"string":"마력 +10%","option":{"magicPowerRate":10}},"24":{"string":"마력 +10%","option":{"magicPowerRate":10}},"25":{"string":"마력 +10%","option":{"magicPowerRate":10}}}},"32054":{"optionType":11,"reqLevel":100,"level":{"1":{"string":"마력 +1%","option":{"magicPowerRate":1}},"2":{"string":"마력 +1%","option":{"magicPowerRate":1}},"3":{"string":"마력 +1%","option":{"magicPowerRate":1}},"4":{"string":"마력 +1%","option":{"magicPowerRate":1}},"5":{"string":"마력 +1%","option":{"magicPowerRate":1}},"6":{"string":"마력 +1%","option":{"magicPowerRate":1}},"7":{"string":"마력 +1%","option":{"magicPowerRate":1}},"8":{"string":"마력 +1%","option":{"magicPowerRate":1}},"9":{"string":"마력 +1%","option":{"magicPowerRate":1}},"10":{"string":"마력 +1%","option":{"magicPowerRate":1}},"11":{"string":"마력 +1%","option":{"magicPowerRate":1}},"12":{"string":"마력 +1%","option":{"magicPowerRate":1}},"13":{"string":"마력 +1%","option":{"magicPowerRate":1}},"14":{"string":"마력 +1%","option":{"magicPowerRate":1}},"15":{"string":"마력 +1%","option":{"magicPowerRate":1}},"16":{"string":"마력 +1%","option":{"magicPowerRate":1}},"17":{"string":"마력 +1%","option":{"magicPowerRate":1}},"18":{"string":"마력 +1%","option":{"magicPowerRate":1}},"19":{"string":"마력 +1%","option":{"magicPowerRate":1}},"20":{"string":"마력 +1%","option":{"magicPowerRate":1}},"21":{"string":"마력 +1%","option":{"magicPowerRate":1}},"22":{"string":"마력 +1%","option":{"magicPowerRate":1}},"23":{"string":"마력 +1%","option":{"magicPowerRate":1}},"24":{"string":"마력 +1%","option":{"magicPowerRate":1}},"25":{"string":"마력 +1%","option":{"magicPowerRate":1}}}},"32055":{"optionType":11,"level":{"1":{"string":"방어력 +2%","option":{"armorRate":2}},"2":{"string":"방어력 +2%","option":{"armorRate":2}},"3":{"string":"방어력 +3%","option":{"armorRate":3}},"4":{"string":"방어력 +3%","option":{"armorRate":3}},"5":{"string":"방어력 +3%","option":{"armorRate":3}},"6":{"string":"방어력 +5%","option":{"armorRate":5}},"7":{"string":"방어력 +5%","option":{"armorRate":5}},"8":{"string":"방어력 +5%","option":{"armorRate":5}},"9":{"string":"방어력 +5%","option":{"armorRate":5}},"10":{"string":"방어력 +7%","option":{"armorRate":7}},"11":{"string":"방어력 +7%","option":{"armorRate":7}},"12":{"string":"방어력 +7%","option":{"armorRate":7}},"13":{"string":"방어력 +7%","option":{"armorRate":7}},"14":{"string":"방어력 +7%","option":{"armorRate":7}},"15":{"string":"방어력 +7%","option":{"armorRate":7}},"16":{"string":"방어력 +7%","option":{"armorRate":7}},"17":{"string":"방어력 +7%","option":{"armorRate":7}},"18":{"string":"방어력 +7%","option":{"armorRate":7}},"19":{"string":"방어력 +7%","option":{"armorRate":7}},"20":{"string":"방어력 +7%","option":{"armorRate":7}},"21":{"string":"방어력 +8%","option":{"armorRate":8}},"22":{"string":"방어력 +8%","option":{"armorRate":8}},"23":{"string":"방어력 +8%","option":{"armorRate":8}},"24":{"string":"방어력 +8%","option":{"armorRate":8}},"25":{"string":"방어력 +8%","option":{"armorRate":8}}}},"32056":{"optionType":11,"level":{"1":{"string":"방어력 +2%","option":{"armorRate":2}},"2":{"string":"방어력 +2%","option":{"armorRate":2}},"3":{"string":"방어력 +3%","option":{"armorRate":3}},"4":{"string":"방어력 +3%","option":{"armorRate":3}},"5":{"string":"방어력 +3%","option":{"armorRate":3}},"6":{"string":"방어력 +5%","option":{"armorRate":5}},"7":{"string":"방어력 +5%","option":{"armorRate":5}},"8":{"string":"방어력 +5%","option":{"armorRate":5}},"9":{"string":"방어력 +5%","option":{"armorRate":5}},"10":{"string":"방어력 +7%","option":{"armorRate":7}},"11":{"string":"방어력 +7%","option":{"armorRate":7}},"12":{"string":"방어력 +7%","option":{"armorRate":7}},"13":{"string":"방어력 +7%","option":{"armorRate":7}},"14":{"string":"방어력 +7%","option":{"armorRate":7}},"15":{"string":"방어력 +7%","option":{"armorRate":7}},"16":{"string":"방어력 +7%","option":{"armorRate":7}},"17":{"string":"방어력 +7%","option":{"armorRate":7}},"18":{"string":"방어력 +7%","option":{"armorRate":7}},"19":{"string":"방어력 +7%","option":{"armorRate":7}},"20":{"string":"방어력 +7%","option":{"armorRate":7}},"21":{"string":"방어력 +7%","option":{"armorRate":7}},"22":{"string":"방어력 +7%","option":{"armorRate":7}},"23":{"string":"방어력 +7%","option":{"armorRate":7}},"24":{"string":"방어력 +7%","option":{"armorRate":7}},"25":{"string":"방어력 +7%","option":{"armorRate":7}}}},"32057":{"optionType":10,"level":{"1":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"2":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"3":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"4":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"5":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"6":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"7":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"8":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"9":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"10":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"11":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"12":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"13":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"14":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"15":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"16":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"17":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"18":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"19":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"20":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"21":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"22":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"23":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"24":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"25":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}}}},"32058":{"optionType":11,"reqLevel":100,"level":{"1":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"2":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"3":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"4":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"5":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"6":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"7":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"8":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"9":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"10":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"11":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"12":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"13":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"14":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"15":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"16":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"17":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"18":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"19":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"20":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"21":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"22":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"23":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"24":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"25":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}}}},"32059":{"optionType":10,"level":{"1":{"string":"STR +3%","option":{"strRate":3}},"2":{"string":"STR +3%","option":{"strRate":3}},"3":{"string":"STR +3%","option":{"strRate":3}},"4":{"string":"STR +6%","option":{"strRate":6}},"5":{"string":"STR +6%","option":{"strRate":6}},"6":{"string":"STR +6%","option":{"strRate":6}},"7":{"string":"STR +6%","option":{"strRate":6}},"8":{"string":"STR +9%","option":{"strRate":9}},"9":{"string":"STR +9%","option":{"strRate":9}},"10":{"string":"STR +9%","option":{"strRate":9}},"11":{"string":"STR +9%","option":{"strRate":9}},"12":{"string":"STR +9%","option":{"strRate":9}},"13":{"string":"STR +9%","option":{"strRate":9}},"14":{"string":"STR +9%","option":{"strRate":9}},"15":{"string":"STR +9%","option":{"strRate":9}},"16":{"string":"STR +9%","option":{"strRate":9}},"17":{"string":"STR +9%","option":{"strRate":9}},"18":{"string":"STR +9%","option":{"strRate":9}},"19":{"string":"STR +9%","option":{"strRate":9}},"20":{"string":"STR +9%","option":{"strRate":9}},"21":{"string":"STR +10%","option":{"strRate":10}},"22":{"string":"STR +10%","option":{"strRate":10}},"23":{"string":"STR +10%","option":{"strRate":10}},"24":{"string":"STR +10%","option":{"strRate":10}},"25":{"string":"STR +10%","option":{"strRate":10}}}},"32060":{"optionType":10,"level":{"1":{"string":"DEX +3%","option":{"dexRate":3}},"2":{"string":"DEX +3%","option":{"dexRate":3}},"3":{"string":"DEX +3%","option":{"dexRate":3}},"4":{"string":"DEX +6%","option":{"dexRate":6}},"5":{"string":"DEX +6%","option":{"dexRate":6}},"6":{"string":"DEX +6%","option":{"dexRate":6}},"7":{"string":"DEX +6%","option":{"dexRate":6}},"8":{"string":"DEX +9%","option":{"dexRate":9}},"9":{"string":"DEX +9%","option":{"dexRate":9}},"10":{"string":"DEX +9%","option":{"dexRate":9}},"11":{"string":"DEX +9%","option":{"dexRate":9}},"12":{"string":"DEX +9%","option":{"dexRate":9}},"13":{"string":"DEX +9%","option":{"dexRate":9}},"14":{"string":"DEX +9%","option":{"dexRate":9}},"15":{"string":"DEX +9%","option":{"dexRate":9}},"16":{"string":"DEX +9%","option":{"dexRate":9}},"17":{"string":"DEX +9%","option":{"dexRate":9}},"18":{"string":"DEX +9%","option":{"dexRate":9}},"19":{"string":"DEX +9%","option":{"dexRate":9}},"20":{"string":"DEX +9%","option":{"dexRate":9}},"21":{"string":"DEX +10%","option":{"dexRate":10}},"22":{"string":"DEX +10%","option":{"dexRate":10}},"23":{"string":"DEX +10%","option":{"dexRate":10}},"24":{"string":"DEX +10%","option":{"dexRate":10}},"25":{"string":"DEX +10%","option":{"dexRate":10}}}},"32061":{"optionType":10,"level":{"1":{"string":"INT +3%","option":{"intRate":3}},"2":{"string":"INT +3%","option":{"intRate":3}},"3":{"string":"INT +3%","option":{"intRate":3}},"4":{"string":"INT +6%","option":{"intRate":6}},"5":{"string":"INT +6%","option":{"intRate":6}},"6":{"string":"INT +6%","option":{"intRate":6}},"7":{"string":"INT +6%","option":{"intRate":6}},"8":{"string":"INT +9%","option":{"intRate":9}},"9":{"string":"INT +9%","option":{"intRate":9}},"10":{"string":"INT +9%","option":{"intRate":9}},"11":{"string":"INT +9%","option":{"intRate":9}},"12":{"string":"INT +9%","option":{"intRate":9}},"13":{"string":"INT +9%","option":{"intRate":9}},"14":{"string":"INT +9%","option":{"intRate":9}},"15":{"string":"INT +9%","option":{"intRate":9}},"16":{"string":"INT +9%","option":{"intRate":9}},"17":{"string":"INT +9%","option":{"intRate":9}},"18":{"string":"INT +9%","option":{"intRate":9}},"19":{"string":"INT +9%","option":{"intRate":9}},"20":{"string":"INT +9%","option":{"intRate":9}},"21":{"string":"INT +10%","option":{"intRate":10}},"22":{"string":"INT +10%","option":{"intRate":10}},"23":{"string":"INT +10%","option":{"intRate":10}},"24":{"string":"INT +10%","option":{"intRate":10}},"25":{"string":"INT +10%","option":{"intRate":10}}}},"32062":{"optionType":10,"level":{"1":{"string":"LUK +3%","option":{"lukRate":3}},"2":{"string":"LUK +3%","option":{"lukRate":3}},"3":{"string":"LUK +3%","option":{"lukRate":3}},"4":{"string":"LUK +6%","option":{"lukRate":6}},"5":{"string":"LUK +6%","option":{"lukRate":6}},"6":{"string":"LUK +6%","option":{"lukRate":6}},"7":{"string":"LUK +6%","option":{"lukRate":6}},"8":{"string":"LUK +9%","option":{"lukRate":9}},"9":{"string":"LUK +9%","option":{"lukRate":9}},"10":{"string":"LUK +9%","option":{"lukRate":9}},"11":{"string":"LUK +9%","option":{"lukRate":9}},"12":{"string":"LUK +9%","option":{"lukRate":9}},"13":{"string":"LUK +9%","option":{"lukRate":9}},"14":{"string":"LUK +9%","option":{"lukRate":9}},"15":{"string":"LUK +9%","option":{"lukRate":9}},"16":{"string":"LUK +9%","option":{"lukRate":9}},"17":{"string":"LUK +9%","option":{"lukRate":9}},"18":{"string":"LUK +9%","option":{"lukRate":9}},"19":{"string":"LUK +9%","option":{"lukRate":9}},"20":{"string":"LUK +9%","option":{"lukRate":9}},"21":{"string":"LUK +10%","option":{"lukRate":10}},"22":{"string":"LUK +10%","option":{"lukRate":10}},"23":{"string":"LUK +10%","option":{"lukRate":10}},"24":{"string":"LUK +10%","option":{"lukRate":10}},"25":{"string":"LUK +10%","option":{"lukRate":10}}}},"32070":{"optionType":10,"level":{"1":{"string":"데미지 +3%","option":{"damage":3}},"2":{"string":"데미지 +3%","option":{"damage":3}},"3":{"string":"데미지 +3%","option":{"damage":3}},"4":{"string":"데미지 +6%","option":{"damage":6}},"5":{"string":"데미지 +6%","option":{"damage":6}},"6":{"string":"데미지 +6%","option":{"damage":6}},"7":{"string":"데미지 +6%","option":{"damage":6}},"8":{"string":"데미지 +9%","option":{"damage":9}},"9":{"string":"데미지 +9%","option":{"damage":9}},"10":{"string":"데미지 +9%","option":{"damage":9}},"11":{"string":"데미지 +9%","option":{"damage":9}},"12":{"string":"데미지 +9%","option":{"damage":9}},"13":{"string":"데미지 +9%","option":{"damage":9}},"14":{"string":"데미지 +9%","option":{"damage":9}},"15":{"string":"데미지 +9%","option":{"damage":9}},"16":{"string":"데미지 +9%","option":{"damage":9}},"17":{"string":"데미지 +9%","option":{"damage":9}},"18":{"string":"데미지 +9%","option":{"damage":9}},"19":{"string":"데미지 +9%","option":{"damage":9}},"20":{"string":"데미지 +9%","option":{"damage":9}},"21":{"string":"데미지 +10%","option":{"damage":10}},"22":{"string":"데미지 +10%","option":{"damage":10}},"23":{"string":"데미지 +10%","option":{"damage":10}},"24":{"string":"데미지 +10%","option":{"damage":10}},"25":{"string":"데미지 +10%","option":{"damage":10}}}},"32071":{"optionType":11,"reqLevel":100,"level":{"1":{"string":"데미지 +1%","option":{"damage":1}},"2":{"string":"데미지 +1%","option":{"damage":1}},"3":{"string":"데미지 +1%","option":{"damage":1}},"4":{"string":"데미지 +1%","option":{"damage":1}},"5":{"string":"데미지 +1%","option":{"damage":1}},"6":{"string":"데미지 +1%","option":{"damage":1}},"7":{"string":"데미지 +1%","option":{"damage":1}},"8":{"string":"데미지 +1%","option":{"damage":1}},"9":{"string":"데미지 +1%","option":{"damage":1}},"10":{"string":"데미지 +1%","option":{"damage":1}},"11":{"string":"데미지 +1%","option":{"damage":1}},"12":{"string":"데미지 +1%","option":{"damage":1}},"13":{"string":"데미지 +1%","option":{"damage":1}},"14":{"string":"데미지 +1%","option":{"damage":1}},"15":{"string":"데미지 +1%","option":{"damage":1}},"16":{"string":"데미지 +1%","option":{"damage":1}},"17":{"string":"데미지 +1%","option":{"damage":1}},"18":{"string":"데미지 +1%","option":{"damage":1}},"19":{"string":"데미지 +1%","option":{"damage":1}},"20":{"string":"데미지 +1%","option":{"damage":1}},"21":{"string":"데미지 +1%","option":{"damage":1}},"22":{"string":"데미지 +1%","option":{"damage":1}},"23":{"string":"데미지 +1%","option":{"damage":1}},"24":{"string":"데미지 +1%","option":{"damage":1}},"25":{"string":"데미지 +1%","option":{"damage":1}}}},"32086":{"optionType":11,"level":{"1":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"2":{"string":"올스탯 +1%","option":{"strRate":1,"dexRate":1,"intRate":1,"lukRate":1}},"3":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"4":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"5":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"6":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"7":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"8":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"9":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"10":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"11":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"12":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"13":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"14":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"15":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"16":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"17":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"18":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"19":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"20":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"21":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"22":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"23":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"24":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"25":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}}}},"32087":{"optionType":10,"level":{"1":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"2":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"3":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"4":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"5":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"6":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"7":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"8":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"9":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"10":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"11":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"12":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"13":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"14":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"15":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"16":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"17":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"18":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"19":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"20":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"21":{"string":"올스탯 +7%","option":{"strRate":7,"dexRate":7,"intRate":7,"lukRate":7}},"22":{"string":"올스탯 +7%","option":{"strRate":7,"dexRate":7,"intRate":7,"lukRate":7}},"23":{"string":"올스탯 +7%","option":{"strRate":7,"dexRate":7,"intRate":7,"lukRate":7}},"24":{"string":"올스탯 +7%","option":{"strRate":7,"dexRate":7,"intRate":7,"lukRate":7}},"25":{"string":"올스탯 +7%","option":{"strRate":7,"dexRate":7,"intRate":7,"lukRate":7}}}},"32091":{"reqLevel":30,"level":{"1":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"2":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"3":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"4":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"5":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"6":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"7":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"8":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"9":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"10":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"11":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"12":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"13":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"14":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"15":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"16":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"17":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"18":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"19":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"20":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"21":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"22":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"23":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"24":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}},"25":{"string":"캐릭터 기준 9레벨 당 STR +1","option":{"strLv":1}}}},"32092":{"reqLevel":30,"level":{"1":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"2":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"3":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"4":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"5":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"6":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"7":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"8":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"9":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"10":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"11":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"12":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"13":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"14":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"15":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"16":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"17":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"18":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"19":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"20":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"21":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"22":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"23":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"24":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}},"25":{"string":"캐릭터 기준 9레벨 당 DEX +1","option":{"dexLv":1}}}},"32093":{"reqLevel":30,"level":{"1":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"2":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"3":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"4":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"5":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"6":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"7":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"8":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"9":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"10":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"11":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"12":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"13":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"14":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"15":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"16":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"17":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"18":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"19":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"20":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"21":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"22":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"23":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"24":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}},"25":{"string":"캐릭터 기준 9레벨 당 INT +1","option":{"intLv":1}}}},"32094":{"reqLevel":30,"level":{"1":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"2":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"3":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"4":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"5":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"6":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"7":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"8":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"9":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"10":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"11":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"12":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"13":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"14":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"15":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"16":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"17":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"18":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"19":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"20":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"21":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"22":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"23":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"24":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}},"25":{"string":"캐릭터 기준 9레벨 당 LUK +1","option":{"lukLv":1}}}},"32111":{"optionType":11,"reqLevel":60,"level":{"1":{"string":"모든 속성 내성 +2%","option":{}},"2":{"string":"모든 속성 내성 +2%","option":{}},"3":{"string":"모든 속성 내성 +2%","option":{}},"4":{"string":"모든 속성 내성 +2%","option":{}},"5":{"string":"모든 속성 내성 +2%","option":{}},"6":{"string":"모든 속성 내성 +2%","option":{}},"7":{"string":"모든 속성 내성 +3%","option":{}},"8":{"string":"모든 속성 내성 +3%","option":{}},"9":{"string":"모든 속성 내성 +3%","option":{}},"10":{"string":"모든 속성 내성 +4%","option":{}},"11":{"string":"모든 속성 내성 +4%","option":{}},"12":{"string":"모든 속성 내성 +4%","option":{}},"13":{"string":"모든 속성 내성 +4%","option":{}},"14":{"string":"모든 속성 내성 +4%","option":{}},"15":{"string":"모든 속성 내성 +4%","option":{}},"16":{"string":"모든 속성 내성 +4%","option":{}},"17":{"string":"모든 속성 내성 +4%","option":{}},"18":{"string":"모든 속성 내성 +4%","option":{}},"19":{"string":"모든 속성 내성 +4%","option":{}},"20":{"string":"모든 속성 내성 +4%","option":{}},"21":{"string":"모든 속성 내성 +4%","option":{}},"22":{"string":"모든 속성 내성 +4%","option":{}},"23":{"string":"모든 속성 내성 +4%","option":{}},"24":{"string":"모든 속성 내성 +4%","option":{}},"25":{"string":"모든 속성 내성 +4%","option":{}}}},"32116":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"상태 이상 내성 +2","option":{}},"2":{"string":"상태 이상 내성 +2","option":{}},"3":{"string":"상태 이상 내성 +2","option":{}},"4":{"string":"상태 이상 내성 +2","option":{}},"5":{"string":"상태 이상 내성 +2","option":{}},"6":{"string":"상태 이상 내성 +2","option":{}},"7":{"string":"상태 이상 내성 +3","option":{}},"8":{"string":"상태 이상 내성 +3","option":{}},"9":{"string":"상태 이상 내성 +3","option":{}},"10":{"string":"상태 이상 내성 +4","option":{}},"11":{"string":"상태 이상 내성 +4","option":{}},"12":{"string":"상태 이상 내성 +4","option":{}},"13":{"string":"상태 이상 내성 +4","option":{}},"14":{"string":"상태 이상 내성 +4","option":{}},"15":{"string":"상태 이상 내성 +4","option":{}},"16":{"string":"상태 이상 내성 +4","option":{}},"17":{"string":"상태 이상 내성 +4","option":{}},"18":{"string":"상태 이상 내성 +4","option":{}},"19":{"string":"상태 이상 내성 +4","option":{}},"20":{"string":"상태 이상 내성 +4","option":{}},"21":{"string":"상태 이상 내성 +4","option":{}},"22":{"string":"상태 이상 내성 +4","option":{}},"23":{"string":"상태 이상 내성 +4","option":{}},"24":{"string":"상태 이상 내성 +4","option":{}},"25":{"string":"상태 이상 내성 +4","option":{}}}},"32201":{"optionType":10,"level":{"1":{"string":"공격 시 15% 확률로 40의 HP 회복","option":{}},"2":{"string":"공격 시 15% 확률로 45의 HP 회복","option":{}},"3":{"string":"공격 시 15% 확률로 50의 HP 회복","option":{}},"4":{"string":"공격 시 15% 확률로 55의 HP 회복","option":{}},"5":{"string":"공격 시 15% 확률로 60의 HP 회복","option":{}},"6":{"string":"공격 시 15% 확률로 65의 HP 회복","option":{}},"7":{"string":"공격 시 15% 확률로 70의 HP 회복","option":{}},"8":{"string":"공격 시 15% 확률로 75의 HP 회복","option":{}},"9":{"string":"공격 시 15% 확률로 80의 HP 회복","option":{}},"10":{"string":"공격 시 15% 확률로 85의 HP 회복","option":{}},"11":{"string":"공격 시 15% 확률로 90의 HP 회복","option":{}},"12":{"string":"공격 시 15% 확률로 95의 HP 회복","option":{}},"13":{"string":"공격 시 15% 확률로 95의 HP 회복","option":{}},"14":{"string":"공격 시 15% 확률로 95의 HP 회복","option":{}},"15":{"string":"공격 시 15% 확률로 95의 HP 회복","option":{}},"16":{"string":"공격 시 15% 확률로 95의 HP 회복","option":{}},"17":{"string":"공격 시 15% 확률로 95의 HP 회복","option":{}},"18":{"string":"공격 시 15% 확률로 95의 HP 회복","option":{}},"19":{"string":"공격 시 15% 확률로 95의 HP 회복","option":{}},"20":{"string":"공격 시 15% 확률로 95의 HP 회복","option":{}},"21":{"string":"공격 시 15% 확률로 100의 HP 회복","option":{}},"22":{"string":"공격 시 15% 확률로 100의 HP 회복","option":{}},"23":{"string":"공격 시 15% 확률로 100의 HP 회복","option":{}},"24":{"string":"공격 시 15% 확률로 100의 HP 회복","option":{}},"25":{"string":"공격 시 15% 확률로 100의 HP 회복","option":{}}}},"32206":{"optionType":10,"level":{"1":{"string":"공격 시 15% 확률로 40의 MP 회복","option":{}},"2":{"string":"공격 시 15% 확률로 45의 MP 회복","option":{}},"3":{"string":"공격 시 15% 확률로 50의 MP 회복","option":{}},"4":{"string":"공격 시 15% 확률로 55의 MP 회복","option":{}},"5":{"string":"공격 시 15% 확률로 60의 MP 회복","option":{}},"6":{"string":"공격 시 15% 확률로 65의 MP 회복","option":{}},"7":{"string":"공격 시 15% 확률로 70의 MP 회복","option":{}},"8":{"string":"공격 시 15% 확률로 75의 MP 회복","option":{}},"9":{"string":"공격 시 15% 확률로 80의 MP 회복","option":{}},"10":{"string":"공격 시 15% 확률로 85의 MP 회복","option":{}},"11":{"string":"공격 시 15% 확률로 90의 MP 회복","option":{}},"12":{"string":"공격 시 15% 확률로 95의 MP 회복","option":{}},"13":{"string":"공격 시 15% 확률로 95의 MP 회복","option":{}},"14":{"string":"공격 시 15% 확률로 95의 MP 회복","option":{}},"15":{"string":"공격 시 15% 확률로 95의 MP 회복","option":{}},"16":{"string":"공격 시 15% 확률로 95의 MP 회복","option":{}},"17":{"string":"공격 시 15% 확률로 95의 MP 회복","option":{}},"18":{"string":"공격 시 15% 확률로 95의 MP 회복","option":{}},"19":{"string":"공격 시 15% 확률로 95의 MP 회복","option":{}},"20":{"string":"공격 시 15% 확률로 95의 MP 회복","option":{}},"21":{"string":"공격 시 15% 확률로 100의 MP 회복","option":{}},"22":{"string":"공격 시 15% 확률로 100의 MP 회복","option":{}},"23":{"string":"공격 시 15% 확률로 100의 MP 회복","option":{}},"24":{"string":"공격 시 15% 확률로 100의 MP 회복","option":{}},"25":{"string":"공격 시 15% 확률로 100의 MP 회복","option":{}}}},"32291":{"optionType":10,"reqLevel":50,"level":{"1":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"2":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"3":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"4":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"5":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"6":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"7":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"8":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"9":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"10":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"11":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"12":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"13":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"14":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"15":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"16":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"17":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"18":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"19":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"20":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"21":{"string":"몬스터 방어율 무시 +6%","option":{"ignoreMonsterArmor":6}},"22":{"string":"몬스터 방어율 무시 +6%","option":{"ignoreMonsterArmor":6}},"23":{"string":"몬스터 방어율 무시 +6%","option":{"ignoreMonsterArmor":6}},"24":{"string":"몬스터 방어율 무시 +6%","option":{"ignoreMonsterArmor":6}},"25":{"string":"몬스터 방어율 무시 +6%","option":{"ignoreMonsterArmor":6}}}},"32551":{"optionType":11,"level":{"1":{"string":"HP 회복 아이템 및 회복 스킬 효율 +5%","option":{}},"2":{"string":"HP 회복 아이템 및 회복 스킬 효율 +5%","option":{}},"3":{"string":"HP 회복 아이템 및 회복 스킬 효율 +10%","option":{}},"4":{"string":"HP 회복 아이템 및 회복 스킬 효율 +10%","option":{}},"5":{"string":"HP 회복 아이템 및 회복 스킬 효율 +10%","option":{}},"6":{"string":"HP 회복 아이템 및 회복 스킬 효율 +15%","option":{}},"7":{"string":"HP 회복 아이템 및 회복 스킬 효율 +15%","option":{}},"8":{"string":"HP 회복 아이템 및 회복 스킬 효율 +15%","option":{}},"9":{"string":"HP 회복 아이템 및 회복 스킬 효율 +15%","option":{}},"10":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"11":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"12":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"13":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"14":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"15":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"16":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"17":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"18":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"19":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"20":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"21":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"22":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"23":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"24":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"25":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}}}},"32601":{"optionType":10,"reqLevel":50,"level":{"1":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"2":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"3":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"4":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"5":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"6":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"7":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"8":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"9":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"10":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"11":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"12":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"13":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"14":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"15":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"16":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"17":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"18":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"19":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"20":{"string":"보스 몬스터 데미지 +12%","option":{"bossDamage":12}},"21":{"string":"보스 몬스터 데미지 +14%","option":{"bossDamage":14}},"22":{"string":"보스 몬스터 데미지 +14%","option":{"bossDamage":14}},"23":{"string":"보스 몬스터 데미지 +14%","option":{"bossDamage":14}},"24":{"string":"보스 몬스터 데미지 +14%","option":{"bossDamage":14}},"25":{"string":"보스 몬스터 데미지 +14%","option":{"bossDamage":14}}}},"32661":{"optionType":51,"level":{"1":{"string":"경험치 획득 +1%","option":{}},"2":{"string":"경험치 획득 +1%","option":{}},"3":{"string":"경험치 획득 +2%","option":{}},"4":{"string":"경험치 획득 +2%","option":{}},"5":{"string":"경험치 획득 +2%","option":{}},"6":{"string":"경험치 획득 +3%","option":{}},"7":{"string":"경험치 획득 +3%","option":{}},"8":{"string":"경험치 획득 +3%","option":{}},"9":{"string":"경험치 획득 +3%","option":{}},"10":{"string":"경험치 획득 +4%","option":{}},"11":{"string":"경험치 획득 +4%","option":{}},"12":{"string":"경험치 획득 +4%","option":{}},"13":{"string":"경험치 획득 +4%","option":{}},"14":{"string":"경험치 획득 +4%","option":{}},"15":{"string":"경험치 획득 +4%","option":{}},"16":{"string":"경험치 획득 +4%","option":{}},"17":{"string":"경험치 획득 +4%","option":{}},"18":{"string":"경험치 획득 +4%","option":{}},"19":{"string":"경험치 획득 +4%","option":{}},"20":{"string":"경험치 획득 +4%","option":{}},"21":{"string":"경험치 획득 +4%","option":{}},"22":{"string":"경험치 획득 +4%","option":{}},"23":{"string":"경험치 획득 +4%","option":{}},"24":{"string":"경험치 획득 +4%","option":{}},"25":{"string":"경험치 획득 +4%","option":{}}}},"32801":{"optionType":10,"level":{"1":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"2":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"3":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"4":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"5":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"6":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"7":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"8":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"9":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"10":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"11":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"12":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"13":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"14":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"15":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"16":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"17":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"18":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"19":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"20":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"21":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"22":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"23":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"24":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"25":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}}}},"32802":{"optionType":11,"reqLevel":60,"level":{"1":{"string":"모든 속성 내성 +2%","option":{}},"2":{"string":"모든 속성 내성 +2%","option":{}},"3":{"string":"모든 속성 내성 +2%","option":{}},"4":{"string":"모든 속성 내성 +2%","option":{}},"5":{"string":"모든 속성 내성 +2%","option":{}},"6":{"string":"모든 속성 내성 +2%","option":{}},"7":{"string":"모든 속성 내성 +3%","option":{}},"8":{"string":"모든 속성 내성 +3%","option":{}},"9":{"string":"모든 속성 내성 +3%","option":{}},"10":{"string":"모든 속성 내성 +4%","option":{}},"11":{"string":"모든 속성 내성 +4%","option":{}},"12":{"string":"모든 속성 내성 +4%","option":{}},"13":{"string":"모든 속성 내성 +4%","option":{}},"14":{"string":"모든 속성 내성 +4%","option":{}},"15":{"string":"모든 속성 내성 +4%","option":{}},"16":{"string":"모든 속성 내성 +4%","option":{}},"17":{"string":"모든 속성 내성 +4%","option":{}},"18":{"string":"모든 속성 내성 +4%","option":{}},"19":{"string":"모든 속성 내성 +4%","option":{}},"20":{"string":"모든 속성 내성 +4%","option":{}},"21":{"string":"모든 속성 내성 +4%","option":{}},"22":{"string":"모든 속성 내성 +4%","option":{}},"23":{"string":"모든 속성 내성 +4%","option":{}},"24":{"string":"모든 속성 내성 +4%","option":{}},"25":{"string":"모든 속성 내성 +4%","option":{}}}},"40001":{"level":{"1":{"string":"STR +8","option":{"str":8}},"2":{"string":"STR +8","option":{"str":8}},"3":{"string":"STR +10","option":{"str":10}},"4":{"string":"STR +10","option":{"str":10}},"5":{"string":"STR +12","option":{"str":12}},"6":{"string":"STR +14","option":{"str":14}},"7":{"string":"STR +14","option":{"str":14}},"8":{"string":"STR +16","option":{"str":16}},"9":{"string":"STR +16","option":{"str":16}},"10":{"string":"STR +18","option":{"str":18}},"11":{"string":"STR +18","option":{"str":18}},"12":{"string":"STR +18","option":{"str":18}},"13":{"string":"STR +18","option":{"str":18}},"14":{"string":"STR +18","option":{"str":18}},"15":{"string":"STR +18","option":{"str":18}},"16":{"string":"STR +18","option":{"str":18}},"17":{"string":"STR +18","option":{"str":18}},"18":{"string":"STR +18","option":{"str":18}},"19":{"string":"STR +18","option":{"str":18}},"20":{"string":"STR +18","option":{"str":18}},"21":{"string":"STR +18","option":{"str":18}},"22":{"string":"STR +18","option":{"str":18}},"23":{"string":"STR +18","option":{"str":18}},"24":{"string":"STR +18","option":{"str":18}},"25":{"string":"STR +18","option":{"str":18}}}},"40002":{"level":{"1":{"string":"DEX +8","option":{"dex":8}},"2":{"string":"DEX +8","option":{"dex":8}},"3":{"string":"DEX +10","option":{"dex":10}},"4":{"string":"DEX +10","option":{"dex":10}},"5":{"string":"DEX +12","option":{"dex":12}},"6":{"string":"DEX +14","option":{"dex":14}},"7":{"string":"DEX +14","option":{"dex":14}},"8":{"string":"DEX +16","option":{"dex":16}},"9":{"string":"DEX +16","option":{"dex":16}},"10":{"string":"DEX +18","option":{"dex":18}},"11":{"string":"DEX +18","option":{"dex":18}},"12":{"string":"DEX +18","option":{"dex":18}},"13":{"string":"DEX +18","option":{"dex":18}},"14":{"string":"DEX +18","option":{"dex":18}},"15":{"string":"DEX +18","option":{"dex":18}},"16":{"string":"DEX +18","option":{"dex":18}},"17":{"string":"DEX +18","option":{"dex":18}},"18":{"string":"DEX +18","option":{"dex":18}},"19":{"string":"DEX +18","option":{"dex":18}},"20":{"string":"DEX +18","option":{"dex":18}},"21":{"string":"DEX +18","option":{"dex":18}},"22":{"string":"DEX +18","option":{"dex":18}},"23":{"string":"DEX +18","option":{"dex":18}},"24":{"string":"DEX +18","option":{"dex":18}},"25":{"string":"DEX +18","option":{"dex":18}}}},"40003":{"level":{"1":{"string":"INT +8","option":{"int":8}},"2":{"string":"INT +8","option":{"int":8}},"3":{"string":"INT +10","option":{"int":10}},"4":{"string":"INT +10","option":{"int":10}},"5":{"string":"INT +12","option":{"int":12}},"6":{"string":"INT +14","option":{"int":14}},"7":{"string":"INT +14","option":{"int":14}},"8":{"string":"INT +16","option":{"int":16}},"9":{"string":"INT +16","option":{"int":16}},"10":{"string":"INT +18","option":{"int":18}},"11":{"string":"INT +18","option":{"int":18}},"12":{"string":"INT +18","option":{"int":18}},"13":{"string":"INT +18","option":{"int":18}},"14":{"string":"INT +18","option":{"int":18}},"15":{"string":"INT +18","option":{"int":18}},"16":{"string":"INT +18","option":{"int":18}},"17":{"string":"INT +18","option":{"int":18}},"18":{"string":"INT +18","option":{"int":18}},"19":{"string":"INT +18","option":{"int":18}},"20":{"string":"INT +18","option":{"int":18}},"21":{"string":"INT +18","option":{"int":18}},"22":{"string":"INT +18","option":{"int":18}},"23":{"string":"INT +18","option":{"int":18}},"24":{"string":"INT +18","option":{"int":18}},"25":{"string":"INT +18","option":{"int":18}}}},"40004":{"level":{"1":{"string":"LUK +8","option":{"luk":8}},"2":{"string":"LUK +8","option":{"luk":8}},"3":{"string":"LUK +10","option":{"luk":10}},"4":{"string":"LUK +10","option":{"luk":10}},"5":{"string":"LUK +12","option":{"luk":12}},"6":{"string":"LUK +14","option":{"luk":14}},"7":{"string":"LUK +14","option":{"luk":14}},"8":{"string":"LUK +16","option":{"luk":16}},"9":{"string":"LUK +16","option":{"luk":16}},"10":{"string":"LUK +18","option":{"luk":18}},"11":{"string":"LUK +18","option":{"luk":18}},"12":{"string":"LUK +18","option":{"luk":18}},"13":{"string":"LUK +18","option":{"luk":18}},"14":{"string":"LUK +18","option":{"luk":18}},"15":{"string":"LUK +18","option":{"luk":18}},"16":{"string":"LUK +18","option":{"luk":18}},"17":{"string":"LUK +18","option":{"luk":18}},"18":{"string":"LUK +18","option":{"luk":18}},"19":{"string":"LUK +18","option":{"luk":18}},"20":{"string":"LUK +18","option":{"luk":18}},"21":{"string":"LUK +18","option":{"luk":18}},"22":{"string":"LUK +18","option":{"luk":18}},"23":{"string":"LUK +18","option":{"luk":18}},"24":{"string":"LUK +18","option":{"luk":18}},"25":{"string":"LUK +18","option":{"luk":18}}}},"40005":{"level":{"1":{"string":"최대 HP +25","option":{"maxHp":25}},"2":{"string":"최대 HP +50","option":{"maxHp":50}},"3":{"string":"최대 HP +75","option":{"maxHp":75}},"4":{"string":"최대 HP +100","option":{"maxHp":100}},"5":{"string":"최대 HP +125","option":{"maxHp":125}},"6":{"string":"최대 HP +150","option":{"maxHp":150}},"7":{"string":"최대 HP +175","option":{"maxHp":175}},"8":{"string":"최대 HP +200","option":{"maxHp":200}},"9":{"string":"최대 HP +225","option":{"maxHp":225}},"10":{"string":"최대 HP +250","option":{"maxHp":250}},"11":{"string":"최대 HP +275","option":{"maxHp":275}},"12":{"string":"최대 HP +300","option":{"maxHp":300}},"13":{"string":"최대 HP +300","option":{"maxHp":300}},"14":{"string":"최대 HP +300","option":{"maxHp":300}},"15":{"string":"최대 HP +300","option":{"maxHp":300}},"16":{"string":"최대 HP +300","option":{"maxHp":300}},"17":{"string":"최대 HP +300","option":{"maxHp":300}},"18":{"string":"최대 HP +300","option":{"maxHp":300}},"19":{"string":"최대 HP +300","option":{"maxHp":300}},"20":{"string":"최대 HP +300","option":{"maxHp":300}},"21":{"string":"최대 HP +300","option":{"maxHp":300}},"22":{"string":"최대 HP +300","option":{"maxHp":300}},"23":{"string":"최대 HP +300","option":{"maxHp":300}},"24":{"string":"최대 HP +300","option":{"maxHp":300}},"25":{"string":"최대 HP +300","option":{"maxHp":300}}}},"40006":{"level":{"1":{"string":"최대 MP +25","option":{"maxMp":25}},"2":{"string":"최대 MP +50","option":{"maxMp":50}},"3":{"string":"최대 MP +75","option":{"maxMp":75}},"4":{"string":"최대 MP +100","option":{"maxMp":100}},"5":{"string":"최대 MP +125","option":{"maxMp":125}},"6":{"string":"최대 MP +150","option":{"maxMp":150}},"7":{"string":"최대 MP +175","option":{"maxMp":175}},"8":{"string":"최대 MP +200","option":{"maxMp":200}},"9":{"string":"최대 MP +225","option":{"maxMp":225}},"10":{"string":"최대 MP +250","option":{"maxMp":250}},"11":{"string":"최대 MP +275","option":{"maxMp":275}},"12":{"string":"최대 MP +300","option":{"maxMp":300}},"13":{"string":"최대 MP +300","option":{"maxMp":300}},"14":{"string":"최대 MP +300","option":{"maxMp":300}},"15":{"string":"최대 MP +300","option":{"maxMp":300}},"16":{"string":"최대 MP +300","option":{"maxMp":300}},"17":{"string":"최대 MP +300","option":{"maxMp":300}},"18":{"string":"최대 MP +300","option":{"maxMp":300}},"19":{"string":"최대 MP +300","option":{"maxMp":300}},"20":{"string":"최대 MP +300","option":{"maxMp":300}},"21":{"string":"최대 MP +300","option":{"maxMp":300}},"22":{"string":"최대 MP +300","option":{"maxMp":300}},"23":{"string":"최대 MP +300","option":{"maxMp":300}},"24":{"string":"최대 MP +300","option":{"maxMp":300}},"25":{"string":"최대 MP +300","option":{"maxMp":300}}}},"40007":{"level":{"1":{"string":"최대 HP +25","option":{"maxHp":25}},"2":{"string":"최대 HP +50","option":{"maxHp":50}},"3":{"string":"최대 HP +75","option":{"maxHp":75}},"4":{"string":"최대 HP +100","option":{"maxHp":100}},"5":{"string":"최대 HP +125","option":{"maxHp":125}},"6":{"string":"최대 HP +150","option":{"maxHp":150}},"7":{"string":"최대 HP +175","option":{"maxHp":175}},"8":{"string":"최대 HP +200","option":{"maxHp":200}},"9":{"string":"최대 HP +225","option":{"maxHp":225}},"10":{"string":"최대 HP +250","option":{"maxHp":250}},"11":{"string":"최대 HP +275","option":{"maxHp":275}},"12":{"string":"최대 HP +300","option":{"maxHp":300}},"13":{"string":"최대 HP +300","option":{"maxHp":300}},"14":{"string":"최대 HP +300","option":{"maxHp":300}},"15":{"string":"최대 HP +300","option":{"maxHp":300}},"16":{"string":"최대 HP +300","option":{"maxHp":300}},"17":{"string":"최대 HP +300","option":{"maxHp":300}},"18":{"string":"최대 HP +300","option":{"maxHp":300}},"19":{"string":"최대 HP +300","option":{"maxHp":300}},"20":{"string":"최대 HP +300","option":{"maxHp":300}},"21":{"string":"최대 HP +300","option":{"maxHp":300}},"22":{"string":"최대 HP +300","option":{"maxHp":300}},"23":{"string":"최대 HP +300","option":{"maxHp":300}},"24":{"string":"최대 HP +300","option":{"maxHp":300}},"25":{"string":"최대 HP +300","option":{"maxHp":300}}}},"40008":{"level":{"1":{"string":"최대 MP +25","option":{"maxMp":25}},"2":{"string":"최대 MP +50","option":{"maxMp":50}},"3":{"string":"최대 MP +75","option":{"maxMp":75}},"4":{"string":"최대 MP +100","option":{"maxMp":100}},"5":{"string":"최대 MP +125","option":{"maxMp":125}},"6":{"string":"최대 MP +150","option":{"maxMp":150}},"7":{"string":"최대 MP +175","option":{"maxMp":175}},"8":{"string":"최대 MP +200","option":{"maxMp":200}},"9":{"string":"최대 MP +225","option":{"maxMp":225}},"10":{"string":"최대 MP +250","option":{"maxMp":250}},"11":{"string":"최대 MP +275","option":{"maxMp":275}},"12":{"string":"최대 MP +300","option":{"maxMp":300}},"13":{"string":"최대 MP +300","option":{"maxMp":300}},"14":{"string":"최대 MP +300","option":{"maxMp":300}},"15":{"string":"최대 MP +300","option":{"maxMp":300}},"16":{"string":"최대 MP +300","option":{"maxMp":300}},"17":{"string":"최대 MP +300","option":{"maxMp":300}},"18":{"string":"최대 MP +300","option":{"maxMp":300}},"19":{"string":"최대 MP +300","option":{"maxMp":300}},"20":{"string":"최대 MP +300","option":{"maxMp":300}},"21":{"string":"최대 MP +300","option":{"maxMp":300}},"22":{"string":"최대 MP +300","option":{"maxMp":300}},"23":{"string":"최대 MP +300","option":{"maxMp":300}},"24":{"string":"최대 MP +300","option":{"maxMp":300}},"25":{"string":"최대 MP +300","option":{"maxMp":300}}}},"40009":{"optionType":55,"level":{"1":{"string":"이동속도 +8","option":{"speed":8}},"2":{"string":"이동속도 +8","option":{"speed":8}},"3":{"string":"이동속도 +8","option":{"speed":8}},"4":{"string":"이동속도 +10","option":{"speed":10}},"5":{"string":"이동속도 +10","option":{"speed":10}},"6":{"string":"이동속도 +10","option":{"speed":10}},"7":{"string":"이동속도 +10","option":{"speed":10}},"8":{"string":"이동속도 +12","option":{"speed":12}},"9":{"string":"이동속도 +12","option":{"speed":12}},"10":{"string":"이동속도 +12","option":{"speed":12}},"11":{"string":"이동속도 +12","option":{"speed":12}},"12":{"string":"이동속도 +14","option":{"speed":14}},"13":{"string":"이동속도 +14","option":{"speed":14}},"14":{"string":"이동속도 +14","option":{"speed":14}},"15":{"string":"이동속도 +14","option":{"speed":14}},"16":{"string":"이동속도 +14","option":{"speed":14}},"17":{"string":"이동속도 +14","option":{"speed":14}},"18":{"string":"이동속도 +14","option":{"speed":14}},"19":{"string":"이동속도 +14","option":{"speed":14}},"20":{"string":"이동속도 +14","option":{"speed":14}},"21":{"string":"이동속도 +14","option":{"speed":14}},"22":{"string":"이동속도 +14","option":{"speed":14}},"23":{"string":"이동속도 +14","option":{"speed":14}},"24":{"string":"이동속도 +14","option":{"speed":14}},"25":{"string":"이동속도 +14","option":{"speed":14}}}},"40010":{"optionType":55,"level":{"1":{"string":"점프력 +8","option":{"jump":8}},"2":{"string":"점프력 +8","option":{"jump":8}},"3":{"string":"점프력 +8","option":{"jump":8}},"4":{"string":"점프력 +10","option":{"jump":10}},"5":{"string":"점프력 +10","option":{"jump":10}},"6":{"string":"점프력 +10","option":{"jump":10}},"7":{"string":"점프력 +10","option":{"jump":10}},"8":{"string":"점프력 +12","option":{"jump":12}},"9":{"string":"점프력 +12","option":{"jump":12}},"10":{"string":"점프력 +12","option":{"jump":12}},"11":{"string":"점프력 +12","option":{"jump":12}},"12":{"string":"점프력 +14","option":{"jump":14}},"13":{"string":"점프력 +14","option":{"jump":14}},"14":{"string":"점프력 +14","option":{"jump":14}},"15":{"string":"점프력 +14","option":{"jump":14}},"16":{"string":"점프력 +14","option":{"jump":14}},"17":{"string":"점프력 +14","option":{"jump":14}},"18":{"string":"점프력 +14","option":{"jump":14}},"19":{"string":"점프력 +14","option":{"jump":14}},"20":{"string":"점프력 +14","option":{"jump":14}},"21":{"string":"점프력 +14","option":{"jump":14}},"22":{"string":"점프력 +14","option":{"jump":14}},"23":{"string":"점프력 +14","option":{"jump":14}},"24":{"string":"점프력 +14","option":{"jump":14}},"25":{"string":"점프력 +14","option":{"jump":14}}}},"40011":{"optionType":10,"level":{"1":{"string":"공격력 +8","option":{"attackPower":8}},"2":{"string":"공격력 +8","option":{"attackPower":8}},"3":{"string":"공격력 +10","option":{"attackPower":10}},"4":{"string":"공격력 +10","option":{"attackPower":10}},"5":{"string":"공격력 +12","option":{"attackPower":12}},"6":{"string":"공격력 +12","option":{"attackPower":12}},"7":{"string":"공격력 +14","option":{"attackPower":14}},"8":{"string":"공격력 +14","option":{"attackPower":14}},"9":{"string":"공격력 +16","option":{"attackPower":16}},"10":{"string":"공격력 +18","option":{"attackPower":18}},"11":{"string":"공격력 +18","option":{"attackPower":18}},"12":{"string":"공격력 +18","option":{"attackPower":18}},"13":{"string":"공격력 +18","option":{"attackPower":18}},"14":{"string":"공격력 +18","option":{"attackPower":18}},"15":{"string":"공격력 +18","option":{"attackPower":18}},"16":{"string":"공격력 +18","option":{"attackPower":18}},"17":{"string":"공격력 +18","option":{"attackPower":18}},"18":{"string":"공격력 +18","option":{"attackPower":18}},"19":{"string":"공격력 +18","option":{"attackPower":18}},"20":{"string":"공격력 +18","option":{"attackPower":18}},"21":{"string":"공격력 +18","option":{"attackPower":18}},"22":{"string":"공격력 +18","option":{"attackPower":18}},"23":{"string":"공격력 +18","option":{"attackPower":18}},"24":{"string":"공격력 +18","option":{"attackPower":18}},"25":{"string":"공격력 +18","option":{"attackPower":18}}}},"40012":{"optionType":10,"level":{"1":{"string":"마력 +8","option":{"magicPower":8}},"2":{"string":"마력 +8","option":{"magicPower":8}},"3":{"string":"마력 +10","option":{"magicPower":10}},"4":{"string":"마력 +10","option":{"magicPower":10}},"5":{"string":"마력 +12","option":{"magicPower":12}},"6":{"string":"마력 +12","option":{"magicPower":12}},"7":{"string":"마력 +14","option":{"magicPower":14}},"8":{"string":"마력 +14","option":{"magicPower":14}},"9":{"string":"마력 +16","option":{"magicPower":16}},"10":{"string":"마력 +18","option":{"magicPower":18}},"11":{"string":"마력 +18","option":{"magicPower":18}},"12":{"string":"마력 +18","option":{"magicPower":18}},"13":{"string":"마력 +18","option":{"magicPower":18}},"14":{"string":"마력 +18","option":{"magicPower":18}},"15":{"string":"마력 +18","option":{"magicPower":18}},"16":{"string":"마력 +18","option":{"magicPower":18}},"17":{"string":"마력 +18","option":{"magicPower":18}},"18":{"string":"마력 +18","option":{"magicPower":18}},"19":{"string":"마력 +18","option":{"magicPower":18}},"20":{"string":"마력 +18","option":{"magicPower":18}},"21":{"string":"마력 +18","option":{"magicPower":18}},"22":{"string":"마력 +18","option":{"magicPower":18}},"23":{"string":"마력 +18","option":{"magicPower":18}},"24":{"string":"마력 +18","option":{"magicPower":18}},"25":{"string":"마력 +18","option":{"magicPower":18}}}},"40013":{"optionType":11,"level":{"1":{"string":"방어력 +25","option":{"armor":25}},"2":{"string":"방어력 +50","option":{"armor":50}},"3":{"string":"방어력 +75","option":{"armor":75}},"4":{"string":"방어력 +100","option":{"armor":100}},"5":{"string":"방어력 +125","option":{"armor":125}},"6":{"string":"방어력 +150","option":{"armor":150}},"7":{"string":"방어력 +175","option":{"armor":175}},"8":{"string":"방어력 +200","option":{"armor":200}},"9":{"string":"방어력 +225","option":{"armor":225}},"10":{"string":"방어력 +250","option":{"armor":250}},"11":{"string":"방어력 +275","option":{"armor":275}},"12":{"string":"방어력 +300","option":{"armor":300}},"13":{"string":"방어력 +300","option":{"armor":300}},"14":{"string":"방어력 +300","option":{"armor":300}},"15":{"string":"방어력 +300","option":{"armor":300}},"16":{"string":"방어력 +300","option":{"armor":300}},"17":{"string":"방어력 +300","option":{"armor":300}},"18":{"string":"방어력 +300","option":{"armor":300}},"19":{"string":"방어력 +300","option":{"armor":300}},"20":{"string":"방어력 +300","option":{"armor":300}},"21":{"string":"방어력 +300","option":{"armor":300}},"22":{"string":"방어력 +300","option":{"armor":300}},"23":{"string":"방어력 +300","option":{"armor":300}},"24":{"string":"방어력 +300","option":{"armor":300}},"25":{"string":"방어력 +300","option":{"armor":300}}}},"40014":{"optionType":11,"level":{"1":{"string":"방어력 +25","option":{"armor":25}},"2":{"string":"방어력 +50","option":{"armor":50}},"3":{"string":"방어력 +75","option":{"armor":75}},"4":{"string":"방어력 +100","option":{"armor":100}},"5":{"string":"방어력 +125","option":{"armor":125}},"6":{"string":"방어력 +150","option":{"armor":150}},"7":{"string":"방어력 +175","option":{"armor":175}},"8":{"string":"방어력 +200","option":{"armor":200}},"9":{"string":"방어력 +225","option":{"armor":225}},"10":{"string":"방어력 +250","option":{"armor":250}},"11":{"string":"방어력 +275","option":{"armor":275}},"12":{"string":"방어력 +300","option":{"armor":300}},"13":{"string":"방어력 +300","option":{"armor":300}},"14":{"string":"방어력 +300","option":{"armor":300}},"15":{"string":"방어력 +300","option":{"armor":300}},"16":{"string":"방어력 +300","option":{"armor":300}},"17":{"string":"방어력 +300","option":{"armor":300}},"18":{"string":"방어력 +300","option":{"armor":300}},"19":{"string":"방어력 +300","option":{"armor":300}},"20":{"string":"방어력 +300","option":{"armor":300}},"21":{"string":"방어력 +300","option":{"armor":300}},"22":{"string":"방어력 +300","option":{"armor":300}},"23":{"string":"방어력 +300","option":{"armor":300}},"24":{"string":"방어력 +300","option":{"armor":300}},"25":{"string":"방어력 +300","option":{"armor":300}}}},"40041":{"level":{"1":{"string":"STR +6%","option":{"strRate":6}},"2":{"string":"STR +6%","option":{"strRate":6}},"3":{"string":"STR +6%","option":{"strRate":6}},"4":{"string":"STR +9%","option":{"strRate":9}},"5":{"string":"STR +9%","option":{"strRate":9}},"6":{"string":"STR +9%","option":{"strRate":9}},"7":{"string":"STR +9%","option":{"strRate":9}},"8":{"string":"STR +12%","option":{"strRate":12}},"9":{"string":"STR +12%","option":{"strRate":12}},"10":{"string":"STR +12%","option":{"strRate":12}},"11":{"string":"STR +12%","option":{"strRate":12}},"12":{"string":"STR +12%","option":{"strRate":12}},"13":{"string":"STR +12%","option":{"strRate":12}},"14":{"string":"STR +12%","option":{"strRate":12}},"15":{"string":"STR +12%","option":{"strRate":12}},"16":{"string":"STR +12%","option":{"strRate":12}},"17":{"string":"STR +12%","option":{"strRate":12}},"18":{"string":"STR +12%","option":{"strRate":12}},"19":{"string":"STR +12%","option":{"strRate":12}},"20":{"string":"STR +12%","option":{"strRate":12}},"21":{"string":"STR +13%","option":{"strRate":13}},"22":{"string":"STR +13%","option":{"strRate":13}},"23":{"string":"STR +13%","option":{"strRate":13}},"24":{"string":"STR +13%","option":{"strRate":13}},"25":{"string":"STR +13%","option":{"strRate":13}}}},"40042":{"level":{"1":{"string":"DEX +6%","option":{"dexRate":6}},"2":{"string":"DEX +6%","option":{"dexRate":6}},"3":{"string":"DEX +6%","option":{"dexRate":6}},"4":{"string":"DEX +9%","option":{"dexRate":9}},"5":{"string":"DEX +9%","option":{"dexRate":9}},"6":{"string":"DEX +9%","option":{"dexRate":9}},"7":{"string":"DEX +9%","option":{"dexRate":9}},"8":{"string":"DEX +12%","option":{"dexRate":12}},"9":{"string":"DEX +12%","option":{"dexRate":12}},"10":{"string":"DEX +12%","option":{"dexRate":12}},"11":{"string":"DEX +12%","option":{"dexRate":12}},"12":{"string":"DEX +12%","option":{"dexRate":12}},"13":{"string":"DEX +12%","option":{"dexRate":12}},"14":{"string":"DEX +12%","option":{"dexRate":12}},"15":{"string":"DEX +12%","option":{"dexRate":12}},"16":{"string":"DEX +12%","option":{"dexRate":12}},"17":{"string":"DEX +12%","option":{"dexRate":12}},"18":{"string":"DEX +12%","option":{"dexRate":12}},"19":{"string":"DEX +12%","option":{"dexRate":12}},"20":{"string":"DEX +12%","option":{"dexRate":12}},"21":{"string":"DEX +13%","option":{"dexRate":13}},"22":{"string":"DEX +13%","option":{"dexRate":13}},"23":{"string":"DEX +13%","option":{"dexRate":13}},"24":{"string":"DEX +13%","option":{"dexRate":13}},"25":{"string":"DEX +13%","option":{"dexRate":13}}}},"40043":{"level":{"1":{"string":"INT +6%","option":{"intRate":6}},"2":{"string":"INT +6%","option":{"intRate":6}},"3":{"string":"INT +6%","option":{"intRate":6}},"4":{"string":"INT +9%","option":{"intRate":9}},"5":{"string":"INT +9%","option":{"intRate":9}},"6":{"string":"INT +9%","option":{"intRate":9}},"7":{"string":"INT +9%","option":{"intRate":9}},"8":{"string":"INT +12%","option":{"intRate":12}},"9":{"string":"INT +12%","option":{"intRate":12}},"10":{"string":"INT +12%","option":{"intRate":12}},"11":{"string":"INT +12%","option":{"intRate":12}},"12":{"string":"INT +12%","option":{"intRate":12}},"13":{"string":"INT +12%","option":{"intRate":12}},"14":{"string":"INT +12%","option":{"intRate":12}},"15":{"string":"INT +12%","option":{"intRate":12}},"16":{"string":"INT +12%","option":{"intRate":12}},"17":{"string":"INT +12%","option":{"intRate":12}},"18":{"string":"INT +12%","option":{"intRate":12}},"19":{"string":"INT +12%","option":{"intRate":12}},"20":{"string":"INT +12%","option":{"intRate":12}},"21":{"string":"INT +13%","option":{"intRate":13}},"22":{"string":"INT +13%","option":{"intRate":13}},"23":{"string":"INT +13%","option":{"intRate":13}},"24":{"string":"INT +13%","option":{"intRate":13}},"25":{"string":"INT +13%","option":{"intRate":13}}}},"40044":{"level":{"1":{"string":"LUK +6%","option":{"lukRate":6}},"2":{"string":"LUK +6%","option":{"lukRate":6}},"3":{"string":"LUK +6%","option":{"lukRate":6}},"4":{"string":"LUK +9%","option":{"lukRate":9}},"5":{"string":"LUK +9%","option":{"lukRate":9}},"6":{"string":"LUK +9%","option":{"lukRate":9}},"7":{"string":"LUK +9%","option":{"lukRate":9}},"8":{"string":"LUK +12%","option":{"lukRate":12}},"9":{"string":"LUK +12%","option":{"lukRate":12}},"10":{"string":"LUK +12%","option":{"lukRate":12}},"11":{"string":"LUK +12%","option":{"lukRate":12}},"12":{"string":"LUK +12%","option":{"lukRate":12}},"13":{"string":"LUK +12%","option":{"lukRate":12}},"14":{"string":"LUK +12%","option":{"lukRate":12}},"15":{"string":"LUK +12%","option":{"lukRate":12}},"16":{"string":"LUK +12%","option":{"lukRate":12}},"17":{"string":"LUK +12%","option":{"lukRate":12}},"18":{"string":"LUK +12%","option":{"lukRate":12}},"19":{"string":"LUK +12%","option":{"lukRate":12}},"20":{"string":"LUK +12%","option":{"lukRate":12}},"21":{"string":"LUK +13%","option":{"lukRate":13}},"22":{"string":"LUK +13%","option":{"lukRate":13}},"23":{"string":"LUK +13%","option":{"lukRate":13}},"24":{"string":"LUK +13%","option":{"lukRate":13}},"25":{"string":"LUK +13%","option":{"lukRate":13}}}},"40045":{"optionType":11,"level":{"1":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"2":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"3":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"4":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"5":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"6":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"7":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"8":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"9":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"10":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"11":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"12":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"13":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"14":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"15":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"16":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"17":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"18":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"19":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"20":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"21":{"string":"최대 HP +13%","option":{"maxHpRate":13}},"22":{"string":"최대 HP +13%","option":{"maxHpRate":13}},"23":{"string":"최대 HP +13%","option":{"maxHpRate":13}},"24":{"string":"최대 HP +13%","option":{"maxHpRate":13}},"25":{"string":"최대 HP +13%","option":{"maxHpRate":13}}}},"40046":{"optionType":11,"level":{"1":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"2":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"3":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"4":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"5":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"6":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"7":{"string":"최대 MP +9%","option":{"maxMpRate":9}},"8":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"9":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"10":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"11":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"12":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"13":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"14":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"15":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"16":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"17":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"18":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"19":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"20":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"21":{"string":"최대 MP +13%","option":{"maxMpRate":13}},"22":{"string":"최대 MP +13%","option":{"maxMpRate":13}},"23":{"string":"최대 MP +13%","option":{"maxMpRate":13}},"24":{"string":"최대 MP +13%","option":{"maxMpRate":13}},"25":{"string":"최대 MP +13%","option":{"maxMpRate":13}}}},"40047":{"level":{"1":{"string":"DEX +6%","option":{"dexRate":6}},"2":{"string":"DEX +6%","option":{"dexRate":6}},"3":{"string":"DEX +6%","option":{"dexRate":6}},"4":{"string":"DEX +9%","option":{"dexRate":9}},"5":{"string":"DEX +9%","option":{"dexRate":9}},"6":{"string":"DEX +9%","option":{"dexRate":9}},"7":{"string":"DEX +9%","option":{"dexRate":9}},"8":{"string":"DEX +12%","option":{"dexRate":12}},"9":{"string":"DEX +12%","option":{"dexRate":12}},"10":{"string":"DEX +12%","option":{"dexRate":12}},"11":{"string":"DEX +12%","option":{"dexRate":12}},"12":{"string":"DEX +12%","option":{"dexRate":12}},"13":{"string":"DEX +12%","option":{"dexRate":12}},"14":{"string":"DEX +12%","option":{"dexRate":12}},"15":{"string":"DEX +12%","option":{"dexRate":12}},"16":{"string":"DEX +12%","option":{"dexRate":12}},"17":{"string":"DEX +12%","option":{"dexRate":12}},"18":{"string":"DEX +12%","option":{"dexRate":12}},"19":{"string":"DEX +12%","option":{"dexRate":12}},"20":{"string":"DEX +12%","option":{"dexRate":12}},"21":{"string":"DEX +12%","option":{"dexRate":12}},"22":{"string":"DEX +12%","option":{"dexRate":12}},"23":{"string":"DEX +12%","option":{"dexRate":12}},"24":{"string":"DEX +12%","option":{"dexRate":12}},"25":{"string":"DEX +12%","option":{"dexRate":12}}}},"40048":{"level":{"1":{"string":"LUK +6%","option":{"lukRate":6}},"2":{"string":"LUK +6%","option":{"lukRate":6}},"3":{"string":"LUK +6%","option":{"lukRate":6}},"4":{"string":"LUK +9%","option":{"lukRate":9}},"5":{"string":"LUK +9%","option":{"lukRate":9}},"6":{"string":"LUK +9%","option":{"lukRate":9}},"7":{"string":"LUK +9%","option":{"lukRate":9}},"8":{"string":"LUK +12%","option":{"lukRate":12}},"9":{"string":"LUK +12%","option":{"lukRate":12}},"10":{"string":"LUK +12%","option":{"lukRate":12}},"11":{"string":"LUK +12%","option":{"lukRate":12}},"12":{"string":"LUK +12%","option":{"lukRate":12}},"13":{"string":"LUK +12%","option":{"lukRate":12}},"14":{"string":"LUK +12%","option":{"lukRate":12}},"15":{"string":"LUK +12%","option":{"lukRate":12}},"16":{"string":"LUK +12%","option":{"lukRate":12}},"17":{"string":"LUK +12%","option":{"lukRate":12}},"18":{"string":"LUK +12%","option":{"lukRate":12}},"19":{"string":"LUK +12%","option":{"lukRate":12}},"20":{"string":"LUK +12%","option":{"lukRate":12}},"21":{"string":"LUK +12%","option":{"lukRate":12}},"22":{"string":"LUK +12%","option":{"lukRate":12}},"23":{"string":"LUK +12%","option":{"lukRate":12}},"24":{"string":"LUK +12%","option":{"lukRate":12}},"25":{"string":"LUK +12%","option":{"lukRate":12}}}},"40051":{"optionType":10,"level":{"1":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"2":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"3":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"4":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"5":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"6":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"7":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"8":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"9":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"10":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"11":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"12":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"13":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"14":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"15":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"16":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"17":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"18":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"19":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"20":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"21":{"string":"공격력 +13%","option":{"attackPowerRate":13}},"22":{"string":"공격력 +13%","option":{"attackPowerRate":13}},"23":{"string":"공격력 +13%","option":{"attackPowerRate":13}},"24":{"string":"공격력 +13%","option":{"attackPowerRate":13}},"25":{"string":"공격력 +13%","option":{"attackPowerRate":13}}}},"40052":{"optionType":10,"level":{"1":{"string":"마력 +6%","option":{"magicPowerRate":6}},"2":{"string":"마력 +6%","option":{"magicPowerRate":6}},"3":{"string":"마력 +6%","option":{"magicPowerRate":6}},"4":{"string":"마력 +9%","option":{"magicPowerRate":9}},"5":{"string":"마력 +9%","option":{"magicPowerRate":9}},"6":{"string":"마력 +9%","option":{"magicPowerRate":9}},"7":{"string":"마력 +9%","option":{"magicPowerRate":9}},"8":{"string":"마력 +12%","option":{"magicPowerRate":12}},"9":{"string":"마력 +12%","option":{"magicPowerRate":12}},"10":{"string":"마력 +12%","option":{"magicPowerRate":12}},"11":{"string":"마력 +12%","option":{"magicPowerRate":12}},"12":{"string":"마력 +12%","option":{"magicPowerRate":12}},"13":{"string":"마력 +12%","option":{"magicPowerRate":12}},"14":{"string":"마력 +12%","option":{"magicPowerRate":12}},"15":{"string":"마력 +12%","option":{"magicPowerRate":12}},"16":{"string":"마력 +12%","option":{"magicPowerRate":12}},"17":{"string":"마력 +12%","option":{"magicPowerRate":12}},"18":{"string":"마력 +12%","option":{"magicPowerRate":12}},"19":{"string":"마력 +12%","option":{"magicPowerRate":12}},"20":{"string":"마력 +12%","option":{"magicPowerRate":12}},"21":{"string":"마력 +13%","option":{"magicPowerRate":13}},"22":{"string":"마력 +13%","option":{"magicPowerRate":13}},"23":{"string":"마력 +13%","option":{"magicPowerRate":13}},"24":{"string":"마력 +13%","option":{"magicPowerRate":13}},"25":{"string":"마력 +13%","option":{"magicPowerRate":13}}}},"40053":{"optionType":11,"level":{"1":{"string":"방어력 +6%","option":{"armorRate":6}},"2":{"string":"방어력 +6%","option":{"armorRate":6}},"3":{"string":"방어력 +6%","option":{"armorRate":6}},"4":{"string":"방어력 +9%","option":{"armorRate":9}},"5":{"string":"방어력 +9%","option":{"armorRate":9}},"6":{"string":"방어력 +9%","option":{"armorRate":9}},"7":{"string":"방어력 +9%","option":{"armorRate":9}},"8":{"string":"방어력 +12%","option":{"armorRate":12}},"9":{"string":"방어력 +12%","option":{"armorRate":12}},"10":{"string":"방어력 +12%","option":{"armorRate":12}},"11":{"string":"방어력 +12%","option":{"armorRate":12}},"12":{"string":"방어력 +12%","option":{"armorRate":12}},"13":{"string":"방어력 +12%","option":{"armorRate":12}},"14":{"string":"방어력 +12%","option":{"armorRate":12}},"15":{"string":"방어력 +12%","option":{"armorRate":12}},"16":{"string":"방어력 +12%","option":{"armorRate":12}},"17":{"string":"방어력 +12%","option":{"armorRate":12}},"18":{"string":"방어력 +12%","option":{"armorRate":12}},"19":{"string":"방어력 +12%","option":{"armorRate":12}},"20":{"string":"방어력 +12%","option":{"armorRate":12}},"21":{"string":"방어력 +13%","option":{"armorRate":13}},"22":{"string":"방어력 +13%","option":{"armorRate":13}},"23":{"string":"방어력 +13%","option":{"armorRate":13}},"24":{"string":"방어력 +13%","option":{"armorRate":13}},"25":{"string":"방어력 +13%","option":{"armorRate":13}}}},"40054":{"optionType":11,"level":{"1":{"string":"방어력 +6%","option":{"armorRate":6}},"2":{"string":"방어력 +6%","option":{"armorRate":6}},"3":{"string":"방어력 +6%","option":{"armorRate":6}},"4":{"string":"방어력 +9%","option":{"armorRate":9}},"5":{"string":"방어력 +9%","option":{"armorRate":9}},"6":{"string":"방어력 +9%","option":{"armorRate":9}},"7":{"string":"방어력 +9%","option":{"armorRate":9}},"8":{"string":"방어력 +12%","option":{"armorRate":12}},"9":{"string":"방어력 +12%","option":{"armorRate":12}},"10":{"string":"방어력 +12%","option":{"armorRate":12}},"11":{"string":"방어력 +12%","option":{"armorRate":12}},"12":{"string":"방어력 +12%","option":{"armorRate":12}},"13":{"string":"방어력 +12%","option":{"armorRate":12}},"14":{"string":"방어력 +12%","option":{"armorRate":12}},"15":{"string":"방어력 +12%","option":{"armorRate":12}},"16":{"string":"방어력 +12%","option":{"armorRate":12}},"17":{"string":"방어력 +12%","option":{"armorRate":12}},"18":{"string":"방어력 +12%","option":{"armorRate":12}},"19":{"string":"방어력 +12%","option":{"armorRate":12}},"20":{"string":"방어력 +12%","option":{"armorRate":12}},"21":{"string":"방어력 +12%","option":{"armorRate":12}},"22":{"string":"방어력 +12%","option":{"armorRate":12}},"23":{"string":"방어력 +12%","option":{"armorRate":12}},"24":{"string":"방어력 +12%","option":{"armorRate":12}},"25":{"string":"방어력 +12%","option":{"armorRate":12}}}},"40055":{"optionType":10,"level":{"1":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"2":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"3":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"4":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"5":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"6":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"7":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"8":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"9":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"10":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"11":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"12":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"13":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"14":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"15":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"16":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"17":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"18":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"19":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"20":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"21":{"string":"크리티컬 확률 +13%","option":{"criticalRate":13}},"22":{"string":"크리티컬 확률 +13%","option":{"criticalRate":13}},"23":{"string":"크리티컬 확률 +13%","option":{"criticalRate":13}},"24":{"string":"크리티컬 확률 +13%","option":{"criticalRate":13}},"25":{"string":"크리티컬 확률 +13%","option":{"criticalRate":13}}}},"40056":{"optionType":54,"reqLevel":50,"level":{"1":{"string":"크리티컬 데미지 +2%","option":{"criticalDamage":2}},"2":{"string":"크리티컬 데미지 +2%","option":{"criticalDamage":2}},"3":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"4":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"5":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"6":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"7":{"string":"크리티컬 데미지 +6%","option":{"criticalDamage":6}},"8":{"string":"크리티컬 데미지 +6%","option":{"criticalDamage":6}},"9":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"10":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"11":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"12":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"13":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"14":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"15":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"16":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"17":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"18":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"19":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"20":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"21":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"22":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"23":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"24":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"25":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}}}},"40057":{"optionType":54,"reqLevel":50,"level":{"1":{"string":"크리티컬 데미지 +2%","option":{"criticalDamage":2}},"2":{"string":"크리티컬 데미지 +2%","option":{"criticalDamage":2}},"3":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"4":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"5":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"6":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"7":{"string":"크리티컬 데미지 +6%","option":{"criticalDamage":6}},"8":{"string":"크리티컬 데미지 +6%","option":{"criticalDamage":6}},"9":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"10":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"11":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"12":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"13":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"14":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"15":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"16":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"17":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"18":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"19":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"20":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"21":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"22":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"23":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"24":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}},"25":{"string":"크리티컬 데미지 +8%","option":{"criticalDamage":8}}}},"40070":{"optionType":10,"level":{"1":{"string":"데미지 +6%","option":{"damage":6}},"2":{"string":"데미지 +6%","option":{"damage":6}},"3":{"string":"데미지 +6%","option":{"damage":6}},"4":{"string":"데미지 +9%","option":{"damage":9}},"5":{"string":"데미지 +9%","option":{"damage":9}},"6":{"string":"데미지 +9%","option":{"damage":9}},"7":{"string":"데미지 +9%","option":{"damage":9}},"8":{"string":"데미지 +12%","option":{"damage":12}},"9":{"string":"데미지 +12%","option":{"damage":12}},"10":{"string":"데미지 +12%","option":{"damage":12}},"11":{"string":"데미지 +12%","option":{"damage":12}},"12":{"string":"데미지 +12%","option":{"damage":12}},"13":{"string":"데미지 +12%","option":{"damage":12}},"14":{"string":"데미지 +12%","option":{"damage":12}},"15":{"string":"데미지 +12%","option":{"damage":12}},"16":{"string":"데미지 +12%","option":{"damage":12}},"17":{"string":"데미지 +12%","option":{"damage":12}},"18":{"string":"데미지 +12%","option":{"damage":12}},"19":{"string":"데미지 +12%","option":{"damage":12}},"20":{"string":"데미지 +12%","option":{"damage":12}},"21":{"string":"데미지 +13%","option":{"damage":13}},"22":{"string":"데미지 +13%","option":{"damage":13}},"23":{"string":"데미지 +13%","option":{"damage":13}},"24":{"string":"데미지 +13%","option":{"damage":13}},"25":{"string":"데미지 +13%","option":{"damage":13}}}},"40081":{"level":{"1":{"string":"올스탯 +4","option":{"str":4,"dex":4,"int":4,"luk":4}},"2":{"string":"올스탯 +4","option":{"str":4,"dex":4,"int":4,"luk":4}},"3":{"string":"올스탯 +4","option":{"str":4,"dex":4,"int":4,"luk":4}},"4":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"5":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"6":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"7":{"string":"올스탯 +8","option":{"str":8,"dex":8,"int":8,"luk":8}},"8":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"9":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"10":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"11":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"12":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"13":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"14":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"15":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"16":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"17":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"18":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"19":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"20":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"21":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"22":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"23":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"24":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}},"25":{"string":"올스탯 +12","option":{"str":12,"dex":12,"int":12,"luk":12}}}},"40086":{"level":{"1":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"2":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"3":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"4":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"5":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"6":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"7":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"8":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"9":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"10":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"11":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"12":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"13":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"14":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"15":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"16":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"17":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"18":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"19":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"20":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"21":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"22":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"23":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"24":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"25":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}}}},"40091":{"optionType":10,"level":{"1":{"string":"공격력 +32","option":{"attackPower":32}},"2":{"string":"공격력 +32","option":{"attackPower":32}},"3":{"string":"공격력 +32","option":{"attackPower":32}},"4":{"string":"공격력 +32","option":{"attackPower":32}},"5":{"string":"공격력 +32","option":{"attackPower":32}},"6":{"string":"공격력 +32","option":{"attackPower":32}},"7":{"string":"공격력 +32","option":{"attackPower":32}},"8":{"string":"공격력 +32","option":{"attackPower":32}},"9":{"string":"공격력 +32","option":{"attackPower":32}},"10":{"string":"공격력 +32","option":{"attackPower":32}},"11":{"string":"공격력 +32","option":{"attackPower":32}},"12":{"string":"공격력 +32","option":{"attackPower":32}},"13":{"string":"공격력 +32","option":{"attackPower":32}},"14":{"string":"공격력 +32","option":{"attackPower":32}},"15":{"string":"공격력 +32","option":{"attackPower":32}},"16":{"string":"공격력 +32","option":{"attackPower":32}},"17":{"string":"공격력 +32","option":{"attackPower":32}},"18":{"string":"공격력 +32","option":{"attackPower":32}},"19":{"string":"공격력 +32","option":{"attackPower":32}},"20":{"string":"공격력 +32","option":{"attackPower":32}},"21":{"string":"공격력 +32","option":{"attackPower":32}},"22":{"string":"공격력 +32","option":{"attackPower":32}},"23":{"string":"공격력 +32","option":{"attackPower":32}},"24":{"string":"공격력 +32","option":{"attackPower":32}},"25":{"string":"공격력 +32","option":{"attackPower":32}}}},"40092":{"optionType":10,"level":{"1":{"string":"마력 +32","option":{"magicPower":32}},"2":{"string":"마력 +32","option":{"magicPower":32}},"3":{"string":"마력 +32","option":{"magicPower":32}},"4":{"string":"마력 +32","option":{"magicPower":32}},"5":{"string":"마력 +32","option":{"magicPower":32}},"6":{"string":"마력 +32","option":{"magicPower":32}},"7":{"string":"마력 +32","option":{"magicPower":32}},"8":{"string":"마력 +32","option":{"magicPower":32}},"9":{"string":"마력 +32","option":{"magicPower":32}},"10":{"string":"마력 +32","option":{"magicPower":32}},"11":{"string":"마력 +32","option":{"magicPower":32}},"12":{"string":"마력 +32","option":{"magicPower":32}},"13":{"string":"마력 +32","option":{"magicPower":32}},"14":{"string":"마력 +32","option":{"magicPower":32}},"15":{"string":"마력 +32","option":{"magicPower":32}},"16":{"string":"마력 +32","option":{"magicPower":32}},"17":{"string":"마력 +32","option":{"magicPower":32}},"18":{"string":"마력 +32","option":{"magicPower":32}},"19":{"string":"마력 +32","option":{"magicPower":32}},"20":{"string":"마력 +32","option":{"magicPower":32}},"21":{"string":"마력 +32","option":{"magicPower":32}},"22":{"string":"마력 +32","option":{"magicPower":32}},"23":{"string":"마력 +32","option":{"magicPower":32}},"24":{"string":"마력 +32","option":{"magicPower":32}},"25":{"string":"마력 +32","option":{"magicPower":32}}}},"40106":{"optionType":51,"reqLevel":30,"level":{"1":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"2":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"3":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"4":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"5":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"6":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"7":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"8":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"9":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"10":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"11":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"12":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"13":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"14":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"15":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"16":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"17":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"18":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"19":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"20":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"21":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"22":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"23":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"24":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"25":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}}}},"40107":{"optionType":51,"reqLevel":70,"level":{"1":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"2":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"3":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"4":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"5":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"6":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"7":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"8":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"9":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"10":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"11":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"12":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"13":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"14":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"15":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"16":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"17":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"18":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"19":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"20":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"21":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"22":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"23":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"24":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}},"25":{"string":"4차 이하 스킬 레벨 +3 (마스터 레벨까지만 증가)","option":{}}}},"40111":{"optionType":52,"reqLevel":70,"level":{"1":{"string":"모든 속성 내성 +5%","option":{}},"2":{"string":"모든 속성 내성 +5%","option":{}},"3":{"string":"모든 속성 내성 +5%","option":{}},"4":{"string":"모든 속성 내성 +5%","option":{}},"5":{"string":"모든 속성 내성 +5%","option":{}},"6":{"string":"모든 속성 내성 +5%","option":{}},"7":{"string":"모든 속성 내성 +5%","option":{}},"8":{"string":"모든 속성 내성 +10%","option":{}},"9":{"string":"모든 속성 내성 +10%","option":{}},"10":{"string":"모든 속성 내성 +10%","option":{}},"11":{"string":"모든 속성 내성 +10%","option":{}},"12":{"string":"모든 속성 내성 +10%","option":{}},"13":{"string":"모든 속성 내성 +10%","option":{}},"14":{"string":"모든 속성 내성 +10%","option":{}},"15":{"string":"모든 속성 내성 +10%","option":{}},"16":{"string":"모든 속성 내성 +10%","option":{}},"17":{"string":"모든 속성 내성 +10%","option":{}},"18":{"string":"모든 속성 내성 +10%","option":{}},"19":{"string":"모든 속성 내성 +10%","option":{}},"20":{"string":"모든 속성 내성 +10%","option":{}},"21":{"string":"모든 속성 내성 +10%","option":{}},"22":{"string":"모든 속성 내성 +10%","option":{}},"23":{"string":"모든 속성 내성 +10%","option":{}},"24":{"string":"모든 속성 내성 +10%","option":{}},"25":{"string":"모든 속성 내성 +10%","option":{}}}},"40116":{"optionType":53,"reqLevel":70,"level":{"1":{"string":"상태 이상 내성 +5","option":{}},"2":{"string":"상태 이상 내성 +5","option":{}},"3":{"string":"상태 이상 내성 +5","option":{}},"4":{"string":"상태 이상 내성 +5","option":{}},"5":{"string":"상태 이상 내성 +5","option":{}},"6":{"string":"상태 이상 내성 +5","option":{}},"7":{"string":"상태 이상 내성 +5","option":{}},"8":{"string":"상태 이상 내성 +10","option":{}},"9":{"string":"상태 이상 내성 +10","option":{}},"10":{"string":"상태 이상 내성 +10","option":{}},"11":{"string":"상태 이상 내성 +10","option":{}},"12":{"string":"상태 이상 내성 +10","option":{}},"13":{"string":"상태 이상 내성 +10","option":{}},"14":{"string":"상태 이상 내성 +10","option":{}},"15":{"string":"상태 이상 내성 +10","option":{}},"16":{"string":"상태 이상 내성 +10","option":{}},"17":{"string":"상태 이상 내성 +10","option":{}},"18":{"string":"상태 이상 내성 +10","option":{}},"19":{"string":"상태 이상 내성 +10","option":{}},"20":{"string":"상태 이상 내성 +10","option":{}},"21":{"string":"상태 이상 내성 +10","option":{}},"22":{"string":"상태 이상 내성 +10","option":{}},"23":{"string":"상태 이상 내성 +10","option":{}},"24":{"string":"상태 이상 내성 +10","option":{}},"25":{"string":"상태 이상 내성 +10","option":{}}}},"40291":{"optionType":10,"reqLevel":50,"level":{"1":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"2":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"3":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"4":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"5":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"6":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"7":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"8":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"9":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"10":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"11":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"12":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"13":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"14":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"15":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"16":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"17":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"18":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"19":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"20":{"string":"몬스터 방어율 무시 +35%","option":{"ignoreMonsterArmor":35}},"21":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"22":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"23":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"24":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"25":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}}}},"40292":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"2":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"3":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"4":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"5":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"6":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"7":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"8":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"9":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"10":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"11":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"12":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"13":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"14":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"15":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"16":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"17":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"18":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"19":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"20":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"21":{"string":"몬스터 방어율 무시 +45%","option":{"ignoreMonsterArmor":45}},"22":{"string":"몬스터 방어율 무시 +45%","option":{"ignoreMonsterArmor":45}},"23":{"string":"몬스터 방어율 무시 +45%","option":{"ignoreMonsterArmor":45}},"24":{"string":"몬스터 방어율 무시 +45%","option":{"ignoreMonsterArmor":45}},"25":{"string":"몬스터 방어율 무시 +45%","option":{"ignoreMonsterArmor":45}}}},"40356":{"optionType":20,"reqLevel":20,"level":{"1":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"2":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"3":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"4":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"5":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"6":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"7":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"8":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"9":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"10":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"11":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"12":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"13":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"14":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"15":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"16":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"17":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"18":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"19":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"20":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"21":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"22":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"23":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"24":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}},"25":{"string":"피격 시 10% 확률로 데미지의 20% 무시","option":{}}}},"40357":{"optionType":20,"reqLevel":40,"level":{"1":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"2":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"3":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"4":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"5":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"6":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"7":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"8":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"9":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"10":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"11":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"12":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"13":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"14":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"15":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"16":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"17":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"18":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"19":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"20":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"21":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"22":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"23":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"24":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}},"25":{"string":"피격 시 10% 확률로 데미지의 40% 무시","option":{}}}},"40366":{"optionType":52,"level":{"1":{"string":"피격 후 무적시간 +3초","option":{}},"2":{"string":"피격 후 무적시간 +3초","option":{}},"3":{"string":"피격 후 무적시간 +3초","option":{}},"4":{"string":"피격 후 무적시간 +3초","option":{}},"5":{"string":"피격 후 무적시간 +3초","option":{}},"6":{"string":"피격 후 무적시간 +3초","option":{}},"7":{"string":"피격 후 무적시간 +3초","option":{}},"8":{"string":"피격 후 무적시간 +3초","option":{}},"9":{"string":"피격 후 무적시간 +3초","option":{}},"10":{"string":"피격 후 무적시간 +3초","option":{}},"11":{"string":"피격 후 무적시간 +3초","option":{}},"12":{"string":"피격 후 무적시간 +3초","option":{}},"13":{"string":"피격 후 무적시간 +3초","option":{}},"14":{"string":"피격 후 무적시간 +3초","option":{}},"15":{"string":"피격 후 무적시간 +3초","option":{}},"16":{"string":"피격 후 무적시간 +3초","option":{}},"17":{"string":"피격 후 무적시간 +3초","option":{}},"18":{"string":"피격 후 무적시간 +3초","option":{}},"19":{"string":"피격 후 무적시간 +3초","option":{}},"20":{"string":"피격 후 무적시간 +3초","option":{}},"21":{"string":"피격 후 무적시간 +3초","option":{}},"22":{"string":"피격 후 무적시간 +3초","option":{}},"23":{"string":"피격 후 무적시간 +3초","option":{}},"24":{"string":"피격 후 무적시간 +3초","option":{}},"25":{"string":"피격 후 무적시간 +3초","option":{}}}},"40371":{"optionType":52,"level":{"1":{"string":"피격 시 4% 확률로 5초간 무적","option":{}},"2":{"string":"피격 시 4% 확률로 5초간 무적","option":{}},"3":{"string":"피격 시 4% 확률로 5초간 무적","option":{}},"4":{"string":"피격 시 4% 확률로 5초간 무적","option":{}},"5":{"string":"피격 시 4% 확률로 6초간 무적","option":{}},"6":{"string":"피격 시 4% 확률로 6초간 무적","option":{}},"7":{"string":"피격 시 4% 확률로 6초간 무적","option":{}},"8":{"string":"피격 시 4% 확률로 6초간 무적","option":{}},"9":{"string":"피격 시 4% 확률로 7초간 무적","option":{}},"10":{"string":"피격 시 4% 확률로 7초간 무적","option":{}},"11":{"string":"피격 시 4% 확률로 7초간 무적","option":{}},"12":{"string":"피격 시 4% 확률로 7초간 무적","option":{}},"13":{"string":"피격 시 4% 확률로 7초간 무적","option":{}},"14":{"string":"피격 시 4% 확률로 7초간 무적","option":{}},"15":{"string":"피격 시 4% 확률로 7초간 무적","option":{}},"16":{"string":"피격 시 4% 확률로 7초간 무적","option":{}},"17":{"string":"피격 시 4% 확률로 7초간 무적","option":{}},"18":{"string":"피격 시 4% 확률로 7초간 무적","option":{}},"19":{"string":"피격 시 4% 확률로 7초간 무적","option":{}},"20":{"string":"피격 시 4% 확률로 7초간 무적","option":{}},"21":{"string":"피격 시 4% 확률로 7초간 무적","option":{}},"22":{"string":"피격 시 4% 확률로 7초간 무적","option":{}},"23":{"string":"피격 시 4% 확률로 7초간 무적","option":{}},"24":{"string":"피격 시 4% 확률로 7초간 무적","option":{}},"25":{"string":"피격 시 4% 확률로 7초간 무적","option":{}}}},"40376":{"optionType":53,"level":{"1":{"string":"10% 확률로 받은 피해의 20%를 반사","option":{}},"2":{"string":"10% 확률로 받은 피해의 20%를 반사","option":{}},"3":{"string":"10% 확률로 받은 피해의 20%를 반사","option":{}},"4":{"string":"10% 확률로 받은 피해의 35%를 반사","option":{}},"5":{"string":"10% 확률로 받은 피해의 35%를 반사","option":{}},"6":{"string":"20% 확률로 받은 피해의 35%를 반사","option":{}},"7":{"string":"20% 확률로 받은 피해의 35%를 반사","option":{}},"8":{"string":"20% 확률로 받은 피해의 50%를 반사","option":{}},"9":{"string":"20% 확률로 받은 피해의 50%를 반사","option":{}},"10":{"string":"20% 확률로 받은 피해의 50%를 반사","option":{}},"11":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"12":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"13":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"14":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"15":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"16":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"17":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"18":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"19":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"20":{"string":"30% 확률로 받은 피해의 50%를 반사","option":{}},"21":{"string":"35% 확률로 받은 피해의 50%를 반사","option":{}},"22":{"string":"35% 확률로 받은 피해의 50%를 반사","option":{}},"23":{"string":"35% 확률로 받은 피해의 50%를 반사","option":{}},"24":{"string":"35% 확률로 받은 피해의 50%를 반사","option":{}},"25":{"string":"35% 확률로 받은 피해의 50%를 반사","option":{}}}},"40377":{"optionType":53,"level":{"1":{"string":"10% 확률로 받은 피해의 30%를 반사","option":{}},"2":{"string":"10% 확률로 받은 피해의 30%를 반사","option":{}},"3":{"string":"10% 확률로 받은 피해의 30%를 반사","option":{}},"4":{"string":"10% 확률로 받은 피해의 50%를 반사","option":{}},"5":{"string":"10% 확률로 받은 피해의 50%를 반사","option":{}},"6":{"string":"20% 확률로 받은 피해의 50%를 반사","option":{}},"7":{"string":"20% 확률로 받은 피해의 50%를 반사","option":{}},"8":{"string":"20% 확률로 받은 피해의 70%를 반사","option":{}},"9":{"string":"20% 확률로 받은 피해의 70%를 반사","option":{}},"10":{"string":"20% 확률로 받은 피해의 70%를 반사","option":{}},"11":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"12":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"13":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"14":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"15":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"16":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"17":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"18":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"19":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"20":{"string":"30% 확률로 받은 피해의 70%를 반사","option":{}},"21":{"string":"35% 확률로 받은 피해의 70%를 반사","option":{}},"22":{"string":"35% 확률로 받은 피해의 70%를 반사","option":{}},"23":{"string":"35% 확률로 받은 피해의 70%를 반사","option":{}},"24":{"string":"35% 확률로 받은 피해의 70%를 반사","option":{}},"25":{"string":"35% 확률로 받은 피해의 70%를 반사","option":{}}}},"40501":{"optionType":40,"level":{"1":{"string":"모든 스킬의 MP 소모 -5%","option":{}},"2":{"string":"모든 스킬의 MP 소모 -5%","option":{}},"3":{"string":"모든 스킬의 MP 소모 -5%","option":{}},"4":{"string":"모든 스킬의 MP 소모 -5%","option":{}},"5":{"string":"모든 스킬의 MP 소모 -5%","option":{}},"6":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"7":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"8":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"9":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"10":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"11":{"string":"모든 스킬의 MP 소모 -15%","option":{}},"12":{"string":"모든 스킬의 MP 소모 -15%","option":{}},"13":{"string":"모든 스킬의 MP 소모 -15%","option":{}},"14":{"string":"모든 스킬의 MP 소모 -15%","option":{}},"15":{"string":"모든 스킬의 MP 소모 -15%","option":{}},"16":{"string":"모든 스킬의 MP 소모 -15%","option":{}},"17":{"string":"모든 스킬의 MP 소모 -15%","option":{}},"18":{"string":"모든 스킬의 MP 소모 -15%","option":{}},"19":{"string":"모든 스킬의 MP 소모 -15%","option":{}},"20":{"string":"모든 스킬의 MP 소모 -15%","option":{}},"21":{"string":"모든 스킬의 MP 소모 -17%","option":{}},"22":{"string":"모든 스킬의 MP 소모 -17%","option":{}},"23":{"string":"모든 스킬의 MP 소모 -17%","option":{}},"24":{"string":"모든 스킬의 MP 소모 -17%","option":{}},"25":{"string":"모든 스킬의 MP 소모 -17%","option":{}}}},"40502":{"optionType":40,"level":{"1":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"2":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"3":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"4":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"5":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"6":{"string":"모든 스킬의 MP 소모 -20%","option":{}},"7":{"string":"모든 스킬의 MP 소모 -20%","option":{}},"8":{"string":"모든 스킬의 MP 소모 -20%","option":{}},"9":{"string":"모든 스킬의 MP 소모 -20%","option":{}},"10":{"string":"모든 스킬의 MP 소모 -20%","option":{}},"11":{"string":"모든 스킬의 MP 소모 -30%","option":{}},"12":{"string":"모든 스킬의 MP 소모 -30%","option":{}},"13":{"string":"모든 스킬의 MP 소모 -30%","option":{}},"14":{"string":"모든 스킬의 MP 소모 -30%","option":{}},"15":{"string":"모든 스킬의 MP 소모 -30%","option":{}},"16":{"string":"모든 스킬의 MP 소모 -30%","option":{}},"17":{"string":"모든 스킬의 MP 소모 -30%","option":{}},"18":{"string":"모든 스킬의 MP 소모 -30%","option":{}},"19":{"string":"모든 스킬의 MP 소모 -30%","option":{}},"20":{"string":"모든 스킬의 MP 소모 -30%","option":{}},"21":{"string":"모든 스킬의 MP 소모 -35%","option":{}},"22":{"string":"모든 스킬의 MP 소모 -35%","option":{}},"23":{"string":"모든 스킬의 MP 소모 -35%","option":{}},"24":{"string":"모든 스킬의 MP 소모 -35%","option":{}},"25":{"string":"모든 스킬의 MP 소모 -35%","option":{}}}},"40551":{"optionType":11,"level":{"1":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"2":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"3":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"4":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"5":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"6":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"7":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"8":{"string":"HP 회복 아이템 및 회복 스킬 효율 +40%","option":{}},"9":{"string":"HP 회복 아이템 및 회복 스킬 효율 +40%","option":{}},"10":{"string":"HP 회복 아이템 및 회복 스킬 효율 +40%","option":{}},"11":{"string":"HP 회복 아이템 및 회복 스킬 효율 +40%","option":{}},"12":{"string":"HP 회복 아이템 및 회복 스킬 효율 +40%","option":{}},"13":{"string":"HP 회복 아이템 및 회복 스킬 효율 +40%","option":{}},"14":{"string":"HP 회복 아이템 및 회복 스킬 효율 +40%","option":{}},"15":{"string":"HP 회복 아이템 및 회복 스킬 효율 +40%","option":{}},"16":{"string":"HP 회복 아이템 및 회복 스킬 효율 +40%","option":{}},"17":{"string":"HP 회복 아이템 및 회복 스킬 효율 +40%","option":{}},"18":{"string":"HP 회복 아이템 및 회복 스킬 효율 +40%","option":{}},"19":{"string":"HP 회복 아이템 및 회복 스킬 효율 +40%","option":{}},"20":{"string":"HP 회복 아이템 및 회복 스킬 효율 +40%","option":{}},"21":{"string":"HP 회복 아이템 및 회복 스킬 효율 +40%","option":{}},"22":{"string":"HP 회복 아이템 및 회복 스킬 효율 +40%","option":{}},"23":{"string":"HP 회복 아이템 및 회복 스킬 효율 +40%","option":{}},"24":{"string":"HP 회복 아이템 및 회복 스킬 효율 +40%","option":{}},"25":{"string":"HP 회복 아이템 및 회복 스킬 효율 +40%","option":{}}}},"40556":{"optionType":51,"reqLevel":70,"level":{"1":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"2":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"3":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"4":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"5":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"6":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"7":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"8":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"9":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"10":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"11":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"12":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"13":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"14":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"15":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"16":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"17":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"18":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"19":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"20":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"21":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"22":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"23":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"24":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"25":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}}}},"40557":{"optionType":51,"reqLevel":120,"level":{"1":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"2":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"3":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"4":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"5":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"6":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"7":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"8":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"9":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"10":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"11":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"12":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"13":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"14":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"15":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"16":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"17":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"18":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"19":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"20":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"21":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"22":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"23":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"24":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}},"25":{"string":"스킬 재사용 대기시간 -2초","option":{"cooltimeReduce":2}}}},"40601":{"optionType":10,"reqLevel":50,"level":{"1":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"2":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"3":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"4":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"5":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"6":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"7":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"8":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"9":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"10":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"11":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"12":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"13":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"14":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"15":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"16":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"17":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"18":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"19":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"20":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"21":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"22":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"23":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"24":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"25":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}}}},"40602":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"2":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"3":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"4":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"5":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"6":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"7":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"8":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"9":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"10":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"11":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"12":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"13":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"14":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"15":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"16":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"17":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"18":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"19":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"20":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"21":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"22":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"23":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"24":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"25":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}}}},"40603":{"optionType":10,"reqLevel":100,"level":{"1":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"2":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"3":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"4":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"5":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"6":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"7":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"8":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"9":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"10":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"11":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"12":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"13":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"14":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"15":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"16":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"17":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"18":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"19":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"20":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"21":{"string":"보스 몬스터 데미지 +45%","option":{"bossDamage":45}},"22":{"string":"보스 몬스터 데미지 +45%","option":{"bossDamage":45}},"23":{"string":"보스 몬스터 데미지 +45%","option":{"bossDamage":45}},"24":{"string":"보스 몬스터 데미지 +45%","option":{"bossDamage":45}},"25":{"string":"보스 몬스터 데미지 +45%","option":{"bossDamage":45}}}},"40650":{"optionType":40,"level":{"1":{"string":"메소 획득량 +10%","option":{}},"2":{"string":"메소 획득량 +10%","option":{}},"3":{"string":"메소 획득량 +10%","option":{}},"4":{"string":"메소 획득량 +15%","option":{}},"5":{"string":"메소 획득량 +15%","option":{}},"6":{"string":"메소 획득량 +15%","option":{}},"7":{"string":"메소 획득량 +15%","option":{}},"8":{"string":"메소 획득량 +20%","option":{}},"9":{"string":"메소 획득량 +20%","option":{}},"10":{"string":"메소 획득량 +20%","option":{}},"11":{"string":"메소 획득량 +20%","option":{}},"12":{"string":"메소 획득량 +20%","option":{}},"13":{"string":"메소 획득량 +20%","option":{}},"14":{"string":"메소 획득량 +20%","option":{}},"15":{"string":"메소 획득량 +20%","option":{}},"16":{"string":"메소 획득량 +20%","option":{}},"17":{"string":"메소 획득량 +20%","option":{}},"18":{"string":"메소 획득량 +20%","option":{}},"19":{"string":"메소 획득량 +20%","option":{}},"20":{"string":"메소 획득량 +20%","option":{}},"21":{"string":"메소 획득량 +20%","option":{}},"22":{"string":"메소 획득량 +20%","option":{}},"23":{"string":"메소 획득량 +20%","option":{}},"24":{"string":"메소 획득량 +20%","option":{}},"25":{"string":"메소 획득량 +20%","option":{}}}},"40656":{"optionType":40,"level":{"1":{"string":"아이템 드롭률 +10%","option":{}},"2":{"string":"아이템 드롭률 +10%","option":{}},"3":{"string":"아이템 드롭률 +10%","option":{}},"4":{"string":"아이템 드롭률 +15%","option":{}},"5":{"string":"아이템 드롭률 +15%","option":{}},"6":{"string":"아이템 드롭률 +15%","option":{}},"7":{"string":"아이템 드롭률 +15%","option":{}},"8":{"string":"아이템 드롭률 +20%","option":{}},"9":{"string":"아이템 드롭률 +20%","option":{}},"10":{"string":"아이템 드롭률 +20%","option":{}},"11":{"string":"아이템 드롭률 +20%","option":{}},"12":{"string":"아이템 드롭률 +20%","option":{}},"13":{"string":"아이템 드롭률 +20%","option":{}},"14":{"string":"아이템 드롭률 +20%","option":{}},"15":{"string":"아이템 드롭률 +20%","option":{}},"16":{"string":"아이템 드롭률 +20%","option":{}},"17":{"string":"아이템 드롭률 +20%","option":{}},"18":{"string":"아이템 드롭률 +20%","option":{}},"19":{"string":"아이템 드롭률 +20%","option":{}},"20":{"string":"아이템 드롭률 +20%","option":{}},"21":{"string":"아이템 드롭률 +20%","option":{}},"22":{"string":"아이템 드롭률 +20%","option":{}},"23":{"string":"아이템 드롭률 +20%","option":{}},"24":{"string":"아이템 드롭률 +20%","option":{}},"25":{"string":"아이템 드롭률 +20%","option":{}}}},"40701":{"optionType":54,"reqLevel":20,"level":{"1":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"2":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"3":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"4":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"5":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"6":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"7":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"8":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"9":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"10":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"11":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"12":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"13":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"14":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"15":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"16":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"17":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"18":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"19":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"20":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"21":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"22":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"23":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"24":{"string":"공격 시 3% 확률로 오토스틸","option":{}},"25":{"string":"공격 시 3% 확률로 오토스틸","option":{}}}},"40702":{"optionType":54,"reqLevel":40,"level":{"1":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"2":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"3":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"4":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"5":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"6":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"7":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"8":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"9":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"10":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"11":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"12":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"13":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"14":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"15":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"16":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"17":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"18":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"19":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"20":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"21":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"22":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"23":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"24":{"string":"공격 시 5% 확률로 오토스틸","option":{}},"25":{"string":"공격 시 5% 확률로 오토스틸","option":{}}}},"40703":{"optionType":54,"reqLevel":60,"level":{"1":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"2":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"3":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"4":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"5":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"6":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"7":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"8":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"9":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"10":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"11":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"12":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"13":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"14":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"15":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"16":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"17":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"18":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"19":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"20":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"21":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"22":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"23":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"24":{"string":"공격 시 7% 확률로 오토스틸","option":{}},"25":{"string":"공격 시 7% 확률로 오토스틸","option":{}}}},"41005":{"optionType":55,"reqLevel":70,"level":{"1":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"2":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"3":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"4":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"5":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"6":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"7":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"8":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"9":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"10":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"11":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"12":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"13":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"14":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"15":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"16":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"17":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"18":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"19":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"20":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"21":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"22":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"23":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"24":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}},"25":{"string":"<쓸만한 컴뱃 오더스> 스킬 사용 가능","option":{}}}},"41006":{"optionType":51,"reqLevel":120,"level":{"1":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"2":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"3":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"4":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"5":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"6":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"7":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"8":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"9":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"10":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"11":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"12":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"13":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"14":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"15":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"16":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"17":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"18":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"19":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"20":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"21":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"22":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"23":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"24":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}},"25":{"string":"<쓸만한 어드밴스드 블레스> 스킬 사용 가능","option":{}}}},"41007":{"optionType":54,"reqLevel":120,"level":{"1":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"2":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"3":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"4":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"5":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"6":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"7":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"8":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"9":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"10":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"11":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"12":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"13":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"14":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"15":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"16":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"17":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"18":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"19":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"20":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"21":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"22":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"23":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"24":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}},"25":{"string":"<쓸만한 윈드 부스터> 스킬 사용 가능","option":{}}}},"42001":{"optionType":11,"level":{"1":{"string":"STR +8","option":{"str":8}},"2":{"string":"STR +8","option":{"str":8}},"3":{"string":"STR +10","option":{"str":10}},"4":{"string":"STR +10","option":{"str":10}},"5":{"string":"STR +12","option":{"str":12}},"6":{"string":"STR +14","option":{"str":14}},"7":{"string":"STR +14","option":{"str":14}},"8":{"string":"STR +16","option":{"str":16}},"9":{"string":"STR +16","option":{"str":16}},"10":{"string":"STR +20","option":{"str":20}},"11":{"string":"STR +20","option":{"str":20}},"12":{"string":"STR +20","option":{"str":20}},"13":{"string":"STR +20","option":{"str":20}},"14":{"string":"STR +20","option":{"str":20}},"15":{"string":"STR +20","option":{"str":20}},"16":{"string":"STR +20","option":{"str":20}},"17":{"string":"STR +20","option":{"str":20}},"18":{"string":"STR +20","option":{"str":20}},"19":{"string":"STR +20","option":{"str":20}},"20":{"string":"STR +20","option":{"str":20}},"21":{"string":"STR +21","option":{"str":21}},"22":{"string":"STR +21","option":{"str":21}},"23":{"string":"STR +21","option":{"str":21}},"24":{"string":"STR +21","option":{"str":21}},"25":{"string":"STR +21","option":{"str":21}}}},"42002":{"optionType":11,"level":{"1":{"string":"DEX +8","option":{"dex":8}},"2":{"string":"DEX +8","option":{"dex":8}},"3":{"string":"DEX +10","option":{"dex":10}},"4":{"string":"DEX +10","option":{"dex":10}},"5":{"string":"DEX +12","option":{"dex":12}},"6":{"string":"DEX +14","option":{"dex":14}},"7":{"string":"DEX +14","option":{"dex":14}},"8":{"string":"DEX +16","option":{"dex":16}},"9":{"string":"DEX +16","option":{"dex":16}},"10":{"string":"DEX +20","option":{"dex":20}},"11":{"string":"DEX +20","option":{"dex":20}},"12":{"string":"DEX +20","option":{"dex":20}},"13":{"string":"DEX +20","option":{"dex":20}},"14":{"string":"DEX +20","option":{"dex":20}},"15":{"string":"DEX +20","option":{"dex":20}},"16":{"string":"DEX +20","option":{"dex":20}},"17":{"string":"DEX +20","option":{"dex":20}},"18":{"string":"DEX +20","option":{"dex":20}},"19":{"string":"DEX +20","option":{"dex":20}},"20":{"string":"DEX +20","option":{"dex":20}},"21":{"string":"DEX +21","option":{"dex":21}},"22":{"string":"DEX +21","option":{"dex":21}},"23":{"string":"DEX +21","option":{"dex":21}},"24":{"string":"DEX +21","option":{"dex":21}},"25":{"string":"DEX +21","option":{"dex":21}}}},"42003":{"optionType":11,"level":{"1":{"string":"INT +8","option":{"int":8}},"2":{"string":"INT +8","option":{"int":8}},"3":{"string":"INT +10","option":{"int":10}},"4":{"string":"INT +10","option":{"int":10}},"5":{"string":"INT +12","option":{"int":12}},"6":{"string":"INT +14","option":{"int":14}},"7":{"string":"INT +14","option":{"int":14}},"8":{"string":"INT +16","option":{"int":16}},"9":{"string":"INT +16","option":{"int":16}},"10":{"string":"INT +20","option":{"int":20}},"11":{"string":"INT +20","option":{"int":20}},"12":{"string":"INT +20","option":{"int":20}},"13":{"string":"INT +20","option":{"int":20}},"14":{"string":"INT +20","option":{"int":20}},"15":{"string":"INT +20","option":{"int":20}},"16":{"string":"INT +20","option":{"int":20}},"17":{"string":"INT +20","option":{"int":20}},"18":{"string":"INT +20","option":{"int":20}},"19":{"string":"INT +20","option":{"int":20}},"20":{"string":"INT +20","option":{"int":20}},"21":{"string":"INT +21","option":{"int":21}},"22":{"string":"INT +21","option":{"int":21}},"23":{"string":"INT +21","option":{"int":21}},"24":{"string":"INT +21","option":{"int":21}},"25":{"string":"INT +21","option":{"int":21}}}},"42004":{"optionType":11,"level":{"1":{"string":"LUK +8","option":{"luk":8}},"2":{"string":"LUK +8","option":{"luk":8}},"3":{"string":"LUK +10","option":{"luk":10}},"4":{"string":"LUK +10","option":{"luk":10}},"5":{"string":"LUK +12","option":{"luk":12}},"6":{"string":"LUK +14","option":{"luk":14}},"7":{"string":"LUK +14","option":{"luk":14}},"8":{"string":"LUK +16","option":{"luk":16}},"9":{"string":"LUK +16","option":{"luk":16}},"10":{"string":"LUK +20","option":{"luk":20}},"11":{"string":"LUK +20","option":{"luk":20}},"12":{"string":"LUK +20","option":{"luk":20}},"13":{"string":"LUK +20","option":{"luk":20}},"14":{"string":"LUK +20","option":{"luk":20}},"15":{"string":"LUK +20","option":{"luk":20}},"16":{"string":"LUK +20","option":{"luk":20}},"17":{"string":"LUK +20","option":{"luk":20}},"18":{"string":"LUK +20","option":{"luk":20}},"19":{"string":"LUK +20","option":{"luk":20}},"20":{"string":"LUK +20","option":{"luk":20}},"21":{"string":"LUK +21","option":{"luk":21}},"22":{"string":"LUK +21","option":{"luk":21}},"23":{"string":"LUK +21","option":{"luk":21}},"24":{"string":"LUK +21","option":{"luk":21}},"25":{"string":"LUK +21","option":{"luk":21}}}},"42005":{"optionType":11,"level":{"1":{"string":"최대 HP +25","option":{"maxHp":25}},"2":{"string":"최대 HP +50","option":{"maxHp":50}},"3":{"string":"최대 HP +75","option":{"maxHp":75}},"4":{"string":"최대 HP +100","option":{"maxHp":100}},"5":{"string":"최대 HP +125","option":{"maxHp":125}},"6":{"string":"최대 HP +150","option":{"maxHp":150}},"7":{"string":"최대 HP +175","option":{"maxHp":175}},"8":{"string":"최대 HP +200","option":{"maxHp":200}},"9":{"string":"최대 HP +225","option":{"maxHp":225}},"10":{"string":"최대 HP +360","option":{"maxHp":360}},"11":{"string":"최대 HP +360","option":{"maxHp":360}},"12":{"string":"최대 HP +360","option":{"maxHp":360}},"13":{"string":"최대 HP +360","option":{"maxHp":360}},"14":{"string":"최대 HP +360","option":{"maxHp":360}},"15":{"string":"최대 HP +360","option":{"maxHp":360}},"16":{"string":"최대 HP +360","option":{"maxHp":360}},"17":{"string":"최대 HP +360","option":{"maxHp":360}},"18":{"string":"최대 HP +360","option":{"maxHp":360}},"19":{"string":"최대 HP +360","option":{"maxHp":360}},"20":{"string":"최대 HP +360","option":{"maxHp":360}},"21":{"string":"최대 HP +375","option":{"maxHp":375}},"22":{"string":"최대 HP +375","option":{"maxHp":375}},"23":{"string":"최대 HP +375","option":{"maxHp":375}},"24":{"string":"최대 HP +375","option":{"maxHp":375}},"25":{"string":"최대 HP +375","option":{"maxHp":375}}}},"42006":{"optionType":11,"level":{"1":{"string":"최대 MP +25","option":{"maxMp":25}},"2":{"string":"최대 MP +50","option":{"maxMp":50}},"3":{"string":"최대 MP +75","option":{"maxMp":75}},"4":{"string":"최대 MP +100","option":{"maxMp":100}},"5":{"string":"최대 MP +125","option":{"maxMp":125}},"6":{"string":"최대 MP +150","option":{"maxMp":150}},"7":{"string":"최대 MP +175","option":{"maxMp":175}},"8":{"string":"최대 MP +200","option":{"maxMp":200}},"9":{"string":"최대 MP +225","option":{"maxMp":225}},"10":{"string":"최대 MP +360","option":{"maxMp":360}},"11":{"string":"최대 MP +360","option":{"maxMp":360}},"12":{"string":"최대 MP +360","option":{"maxMp":360}},"13":{"string":"최대 MP +360","option":{"maxMp":360}},"14":{"string":"최대 MP +360","option":{"maxMp":360}},"15":{"string":"최대 MP +360","option":{"maxMp":360}},"16":{"string":"최대 MP +360","option":{"maxMp":360}},"17":{"string":"최대 MP +360","option":{"maxMp":360}},"18":{"string":"최대 MP +360","option":{"maxMp":360}},"19":{"string":"최대 MP +360","option":{"maxMp":360}},"20":{"string":"최대 MP +360","option":{"maxMp":360}},"21":{"string":"최대 MP +375","option":{"maxMp":375}},"22":{"string":"최대 MP +375","option":{"maxMp":375}},"23":{"string":"최대 MP +375","option":{"maxMp":375}},"24":{"string":"최대 MP +375","option":{"maxMp":375}},"25":{"string":"최대 MP +375","option":{"maxMp":375}}}},"42007":{"optionType":11,"level":{"1":{"string":"최대 HP +25","option":{"maxHp":25}},"2":{"string":"최대 HP +50","option":{"maxHp":50}},"3":{"string":"최대 HP +75","option":{"maxHp":75}},"4":{"string":"최대 HP +100","option":{"maxHp":100}},"5":{"string":"최대 HP +125","option":{"maxHp":125}},"6":{"string":"최대 HP +150","option":{"maxHp":150}},"7":{"string":"최대 HP +175","option":{"maxHp":175}},"8":{"string":"최대 HP +200","option":{"maxHp":200}},"9":{"string":"최대 HP +225","option":{"maxHp":225}},"10":{"string":"최대 HP +360","option":{"maxHp":360}},"11":{"string":"최대 HP +360","option":{"maxHp":360}},"12":{"string":"최대 HP +360","option":{"maxHp":360}},"13":{"string":"최대 HP +360","option":{"maxHp":360}},"14":{"string":"최대 HP +360","option":{"maxHp":360}},"15":{"string":"최대 HP +360","option":{"maxHp":360}},"16":{"string":"최대 HP +360","option":{"maxHp":360}},"17":{"string":"최대 HP +360","option":{"maxHp":360}},"18":{"string":"최대 HP +360","option":{"maxHp":360}},"19":{"string":"최대 HP +360","option":{"maxHp":360}},"20":{"string":"최대 HP +360","option":{"maxHp":360}},"21":{"string":"최대 HP +375","option":{"maxHp":375}},"22":{"string":"최대 HP +375","option":{"maxHp":375}},"23":{"string":"최대 HP +375","option":{"maxHp":375}},"24":{"string":"최대 HP +375","option":{"maxHp":375}},"25":{"string":"최대 HP +375","option":{"maxHp":375}}}},"42008":{"optionType":11,"level":{"1":{"string":"최대 MP +25","option":{"maxMp":25}},"2":{"string":"최대 MP +50","option":{"maxMp":50}},"3":{"string":"최대 MP +75","option":{"maxMp":75}},"4":{"string":"최대 MP +100","option":{"maxMp":100}},"5":{"string":"최대 MP +125","option":{"maxMp":125}},"6":{"string":"최대 MP +150","option":{"maxMp":150}},"7":{"string":"최대 MP +175","option":{"maxMp":175}},"8":{"string":"최대 MP +200","option":{"maxMp":200}},"9":{"string":"최대 MP +225","option":{"maxMp":225}},"10":{"string":"최대 MP +360","option":{"maxMp":360}},"11":{"string":"최대 MP +360","option":{"maxMp":360}},"12":{"string":"최대 MP +360","option":{"maxMp":360}},"13":{"string":"최대 MP +360","option":{"maxMp":360}},"14":{"string":"최대 MP +360","option":{"maxMp":360}},"15":{"string":"최대 MP +360","option":{"maxMp":360}},"16":{"string":"최대 MP +360","option":{"maxMp":360}},"17":{"string":"최대 MP +360","option":{"maxMp":360}},"18":{"string":"최대 MP +360","option":{"maxMp":360}},"19":{"string":"최대 MP +360","option":{"maxMp":360}},"20":{"string":"최대 MP +360","option":{"maxMp":360}},"21":{"string":"최대 MP +375","option":{"maxMp":375}},"22":{"string":"최대 MP +375","option":{"maxMp":375}},"23":{"string":"최대 MP +375","option":{"maxMp":375}},"24":{"string":"최대 MP +375","option":{"maxMp":375}},"25":{"string":"최대 MP +375","option":{"maxMp":375}}}},"42009":{"optionType":11,"level":{"1":{"string":"이동속도 +8","option":{"speed":8}},"2":{"string":"이동속도 +8","option":{"speed":8}},"3":{"string":"이동속도 +8","option":{"speed":8}},"4":{"string":"이동속도 +10","option":{"speed":10}},"5":{"string":"이동속도 +10","option":{"speed":10}},"6":{"string":"이동속도 +10","option":{"speed":10}},"7":{"string":"이동속도 +10","option":{"speed":10}},"8":{"string":"이동속도 +12","option":{"speed":12}},"9":{"string":"이동속도 +12","option":{"speed":12}},"10":{"string":"이동속도 +12","option":{"speed":12}},"11":{"string":"이동속도 +12","option":{"speed":12}},"12":{"string":"이동속도 +14","option":{"speed":14}},"13":{"string":"이동속도 +14","option":{"speed":14}},"14":{"string":"이동속도 +14","option":{"speed":14}},"15":{"string":"이동속도 +14","option":{"speed":14}},"16":{"string":"이동속도 +14","option":{"speed":14}},"17":{"string":"이동속도 +14","option":{"speed":14}},"18":{"string":"이동속도 +14","option":{"speed":14}},"19":{"string":"이동속도 +14","option":{"speed":14}},"20":{"string":"이동속도 +14","option":{"speed":14}},"21":{"string":"이동속도 +14","option":{"speed":14}},"22":{"string":"이동속도 +14","option":{"speed":14}},"23":{"string":"이동속도 +14","option":{"speed":14}},"24":{"string":"이동속도 +14","option":{"speed":14}},"25":{"string":"이동속도 +14","option":{"speed":14}}}},"42010":{"optionType":11,"level":{"1":{"string":"점프력 +8","option":{"jump":8}},"2":{"string":"점프력 +8","option":{"jump":8}},"3":{"string":"점프력 +8","option":{"jump":8}},"4":{"string":"점프력 +10","option":{"jump":10}},"5":{"string":"점프력 +10","option":{"jump":10}},"6":{"string":"점프력 +10","option":{"jump":10}},"7":{"string":"점프력 +10","option":{"jump":10}},"8":{"string":"점프력 +12","option":{"jump":12}},"9":{"string":"점프력 +12","option":{"jump":12}},"10":{"string":"점프력 +12","option":{"jump":12}},"11":{"string":"점프력 +12","option":{"jump":12}},"12":{"string":"점프력 +14","option":{"jump":14}},"13":{"string":"점프력 +14","option":{"jump":14}},"14":{"string":"점프력 +14","option":{"jump":14}},"15":{"string":"점프력 +14","option":{"jump":14}},"16":{"string":"점프력 +14","option":{"jump":14}},"17":{"string":"점프력 +14","option":{"jump":14}},"18":{"string":"점프력 +14","option":{"jump":14}},"19":{"string":"점프력 +14","option":{"jump":14}},"20":{"string":"점프력 +14","option":{"jump":14}},"21":{"string":"점프력 +14","option":{"jump":14}},"22":{"string":"점프력 +14","option":{"jump":14}},"23":{"string":"점프력 +14","option":{"jump":14}},"24":{"string":"점프력 +14","option":{"jump":14}},"25":{"string":"점프력 +14","option":{"jump":14}}}},"42011":{"optionType":11,"level":{"1":{"string":"공격력 +8","option":{"attackPower":8}},"2":{"string":"공격력 +8","option":{"attackPower":8}},"3":{"string":"공격력 +10","option":{"attackPower":10}},"4":{"string":"공격력 +10","option":{"attackPower":10}},"5":{"string":"공격력 +10","option":{"attackPower":10}},"6":{"string":"공격력 +12","option":{"attackPower":12}},"7":{"string":"공격력 +12","option":{"attackPower":12}},"8":{"string":"공격력 +12","option":{"attackPower":12}},"9":{"string":"공격력 +12","option":{"attackPower":12}},"10":{"string":"공격력 +16","option":{"attackPower":16}},"11":{"string":"공격력 +16","option":{"attackPower":16}},"12":{"string":"공격력 +16","option":{"attackPower":16}},"13":{"string":"공격력 +16","option":{"attackPower":16}},"14":{"string":"공격력 +16","option":{"attackPower":16}},"15":{"string":"공격력 +16","option":{"attackPower":16}},"16":{"string":"공격력 +16","option":{"attackPower":16}},"17":{"string":"공격력 +16","option":{"attackPower":16}},"18":{"string":"공격력 +16","option":{"attackPower":16}},"19":{"string":"공격력 +16","option":{"attackPower":16}},"20":{"string":"공격력 +16","option":{"attackPower":16}},"21":{"string":"공격력 +17","option":{"attackPower":17}},"22":{"string":"공격력 +17","option":{"attackPower":17}},"23":{"string":"공격력 +17","option":{"attackPower":17}},"24":{"string":"공격력 +17","option":{"attackPower":17}},"25":{"string":"공격력 +17","option":{"attackPower":17}}}},"42012":{"optionType":11,"level":{"1":{"string":"마력 +8","option":{"magicPower":8}},"2":{"string":"마력 +8","option":{"magicPower":8}},"3":{"string":"마력 +10","option":{"magicPower":10}},"4":{"string":"마력 +10","option":{"magicPower":10}},"5":{"string":"마력 +10","option":{"magicPower":10}},"6":{"string":"마력 +12","option":{"magicPower":12}},"7":{"string":"마력 +12","option":{"magicPower":12}},"8":{"string":"마력 +12","option":{"magicPower":12}},"9":{"string":"마력 +12","option":{"magicPower":12}},"10":{"string":"마력 +16","option":{"magicPower":16}},"11":{"string":"마력 +16","option":{"magicPower":16}},"12":{"string":"마력 +16","option":{"magicPower":16}},"13":{"string":"마력 +16","option":{"magicPower":16}},"14":{"string":"마력 +16","option":{"magicPower":16}},"15":{"string":"마력 +16","option":{"magicPower":16}},"16":{"string":"마력 +16","option":{"magicPower":16}},"17":{"string":"마력 +16","option":{"magicPower":16}},"18":{"string":"마력 +16","option":{"magicPower":16}},"19":{"string":"마력 +16","option":{"magicPower":16}},"20":{"string":"마력 +16","option":{"magicPower":16}},"21":{"string":"마력 +17","option":{"magicPower":17}},"22":{"string":"마력 +17","option":{"magicPower":17}},"23":{"string":"마력 +17","option":{"magicPower":17}},"24":{"string":"마력 +17","option":{"magicPower":17}},"25":{"string":"마력 +17","option":{"magicPower":17}}}},"42013":{"optionType":11,"level":{"1":{"string":"방어력 +20","option":{"armor":20}},"2":{"string":"방어력 +20","option":{"armor":20}},"3":{"string":"방어력 +50","option":{"armor":50}},"4":{"string":"방어력 +50","option":{"armor":50}},"5":{"string":"방어력 +50","option":{"armor":50}},"6":{"string":"방어력 +100","option":{"armor":100}},"7":{"string":"방어력 +100","option":{"armor":100}},"8":{"string":"방어력 +100","option":{"armor":100}},"9":{"string":"방어력 +100","option":{"armor":100}},"10":{"string":"방어력 +200","option":{"armor":200}},"11":{"string":"방어력 +200","option":{"armor":200}},"12":{"string":"방어력 +200","option":{"armor":200}},"13":{"string":"방어력 +200","option":{"armor":200}},"14":{"string":"방어력 +200","option":{"armor":200}},"15":{"string":"방어력 +200","option":{"armor":200}},"16":{"string":"방어력 +200","option":{"armor":200}},"17":{"string":"방어력 +200","option":{"armor":200}},"18":{"string":"방어력 +200","option":{"armor":200}},"19":{"string":"방어력 +200","option":{"armor":200}},"20":{"string":"방어력 +200","option":{"armor":200}},"21":{"string":"방어력 +250","option":{"armor":250}},"22":{"string":"방어력 +250","option":{"armor":250}},"23":{"string":"방어력 +250","option":{"armor":250}},"24":{"string":"방어력 +250","option":{"armor":250}},"25":{"string":"방어력 +250","option":{"armor":250}}}},"42014":{"optionType":11,"level":{"1":{"string":"방어력 +20","option":{"armor":20}},"2":{"string":"방어력 +20","option":{"armor":20}},"3":{"string":"방어력 +50","option":{"armor":50}},"4":{"string":"방어력 +50","option":{"armor":50}},"5":{"string":"방어력 +50","option":{"armor":50}},"6":{"string":"방어력 +100","option":{"armor":100}},"7":{"string":"방어력 +100","option":{"armor":100}},"8":{"string":"방어력 +100","option":{"armor":100}},"9":{"string":"방어력 +100","option":{"armor":100}},"10":{"string":"방어력 +200","option":{"armor":200}},"11":{"string":"방어력 +200","option":{"armor":200}},"12":{"string":"방어력 +200","option":{"armor":200}},"13":{"string":"방어력 +200","option":{"armor":200}},"14":{"string":"방어력 +200","option":{"armor":200}},"15":{"string":"방어력 +200","option":{"armor":200}},"16":{"string":"방어력 +200","option":{"armor":200}},"17":{"string":"방어력 +200","option":{"armor":200}},"18":{"string":"방어력 +200","option":{"armor":200}},"19":{"string":"방어력 +200","option":{"armor":200}},"20":{"string":"방어력 +200","option":{"armor":200}},"21":{"string":"방어력 +200","option":{"armor":200}},"22":{"string":"방어력 +200","option":{"armor":200}},"23":{"string":"방어력 +200","option":{"armor":200}},"24":{"string":"방어력 +200","option":{"armor":200}},"25":{"string":"방어력 +200","option":{"armor":200}}}},"42041":{"optionType":11,"level":{"1":{"string":"STR +3%","option":{"strRate":3}},"2":{"string":"STR +3%","option":{"strRate":3}},"3":{"string":"STR +4%","option":{"strRate":4}},"4":{"string":"STR +4%","option":{"strRate":4}},"5":{"string":"STR +4%","option":{"strRate":4}},"6":{"string":"STR +5%","option":{"strRate":5}},"7":{"string":"STR +5%","option":{"strRate":5}},"8":{"string":"STR +5%","option":{"strRate":5}},"9":{"string":"STR +5%","option":{"strRate":5}},"10":{"string":"STR +8%","option":{"strRate":8}},"11":{"string":"STR +8%","option":{"strRate":8}},"12":{"string":"STR +8%","option":{"strRate":8}},"13":{"string":"STR +8%","option":{"strRate":8}},"14":{"string":"STR +8%","option":{"strRate":8}},"15":{"string":"STR +8%","option":{"strRate":8}},"16":{"string":"STR +8%","option":{"strRate":8}},"17":{"string":"STR +8%","option":{"strRate":8}},"18":{"string":"STR +8%","option":{"strRate":8}},"19":{"string":"STR +8%","option":{"strRate":8}},"20":{"string":"STR +8%","option":{"strRate":8}},"21":{"string":"STR +9%","option":{"strRate":9}},"22":{"string":"STR +9%","option":{"strRate":9}},"23":{"string":"STR +9%","option":{"strRate":9}},"24":{"string":"STR +9%","option":{"strRate":9}},"25":{"string":"STR +9%","option":{"strRate":9}}}},"42042":{"optionType":11,"level":{"1":{"string":"DEX +3%","option":{"dexRate":3}},"2":{"string":"DEX +3%","option":{"dexRate":3}},"3":{"string":"DEX +4%","option":{"dexRate":4}},"4":{"string":"DEX +4%","option":{"dexRate":4}},"5":{"string":"DEX +4%","option":{"dexRate":4}},"6":{"string":"DEX +5%","option":{"dexRate":5}},"7":{"string":"DEX +5%","option":{"dexRate":5}},"8":{"string":"DEX +5%","option":{"dexRate":5}},"9":{"string":"DEX +5%","option":{"dexRate":5}},"10":{"string":"DEX +8%","option":{"dexRate":8}},"11":{"string":"DEX +8%","option":{"dexRate":8}},"12":{"string":"DEX +8%","option":{"dexRate":8}},"13":{"string":"DEX +8%","option":{"dexRate":8}},"14":{"string":"DEX +8%","option":{"dexRate":8}},"15":{"string":"DEX +8%","option":{"dexRate":8}},"16":{"string":"DEX +8%","option":{"dexRate":8}},"17":{"string":"DEX +8%","option":{"dexRate":8}},"18":{"string":"DEX +8%","option":{"dexRate":8}},"19":{"string":"DEX +8%","option":{"dexRate":8}},"20":{"string":"DEX +8%","option":{"dexRate":8}},"21":{"string":"DEX +9%","option":{"dexRate":9}},"22":{"string":"DEX +9%","option":{"dexRate":9}},"23":{"string":"DEX +9%","option":{"dexRate":9}},"24":{"string":"DEX +9%","option":{"dexRate":9}},"25":{"string":"DEX +9%","option":{"dexRate":9}}}},"42043":{"optionType":11,"level":{"1":{"string":"INT +3%","option":{"intRate":3}},"2":{"string":"INT +3%","option":{"intRate":3}},"3":{"string":"INT +4%","option":{"intRate":4}},"4":{"string":"INT +4%","option":{"intRate":4}},"5":{"string":"INT +4%","option":{"intRate":4}},"6":{"string":"INT +5%","option":{"intRate":5}},"7":{"string":"INT +5%","option":{"intRate":5}},"8":{"string":"INT +5%","option":{"intRate":5}},"9":{"string":"INT +5%","option":{"intRate":5}},"10":{"string":"INT +8%","option":{"intRate":8}},"11":{"string":"INT +8%","option":{"intRate":8}},"12":{"string":"INT +8%","option":{"intRate":8}},"13":{"string":"INT +8%","option":{"intRate":8}},"14":{"string":"INT +8%","option":{"intRate":8}},"15":{"string":"INT +8%","option":{"intRate":8}},"16":{"string":"INT +8%","option":{"intRate":8}},"17":{"string":"INT +8%","option":{"intRate":8}},"18":{"string":"INT +8%","option":{"intRate":8}},"19":{"string":"INT +8%","option":{"intRate":8}},"20":{"string":"INT +8%","option":{"intRate":8}},"21":{"string":"INT +9%","option":{"intRate":9}},"22":{"string":"INT +9%","option":{"intRate":9}},"23":{"string":"INT +9%","option":{"intRate":9}},"24":{"string":"INT +9%","option":{"intRate":9}},"25":{"string":"INT +9%","option":{"intRate":9}}}},"42044":{"optionType":11,"level":{"1":{"string":"LUK +3%","option":{"lukRate":3}},"2":{"string":"LUK +3%","option":{"lukRate":3}},"3":{"string":"LUK +4%","option":{"lukRate":4}},"4":{"string":"LUK +4%","option":{"lukRate":4}},"5":{"string":"LUK +4%","option":{"lukRate":4}},"6":{"string":"LUK +5%","option":{"lukRate":5}},"7":{"string":"LUK +5%","option":{"lukRate":5}},"8":{"string":"LUK +5%","option":{"lukRate":5}},"9":{"string":"LUK +5%","option":{"lukRate":5}},"10":{"string":"LUK +8%","option":{"lukRate":8}},"11":{"string":"LUK +8%","option":{"lukRate":8}},"12":{"string":"LUK +8%","option":{"lukRate":8}},"13":{"string":"LUK +8%","option":{"lukRate":8}},"14":{"string":"LUK +8%","option":{"lukRate":8}},"15":{"string":"LUK +8%","option":{"lukRate":8}},"16":{"string":"LUK +8%","option":{"lukRate":8}},"17":{"string":"LUK +8%","option":{"lukRate":8}},"18":{"string":"LUK +8%","option":{"lukRate":8}},"19":{"string":"LUK +8%","option":{"lukRate":8}},"20":{"string":"LUK +8%","option":{"lukRate":8}},"21":{"string":"LUK +9%","option":{"lukRate":9}},"22":{"string":"LUK +9%","option":{"lukRate":9}},"23":{"string":"LUK +9%","option":{"lukRate":9}},"24":{"string":"LUK +9%","option":{"lukRate":9}},"25":{"string":"LUK +9%","option":{"lukRate":9}}}},"42045":{"level":{"1":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"2":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"3":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"4":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"5":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"6":{"string":"최대 HP +7%","option":{"maxHpRate":7}},"7":{"string":"최대 HP +7%","option":{"maxHpRate":7}},"8":{"string":"최대 HP +7%","option":{"maxHpRate":7}},"9":{"string":"최대 HP +7%","option":{"maxHpRate":7}},"10":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"11":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"12":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"13":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"14":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"15":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"16":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"17":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"18":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"19":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"20":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"21":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"22":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"23":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"24":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"25":{"string":"최대 HP +12%","option":{"maxHpRate":12}}}},"42046":{"level":{"1":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"2":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"3":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"4":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"5":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"6":{"string":"최대 MP +7%","option":{"maxMpRate":7}},"7":{"string":"최대 MP +7%","option":{"maxMpRate":7}},"8":{"string":"최대 MP +7%","option":{"maxMpRate":7}},"9":{"string":"최대 MP +7%","option":{"maxMpRate":7}},"10":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"11":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"12":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"13":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"14":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"15":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"16":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"17":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"18":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"19":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"20":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"21":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"22":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"23":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"24":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"25":{"string":"최대 MP +12%","option":{"maxMpRate":12}}}},"42047":{"level":{"1":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"2":{"string":"최대 HP +3%","option":{"maxHpRate":3}},"3":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"4":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"5":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"6":{"string":"최대 HP +7%","option":{"maxHpRate":7}},"7":{"string":"최대 HP +7%","option":{"maxHpRate":7}},"8":{"string":"최대 HP +7%","option":{"maxHpRate":7}},"9":{"string":"최대 HP +7%","option":{"maxHpRate":7}},"10":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"11":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"12":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"13":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"14":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"15":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"16":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"17":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"18":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"19":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"20":{"string":"최대 HP +11%","option":{"maxHpRate":11}},"21":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"22":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"23":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"24":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"25":{"string":"최대 HP +12%","option":{"maxHpRate":12}}}},"42048":{"level":{"1":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"2":{"string":"최대 MP +3%","option":{"maxMpRate":3}},"3":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"4":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"5":{"string":"최대 MP +5%","option":{"maxMpRate":5}},"6":{"string":"최대 MP +7%","option":{"maxMpRate":7}},"7":{"string":"최대 MP +7%","option":{"maxMpRate":7}},"8":{"string":"최대 MP +7%","option":{"maxMpRate":7}},"9":{"string":"최대 MP +7%","option":{"maxMpRate":7}},"10":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"11":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"12":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"13":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"14":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"15":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"16":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"17":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"18":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"19":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"20":{"string":"최대 MP +11%","option":{"maxMpRate":11}},"21":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"22":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"23":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"24":{"string":"최대 MP +12%","option":{"maxMpRate":12}},"25":{"string":"최대 MP +12%","option":{"maxMpRate":12}}}},"42051":{"optionType":10,"level":{"1":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"2":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"3":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"4":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"5":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"6":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"7":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"8":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"9":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"10":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"11":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"12":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"13":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"14":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"15":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"16":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"17":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"18":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"19":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"20":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"21":{"string":"공격력 +13%","option":{"attackPowerRate":13}},"22":{"string":"공격력 +13%","option":{"attackPowerRate":13}},"23":{"string":"공격력 +13%","option":{"attackPowerRate":13}},"24":{"string":"공격력 +13%","option":{"attackPowerRate":13}},"25":{"string":"공격력 +13%","option":{"attackPowerRate":13}}}},"42052":{"optionType":11,"level":{"1":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"2":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"3":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"4":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"5":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"6":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"7":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"8":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"9":{"string":"공격력 +1%","option":{"attackPowerRate":1}},"10":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"11":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"12":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"13":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"14":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"15":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"16":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"17":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"18":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"19":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"20":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"21":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"22":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"23":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"24":{"string":"공격력 +2%","option":{"attackPowerRate":2}},"25":{"string":"공격력 +2%","option":{"attackPowerRate":2}}}},"42053":{"optionType":10,"level":{"1":{"string":"마력 +6%","option":{"magicPowerRate":6}},"2":{"string":"마력 +6%","option":{"magicPowerRate":6}},"3":{"string":"마력 +6%","option":{"magicPowerRate":6}},"4":{"string":"마력 +9%","option":{"magicPowerRate":9}},"5":{"string":"마력 +9%","option":{"magicPowerRate":9}},"6":{"string":"마력 +9%","option":{"magicPowerRate":9}},"7":{"string":"마력 +9%","option":{"magicPowerRate":9}},"8":{"string":"마력 +12%","option":{"magicPowerRate":12}},"9":{"string":"마력 +12%","option":{"magicPowerRate":12}},"10":{"string":"마력 +12%","option":{"magicPowerRate":12}},"11":{"string":"마력 +12%","option":{"magicPowerRate":12}},"12":{"string":"마력 +12%","option":{"magicPowerRate":12}},"13":{"string":"마력 +12%","option":{"magicPowerRate":12}},"14":{"string":"마력 +12%","option":{"magicPowerRate":12}},"15":{"string":"마력 +12%","option":{"magicPowerRate":12}},"16":{"string":"마력 +12%","option":{"magicPowerRate":12}},"17":{"string":"마력 +12%","option":{"magicPowerRate":12}},"18":{"string":"마력 +12%","option":{"magicPowerRate":12}},"19":{"string":"마력 +12%","option":{"magicPowerRate":12}},"20":{"string":"마력 +12%","option":{"magicPowerRate":12}},"21":{"string":"마력 +13%","option":{"magicPowerRate":13}},"22":{"string":"마력 +13%","option":{"magicPowerRate":13}},"23":{"string":"마력 +13%","option":{"magicPowerRate":13}},"24":{"string":"마력 +13%","option":{"magicPowerRate":13}},"25":{"string":"마력 +13%","option":{"magicPowerRate":13}}}},"42054":{"optionType":11,"level":{"1":{"string":"마력 +1%","option":{"magicPowerRate":1}},"2":{"string":"마력 +1%","option":{"magicPowerRate":1}},"3":{"string":"마력 +1%","option":{"magicPowerRate":1}},"4":{"string":"마력 +1%","option":{"magicPowerRate":1}},"5":{"string":"마력 +1%","option":{"magicPowerRate":1}},"6":{"string":"마력 +1%","option":{"magicPowerRate":1}},"7":{"string":"마력 +1%","option":{"magicPowerRate":1}},"8":{"string":"마력 +1%","option":{"magicPowerRate":1}},"9":{"string":"마력 +1%","option":{"magicPowerRate":1}},"10":{"string":"마력 +2%","option":{"magicPowerRate":2}},"11":{"string":"마력 +2%","option":{"magicPowerRate":2}},"12":{"string":"마력 +2%","option":{"magicPowerRate":2}},"13":{"string":"마력 +2%","option":{"magicPowerRate":2}},"14":{"string":"마력 +2%","option":{"magicPowerRate":2}},"15":{"string":"마력 +2%","option":{"magicPowerRate":2}},"16":{"string":"마력 +2%","option":{"magicPowerRate":2}},"17":{"string":"마력 +2%","option":{"magicPowerRate":2}},"18":{"string":"마력 +2%","option":{"magicPowerRate":2}},"19":{"string":"마력 +2%","option":{"magicPowerRate":2}},"20":{"string":"마력 +2%","option":{"magicPowerRate":2}},"21":{"string":"마력 +2%","option":{"magicPowerRate":2}},"22":{"string":"마력 +2%","option":{"magicPowerRate":2}},"23":{"string":"마력 +2%","option":{"magicPowerRate":2}},"24":{"string":"마력 +2%","option":{"magicPowerRate":2}},"25":{"string":"마력 +2%","option":{"magicPowerRate":2}}}},"42055":{"optionType":11,"level":{"1":{"string":"방어력 +3%","option":{"armorRate":3}},"2":{"string":"방어력 +3%","option":{"armorRate":3}},"3":{"string":"방어력 +5%","option":{"armorRate":5}},"4":{"string":"방어력 +5%","option":{"armorRate":5}},"5":{"string":"방어력 +5%","option":{"armorRate":5}},"6":{"string":"방어력 +7%","option":{"armorRate":7}},"7":{"string":"방어력 +7%","option":{"armorRate":7}},"8":{"string":"방어력 +7%","option":{"armorRate":7}},"9":{"string":"방어력 +7%","option":{"armorRate":7}},"10":{"string":"방어력 +10%","option":{"armorRate":10}},"11":{"string":"방어력 +10%","option":{"armorRate":10}},"12":{"string":"방어력 +10%","option":{"armorRate":10}},"13":{"string":"방어력 +10%","option":{"armorRate":10}},"14":{"string":"방어력 +10%","option":{"armorRate":10}},"15":{"string":"방어력 +10%","option":{"armorRate":10}},"16":{"string":"방어력 +10%","option":{"armorRate":10}},"17":{"string":"방어력 +10%","option":{"armorRate":10}},"18":{"string":"방어력 +10%","option":{"armorRate":10}},"19":{"string":"방어력 +10%","option":{"armorRate":10}},"20":{"string":"방어력 +10%","option":{"armorRate":10}},"21":{"string":"방어력 +11%","option":{"armorRate":11}},"22":{"string":"방어력 +11%","option":{"armorRate":11}},"23":{"string":"방어력 +11%","option":{"armorRate":11}},"24":{"string":"방어력 +11%","option":{"armorRate":11}},"25":{"string":"방어력 +11%","option":{"armorRate":11}}}},"42056":{"optionType":11,"level":{"1":{"string":"방어력 +3%","option":{"armorRate":3}},"2":{"string":"방어력 +3%","option":{"armorRate":3}},"3":{"string":"방어력 +5%","option":{"armorRate":5}},"4":{"string":"방어력 +5%","option":{"armorRate":5}},"5":{"string":"방어력 +5%","option":{"armorRate":5}},"6":{"string":"방어력 +7%","option":{"armorRate":7}},"7":{"string":"방어력 +7%","option":{"armorRate":7}},"8":{"string":"방어력 +7%","option":{"armorRate":7}},"9":{"string":"방어력 +7%","option":{"armorRate":7}},"10":{"string":"방어력 +10%","option":{"armorRate":10}},"11":{"string":"방어력 +10%","option":{"armorRate":10}},"12":{"string":"방어력 +10%","option":{"armorRate":10}},"13":{"string":"방어력 +10%","option":{"armorRate":10}},"14":{"string":"방어력 +10%","option":{"armorRate":10}},"15":{"string":"방어력 +10%","option":{"armorRate":10}},"16":{"string":"방어력 +10%","option":{"armorRate":10}},"17":{"string":"방어력 +10%","option":{"armorRate":10}},"18":{"string":"방어력 +10%","option":{"armorRate":10}},"19":{"string":"방어력 +10%","option":{"armorRate":10}},"20":{"string":"방어력 +10%","option":{"armorRate":10}},"21":{"string":"방어력 +10%","option":{"armorRate":10}},"22":{"string":"방어력 +10%","option":{"armorRate":10}},"23":{"string":"방어력 +10%","option":{"armorRate":10}},"24":{"string":"방어력 +10%","option":{"armorRate":10}},"25":{"string":"방어력 +10%","option":{"armorRate":10}}}},"42057":{"optionType":10,"level":{"1":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"2":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"3":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"4":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"5":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"6":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"7":{"string":"크리티컬 확률 +9%","option":{"criticalRate":9}},"8":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"9":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"10":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"11":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"12":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"13":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"14":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"15":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"16":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"17":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"18":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"19":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"20":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"21":{"string":"크리티컬 확률 +13%","option":{"criticalRate":13}},"22":{"string":"크리티컬 확률 +13%","option":{"criticalRate":13}},"23":{"string":"크리티컬 확률 +13%","option":{"criticalRate":13}},"24":{"string":"크리티컬 확률 +13%","option":{"criticalRate":13}},"25":{"string":"크리티컬 확률 +13%","option":{"criticalRate":13}}}},"42058":{"optionType":11,"level":{"1":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"2":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"3":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"4":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"5":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"6":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"7":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"8":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"9":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"10":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"11":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"12":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"13":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"14":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"15":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"16":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"17":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"18":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"19":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"20":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"21":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"22":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"23":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"24":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}},"25":{"string":"크리티컬 확률 +2%","option":{"criticalRate":2}}}},"42059":{"optionType":54,"level":{"1":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"2":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"3":{"string":"크리티컬 데미지 +2%","option":{"criticalDamage":2}},"4":{"string":"크리티컬 데미지 +2%","option":{"criticalDamage":2}},"5":{"string":"크리티컬 데미지 +2%","option":{"criticalDamage":2}},"6":{"string":"크리티컬 데미지 +2%","option":{"criticalDamage":2}},"7":{"string":"크리티컬 데미지 +2%","option":{"criticalDamage":2}},"8":{"string":"크리티컬 데미지 +2%","option":{"criticalDamage":2}},"9":{"string":"크리티컬 데미지 +2%","option":{"criticalDamage":2}},"10":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"11":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"12":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"13":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"14":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"15":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"16":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"17":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"18":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"19":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"20":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"21":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"22":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"23":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"24":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"25":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}}}},"42060":{"optionType":20,"level":{"1":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"2":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"3":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"4":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"5":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"6":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"7":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"8":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"9":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"10":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"11":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"12":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"13":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"14":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"15":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"16":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"17":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"18":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"19":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"20":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"21":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"22":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"23":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"24":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"25":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}}}},"42061":{"optionType":54,"level":{"1":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"2":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"3":{"string":"크리티컬 데미지 +2%","option":{"criticalDamage":2}},"4":{"string":"크리티컬 데미지 +2%","option":{"criticalDamage":2}},"5":{"string":"크리티컬 데미지 +2%","option":{"criticalDamage":2}},"6":{"string":"크리티컬 데미지 +2%","option":{"criticalDamage":2}},"7":{"string":"크리티컬 데미지 +2%","option":{"criticalDamage":2}},"8":{"string":"크리티컬 데미지 +2%","option":{"criticalDamage":2}},"9":{"string":"크리티컬 데미지 +2%","option":{"criticalDamage":2}},"10":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"11":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"12":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"13":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"14":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"15":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"16":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"17":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"18":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"19":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"20":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"21":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"22":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"23":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"24":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}},"25":{"string":"크리티컬 데미지 +3%","option":{"criticalDamage":3}}}},"42062":{"optionType":20,"level":{"1":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"2":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"3":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"4":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"5":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"6":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"7":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"8":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"9":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"10":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"11":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"12":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"13":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"14":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"15":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"16":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"17":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"18":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"19":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"20":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"21":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"22":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"23":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"24":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}},"25":{"string":"크리티컬 데미지 +1%","option":{"criticalDamage":1}}}},"42063":{"optionType":10,"level":{"1":{"string":"STR +6%","option":{"strRate":6}},"2":{"string":"STR +6%","option":{"strRate":6}},"3":{"string":"STR +6%","option":{"strRate":6}},"4":{"string":"STR +9%","option":{"strRate":9}},"5":{"string":"STR +9%","option":{"strRate":9}},"6":{"string":"STR +9%","option":{"strRate":9}},"7":{"string":"STR +9%","option":{"strRate":9}},"8":{"string":"STR +12%","option":{"strRate":12}},"9":{"string":"STR +12%","option":{"strRate":12}},"10":{"string":"STR +12%","option":{"strRate":12}},"11":{"string":"STR +12%","option":{"strRate":12}},"12":{"string":"STR +12%","option":{"strRate":12}},"13":{"string":"STR +12%","option":{"strRate":12}},"14":{"string":"STR +12%","option":{"strRate":12}},"15":{"string":"STR +12%","option":{"strRate":12}},"16":{"string":"STR +12%","option":{"strRate":12}},"17":{"string":"STR +12%","option":{"strRate":12}},"18":{"string":"STR +12%","option":{"strRate":12}},"19":{"string":"STR +12%","option":{"strRate":12}},"20":{"string":"STR +12%","option":{"strRate":12}},"21":{"string":"STR +13%","option":{"strRate":13}},"22":{"string":"STR +13%","option":{"strRate":13}},"23":{"string":"STR +13%","option":{"strRate":13}},"24":{"string":"STR +13%","option":{"strRate":13}},"25":{"string":"STR +13%","option":{"strRate":13}}}},"42064":{"optionType":10,"level":{"1":{"string":"DEX +6%","option":{"dexRate":6}},"2":{"string":"DEX +6%","option":{"dexRate":6}},"3":{"string":"DEX +6%","option":{"dexRate":6}},"4":{"string":"DEX +9%","option":{"dexRate":9}},"5":{"string":"DEX +9%","option":{"dexRate":9}},"6":{"string":"DEX +9%","option":{"dexRate":9}},"7":{"string":"DEX +9%","option":{"dexRate":9}},"8":{"string":"DEX +12%","option":{"dexRate":12}},"9":{"string":"DEX +12%","option":{"dexRate":12}},"10":{"string":"DEX +12%","option":{"dexRate":12}},"11":{"string":"DEX +12%","option":{"dexRate":12}},"12":{"string":"DEX +12%","option":{"dexRate":12}},"13":{"string":"DEX +12%","option":{"dexRate":12}},"14":{"string":"DEX +12%","option":{"dexRate":12}},"15":{"string":"DEX +12%","option":{"dexRate":12}},"16":{"string":"DEX +12%","option":{"dexRate":12}},"17":{"string":"DEX +12%","option":{"dexRate":12}},"18":{"string":"DEX +12%","option":{"dexRate":12}},"19":{"string":"DEX +12%","option":{"dexRate":12}},"20":{"string":"DEX +12%","option":{"dexRate":12}},"21":{"string":"DEX +13%","option":{"dexRate":13}},"22":{"string":"DEX +13%","option":{"dexRate":13}},"23":{"string":"DEX +13%","option":{"dexRate":13}},"24":{"string":"DEX +13%","option":{"dexRate":13}},"25":{"string":"DEX +13%","option":{"dexRate":13}}}},"42065":{"optionType":10,"level":{"1":{"string":"INT +6%","option":{"intRate":6}},"2":{"string":"INT +6%","option":{"intRate":6}},"3":{"string":"INT +6%","option":{"intRate":6}},"4":{"string":"INT +9%","option":{"intRate":9}},"5":{"string":"INT +9%","option":{"intRate":9}},"6":{"string":"INT +9%","option":{"intRate":9}},"7":{"string":"INT +9%","option":{"intRate":9}},"8":{"string":"INT +12%","option":{"intRate":12}},"9":{"string":"INT +12%","option":{"intRate":12}},"10":{"string":"INT +12%","option":{"intRate":12}},"11":{"string":"INT +12%","option":{"intRate":12}},"12":{"string":"INT +12%","option":{"intRate":12}},"13":{"string":"INT +12%","option":{"intRate":12}},"14":{"string":"INT +12%","option":{"intRate":12}},"15":{"string":"INT +12%","option":{"intRate":12}},"16":{"string":"INT +12%","option":{"intRate":12}},"17":{"string":"INT +12%","option":{"intRate":12}},"18":{"string":"INT +12%","option":{"intRate":12}},"19":{"string":"INT +12%","option":{"intRate":12}},"20":{"string":"INT +12%","option":{"intRate":12}},"21":{"string":"INT +13%","option":{"intRate":13}},"22":{"string":"INT +13%","option":{"intRate":13}},"23":{"string":"INT +13%","option":{"intRate":13}},"24":{"string":"INT +13%","option":{"intRate":13}},"25":{"string":"INT +13%","option":{"intRate":13}}}},"42066":{"optionType":10,"level":{"1":{"string":"LUK +6%","option":{"lukRate":6}},"2":{"string":"LUK +6%","option":{"lukRate":6}},"3":{"string":"LUK +6%","option":{"lukRate":6}},"4":{"string":"LUK +9%","option":{"lukRate":9}},"5":{"string":"LUK +9%","option":{"lukRate":9}},"6":{"string":"LUK +9%","option":{"lukRate":9}},"7":{"string":"LUK +9%","option":{"lukRate":9}},"8":{"string":"LUK +12%","option":{"lukRate":12}},"9":{"string":"LUK +12%","option":{"lukRate":12}},"10":{"string":"LUK +12%","option":{"lukRate":12}},"11":{"string":"LUK +12%","option":{"lukRate":12}},"12":{"string":"LUK +12%","option":{"lukRate":12}},"13":{"string":"LUK +12%","option":{"lukRate":12}},"14":{"string":"LUK +12%","option":{"lukRate":12}},"15":{"string":"LUK +12%","option":{"lukRate":12}},"16":{"string":"LUK +12%","option":{"lukRate":12}},"17":{"string":"LUK +12%","option":{"lukRate":12}},"18":{"string":"LUK +12%","option":{"lukRate":12}},"19":{"string":"LUK +12%","option":{"lukRate":12}},"20":{"string":"LUK +12%","option":{"lukRate":12}},"21":{"string":"LUK +13%","option":{"lukRate":13}},"22":{"string":"LUK +13%","option":{"lukRate":13}},"23":{"string":"LUK +13%","option":{"lukRate":13}},"24":{"string":"LUK +13%","option":{"lukRate":13}},"25":{"string":"LUK +13%","option":{"lukRate":13}}}},"42070":{"optionType":10,"level":{"1":{"string":"데미지 +6%","option":{"damage":6}},"2":{"string":"데미지 +6%","option":{"damage":6}},"3":{"string":"데미지 +6%","option":{"damage":6}},"4":{"string":"데미지 +9%","option":{"damage":9}},"5":{"string":"데미지 +9%","option":{"damage":9}},"6":{"string":"데미지 +9%","option":{"damage":9}},"7":{"string":"데미지 +9%","option":{"damage":9}},"8":{"string":"데미지 +12%","option":{"damage":12}},"9":{"string":"데미지 +12%","option":{"damage":12}},"10":{"string":"데미지 +12%","option":{"damage":12}},"11":{"string":"데미지 +12%","option":{"damage":12}},"12":{"string":"데미지 +12%","option":{"damage":12}},"13":{"string":"데미지 +12%","option":{"damage":12}},"14":{"string":"데미지 +12%","option":{"damage":12}},"15":{"string":"데미지 +12%","option":{"damage":12}},"16":{"string":"데미지 +12%","option":{"damage":12}},"17":{"string":"데미지 +12%","option":{"damage":12}},"18":{"string":"데미지 +12%","option":{"damage":12}},"19":{"string":"데미지 +12%","option":{"damage":12}},"20":{"string":"데미지 +12%","option":{"damage":12}},"21":{"string":"데미지 +13%","option":{"damage":13}},"22":{"string":"데미지 +13%","option":{"damage":13}},"23":{"string":"데미지 +13%","option":{"damage":13}},"24":{"string":"데미지 +13%","option":{"damage":13}},"25":{"string":"데미지 +13%","option":{"damage":13}}}},"42071":{"optionType":11,"level":{"1":{"string":"데미지 +1%","option":{"damage":1}},"2":{"string":"데미지 +1%","option":{"damage":1}},"3":{"string":"데미지 +1%","option":{"damage":1}},"4":{"string":"데미지 +1%","option":{"damage":1}},"5":{"string":"데미지 +1%","option":{"damage":1}},"6":{"string":"데미지 +1%","option":{"damage":1}},"7":{"string":"데미지 +1%","option":{"damage":1}},"8":{"string":"데미지 +1%","option":{"damage":1}},"9":{"string":"데미지 +1%","option":{"damage":1}},"10":{"string":"데미지 +2%","option":{"damage":2}},"11":{"string":"데미지 +2%","option":{"damage":2}},"12":{"string":"데미지 +2%","option":{"damage":2}},"13":{"string":"데미지 +2%","option":{"damage":2}},"14":{"string":"데미지 +2%","option":{"damage":2}},"15":{"string":"데미지 +2%","option":{"damage":2}},"16":{"string":"데미지 +2%","option":{"damage":2}},"17":{"string":"데미지 +2%","option":{"damage":2}},"18":{"string":"데미지 +2%","option":{"damage":2}},"19":{"string":"데미지 +2%","option":{"damage":2}},"20":{"string":"데미지 +2%","option":{"damage":2}},"21":{"string":"데미지 +2%","option":{"damage":2}},"22":{"string":"데미지 +2%","option":{"damage":2}},"23":{"string":"데미지 +2%","option":{"damage":2}},"24":{"string":"데미지 +2%","option":{"damage":2}},"25":{"string":"데미지 +2%","option":{"damage":2}}}},"42086":{"optionType":11,"level":{"1":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"2":{"string":"올스탯 +2%","option":{"strRate":2,"dexRate":2,"intRate":2,"lukRate":2}},"3":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"4":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"5":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"6":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"7":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"8":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"9":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"10":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"11":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"12":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"13":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"14":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"15":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"16":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"17":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"18":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"19":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"20":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"21":{"string":"올스탯 +7%","option":{"strRate":7,"dexRate":7,"intRate":7,"lukRate":7}},"22":{"string":"올스탯 +7%","option":{"strRate":7,"dexRate":7,"intRate":7,"lukRate":7}},"23":{"string":"올스탯 +7%","option":{"strRate":7,"dexRate":7,"intRate":7,"lukRate":7}},"24":{"string":"올스탯 +7%","option":{"strRate":7,"dexRate":7,"intRate":7,"lukRate":7}},"25":{"string":"올스탯 +7%","option":{"strRate":7,"dexRate":7,"intRate":7,"lukRate":7}}}},"42087":{"optionType":10,"level":{"1":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"2":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"3":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"4":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"5":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"6":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"7":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"8":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"9":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"10":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"11":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"12":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"13":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"14":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"15":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"16":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"17":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"18":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"19":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"20":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"21":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"22":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"23":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"24":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"25":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}}}},"42091":{"reqLevel":30,"level":{"1":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"2":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"3":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"4":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"5":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"6":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"7":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"8":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"9":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"10":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"11":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"12":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"13":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"14":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"15":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"16":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"17":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"18":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"19":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"20":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"21":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"22":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"23":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"24":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}},"25":{"string":"캐릭터 기준 9레벨 당 STR +2","option":{"strLv":2}}}},"42092":{"reqLevel":30,"level":{"1":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"2":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"3":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"4":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"5":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"6":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"7":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"8":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"9":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"10":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"11":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"12":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"13":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"14":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"15":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"16":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"17":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"18":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"19":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"20":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"21":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"22":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"23":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"24":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}},"25":{"string":"캐릭터 기준 9레벨 당 DEX +2","option":{"dexLv":2}}}},"42093":{"reqLevel":30,"level":{"1":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"2":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"3":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"4":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"5":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"6":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"7":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"8":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"9":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"10":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"11":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"12":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"13":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"14":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"15":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"16":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"17":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"18":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"19":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"20":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"21":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"22":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"23":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"24":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}},"25":{"string":"캐릭터 기준 9레벨 당 INT +2","option":{"intLv":2}}}},"42094":{"reqLevel":30,"level":{"1":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"2":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"3":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"4":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"5":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"6":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"7":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"8":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"9":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"10":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"11":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"12":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"13":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"14":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"15":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"16":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"17":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"18":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"19":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"20":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"21":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"22":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"23":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"24":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}},"25":{"string":"캐릭터 기준 9레벨 당 LUK +2","option":{"lukLv":2}}}},"42095":{"optionType":10,"reqLevel":30,"level":{"1":{"string":"공격력 +32","option":{"attackPower":32}},"2":{"string":"공격력 +32","option":{"attackPower":32}},"3":{"string":"공격력 +32","option":{"attackPower":32}},"4":{"string":"공격력 +32","option":{"attackPower":32}},"5":{"string":"공격력 +32","option":{"attackPower":32}},"6":{"string":"공격력 +32","option":{"attackPower":32}},"7":{"string":"공격력 +32","option":{"attackPower":32}},"8":{"string":"공격력 +32","option":{"attackPower":32}},"9":{"string":"공격력 +32","option":{"attackPower":32}},"10":{"string":"공격력 +32","option":{"attackPower":32}},"11":{"string":"공격력 +32","option":{"attackPower":32}},"12":{"string":"공격력 +32","option":{"attackPower":32}},"13":{"string":"공격력 +32","option":{"attackPower":32}},"14":{"string":"공격력 +32","option":{"attackPower":32}},"15":{"string":"공격력 +32","option":{"attackPower":32}},"16":{"string":"공격력 +32","option":{"attackPower":32}},"17":{"string":"공격력 +32","option":{"attackPower":32}},"18":{"string":"공격력 +32","option":{"attackPower":32}},"19":{"string":"공격력 +32","option":{"attackPower":32}},"20":{"string":"공격력 +32","option":{"attackPower":32}},"21":{"string":"공격력 +32","option":{"attackPower":32}},"22":{"string":"공격력 +32","option":{"attackPower":32}},"23":{"string":"공격력 +32","option":{"attackPower":32}},"24":{"string":"공격력 +32","option":{"attackPower":32}},"25":{"string":"공격력 +32","option":{"attackPower":32}}}},"42096":{"optionType":10,"reqLevel":30,"level":{"1":{"string":"마력 +32","option":{"magicPower":32}},"2":{"string":"마력 +32","option":{"magicPower":32}},"3":{"string":"마력 +32","option":{"magicPower":32}},"4":{"string":"마력 +32","option":{"magicPower":32}},"5":{"string":"마력 +32","option":{"magicPower":32}},"6":{"string":"마력 +32","option":{"magicPower":32}},"7":{"string":"마력 +32","option":{"magicPower":32}},"8":{"string":"마력 +32","option":{"magicPower":32}},"9":{"string":"마력 +32","option":{"magicPower":32}},"10":{"string":"마력 +32","option":{"magicPower":32}},"11":{"string":"마력 +32","option":{"magicPower":32}},"12":{"string":"마력 +32","option":{"magicPower":32}},"13":{"string":"마력 +32","option":{"magicPower":32}},"14":{"string":"마력 +32","option":{"magicPower":32}},"15":{"string":"마력 +32","option":{"magicPower":32}},"16":{"string":"마력 +32","option":{"magicPower":32}},"17":{"string":"마력 +32","option":{"magicPower":32}},"18":{"string":"마력 +32","option":{"magicPower":32}},"19":{"string":"마력 +32","option":{"magicPower":32}},"20":{"string":"마력 +32","option":{"magicPower":32}},"21":{"string":"마력 +32","option":{"magicPower":32}},"22":{"string":"마력 +32","option":{"magicPower":32}},"23":{"string":"마력 +32","option":{"magicPower":32}},"24":{"string":"마력 +32","option":{"magicPower":32}},"25":{"string":"마력 +32","option":{"magicPower":32}}}},"42106":{"optionType":51,"reqLevel":30,"level":{"1":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"2":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"3":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"4":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"5":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"6":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"7":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"8":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"9":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"10":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"11":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"12":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"13":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"14":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"15":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"16":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"17":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"18":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"19":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"20":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"21":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"22":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"23":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"24":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}},"25":{"string":"4차 이하 스킬 레벨 +2 (마스터 레벨까지만 증가)","option":{}}}},"42111":{"optionType":11,"reqLevel":70,"level":{"1":{"string":"모든 속성 내성 +3%","option":{}},"2":{"string":"모든 속성 내성 +3%","option":{}},"3":{"string":"모든 속성 내성 +3%","option":{}},"4":{"string":"모든 속성 내성 +3%","option":{}},"5":{"string":"모든 속성 내성 +3%","option":{}},"6":{"string":"모든 속성 내성 +3%","option":{}},"7":{"string":"모든 속성 내성 +4%","option":{}},"8":{"string":"모든 속성 내성 +4%","option":{}},"9":{"string":"모든 속성 내성 +4%","option":{}},"10":{"string":"모든 속성 내성 +5%","option":{}},"11":{"string":"모든 속성 내성 +5%","option":{}},"12":{"string":"모든 속성 내성 +5%","option":{}},"13":{"string":"모든 속성 내성 +5%","option":{}},"14":{"string":"모든 속성 내성 +5%","option":{}},"15":{"string":"모든 속성 내성 +5%","option":{}},"16":{"string":"모든 속성 내성 +5%","option":{}},"17":{"string":"모든 속성 내성 +5%","option":{}},"18":{"string":"모든 속성 내성 +5%","option":{}},"19":{"string":"모든 속성 내성 +5%","option":{}},"20":{"string":"모든 속성 내성 +5%","option":{}},"21":{"string":"모든 속성 내성 +5%","option":{}},"22":{"string":"모든 속성 내성 +5%","option":{}},"23":{"string":"모든 속성 내성 +5%","option":{}},"24":{"string":"모든 속성 내성 +5%","option":{}},"25":{"string":"모든 속성 내성 +5%","option":{}}}},"42116":{"optionType":10,"reqLevel":70,"level":{"1":{"string":"상태 이상 내성 +3","option":{}},"2":{"string":"상태 이상 내성 +3","option":{}},"3":{"string":"상태 이상 내성 +3","option":{}},"4":{"string":"상태 이상 내성 +3","option":{}},"5":{"string":"상태 이상 내성 +3","option":{}},"6":{"string":"상태 이상 내성 +3","option":{}},"7":{"string":"상태 이상 내성 +4","option":{}},"8":{"string":"상태 이상 내성 +4","option":{}},"9":{"string":"상태 이상 내성 +4","option":{}},"10":{"string":"상태 이상 내성 +5","option":{}},"11":{"string":"상태 이상 내성 +5","option":{}},"12":{"string":"상태 이상 내성 +5","option":{}},"13":{"string":"상태 이상 내성 +5","option":{}},"14":{"string":"상태 이상 내성 +5","option":{}},"15":{"string":"상태 이상 내성 +5","option":{}},"16":{"string":"상태 이상 내성 +5","option":{}},"17":{"string":"상태 이상 내성 +5","option":{}},"18":{"string":"상태 이상 내성 +5","option":{}},"19":{"string":"상태 이상 내성 +5","option":{}},"20":{"string":"상태 이상 내성 +5","option":{}},"21":{"string":"상태 이상 내성 +5","option":{}},"22":{"string":"상태 이상 내성 +5","option":{}},"23":{"string":"상태 이상 내성 +5","option":{}},"24":{"string":"상태 이상 내성 +5","option":{}},"25":{"string":"상태 이상 내성 +5","option":{}}}},"42291":{"optionType":10,"reqLevel":60,"level":{"1":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"2":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"3":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"4":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"5":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"6":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"7":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"8":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"9":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"10":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"11":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"12":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"13":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"14":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"15":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"16":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"17":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"18":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"19":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"20":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"21":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"22":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"23":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"24":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"25":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}}}},"42292":{"optionType":10,"reqLevel":50,"level":{"1":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"2":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"3":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"4":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"5":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"6":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"7":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"8":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"9":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"10":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"11":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"12":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"13":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"14":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"15":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"16":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"17":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"18":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"19":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"20":{"string":"몬스터 방어율 무시 +5%","option":{"ignoreMonsterArmor":5}},"21":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"22":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"23":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"24":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}},"25":{"string":"몬스터 방어율 무시 +7%","option":{"ignoreMonsterArmor":7}}}},"42501":{"optionType":40,"level":{"1":{"string":"모든 스킬의 MP 소모 -3%","option":{}},"2":{"string":"모든 스킬의 MP 소모 -3%","option":{}},"3":{"string":"모든 스킬의 MP 소모 -5%","option":{}},"4":{"string":"모든 스킬의 MP 소모 -5%","option":{}},"5":{"string":"모든 스킬의 MP 소모 -5%","option":{}},"6":{"string":"모든 스킬의 MP 소모 -7%","option":{}},"7":{"string":"모든 스킬의 MP 소모 -7%","option":{}},"8":{"string":"모든 스킬의 MP 소모 -7%","option":{}},"9":{"string":"모든 스킬의 MP 소모 -7%","option":{}},"10":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"11":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"12":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"13":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"14":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"15":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"16":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"17":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"18":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"19":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"20":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"21":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"22":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"23":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"24":{"string":"모든 스킬의 MP 소모 -10%","option":{}},"25":{"string":"모든 스킬의 MP 소모 -10%","option":{}}}},"42551":{"optionType":11,"level":{"1":{"string":"HP 회복 아이템 및 회복 스킬 효율 +10%","option":{}},"2":{"string":"HP 회복 아이템 및 회복 스킬 효율 +10%","option":{}},"3":{"string":"HP 회복 아이템 및 회복 스킬 효율 +15%","option":{}},"4":{"string":"HP 회복 아이템 및 회복 스킬 효율 +15%","option":{}},"5":{"string":"HP 회복 아이템 및 회복 스킬 효율 +15%","option":{}},"6":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"7":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"8":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"9":{"string":"HP 회복 아이템 및 회복 스킬 효율 +20%","option":{}},"10":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"11":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"12":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"13":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"14":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"15":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"16":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"17":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"18":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"19":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"20":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"21":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"22":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"23":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"24":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}},"25":{"string":"HP 회복 아이템 및 회복 스킬 효율 +30%","option":{}}}},"42556":{"optionType":51,"reqLevel":100,"level":{"1":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"2":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"3":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"4":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"5":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"6":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"7":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"8":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"9":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"10":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"11":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"12":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"13":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"14":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"15":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"16":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"17":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"18":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"19":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"20":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"21":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"22":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"23":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"24":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}},"25":{"string":"스킬 재사용 대기시간 -1초","option":{"cooltimeReduce":1}}}},"42601":{"optionType":10,"reqLevel":60,"level":{"1":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"2":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"3":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"4":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"5":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"6":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"7":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"8":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"9":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"10":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"11":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"12":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"13":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"14":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"15":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"16":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"17":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"18":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"19":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"20":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"21":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"22":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"23":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"24":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"25":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}}}},"42602":{"optionType":10,"reqLevel":50,"level":{"1":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"2":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"3":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"4":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"5":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"6":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"7":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"8":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"9":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"10":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"11":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"12":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"13":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"14":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"15":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"16":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"17":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"18":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"19":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"20":{"string":"보스 몬스터 데미지 +18%","option":{"bossDamage":18}},"21":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"22":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"23":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"24":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}},"25":{"string":"보스 몬스터 데미지 +20%","option":{"bossDamage":20}}}},"42650":{"optionType":11,"level":{"1":{"string":"메소 획득량 +2%","option":{}},"2":{"string":"메소 획득량 +2%","option":{}},"3":{"string":"메소 획득량 +3%","option":{}},"4":{"string":"메소 획득량 +3%","option":{}},"5":{"string":"메소 획득량 +3%","option":{}},"6":{"string":"메소 획득량 +4%","option":{}},"7":{"string":"메소 획득량 +4%","option":{}},"8":{"string":"메소 획득량 +4%","option":{}},"9":{"string":"메소 획득량 +4%","option":{}},"10":{"string":"메소 획득량 +5%","option":{}},"11":{"string":"메소 획득량 +5%","option":{}},"12":{"string":"메소 획득량 +5%","option":{}},"13":{"string":"메소 획득량 +5%","option":{}},"14":{"string":"메소 획득량 +5%","option":{}},"15":{"string":"메소 획득량 +5%","option":{}},"16":{"string":"메소 획득량 +5%","option":{}},"17":{"string":"메소 획득량 +5%","option":{}},"18":{"string":"메소 획득량 +5%","option":{}},"19":{"string":"메소 획득량 +5%","option":{}},"20":{"string":"메소 획득량 +5%","option":{}},"21":{"string":"메소 획득량 +5%","option":{}},"22":{"string":"메소 획득량 +5%","option":{}},"23":{"string":"메소 획득량 +5%","option":{}},"24":{"string":"메소 획득량 +5%","option":{}},"25":{"string":"메소 획득량 +5%","option":{}}}},"42656":{"optionType":11,"level":{"1":{"string":"아이템 드롭률 +2%","option":{}},"2":{"string":"아이템 드롭률 +2%","option":{}},"3":{"string":"아이템 드롭률 +3%","option":{}},"4":{"string":"아이템 드롭률 +3%","option":{}},"5":{"string":"아이템 드롭률 +3%","option":{}},"6":{"string":"아이템 드롭률 +4%","option":{}},"7":{"string":"아이템 드롭률 +4%","option":{}},"8":{"string":"아이템 드롭률 +4%","option":{}},"9":{"string":"아이템 드롭률 +4%","option":{}},"10":{"string":"아이템 드롭률 +5%","option":{}},"11":{"string":"아이템 드롭률 +5%","option":{}},"12":{"string":"아이템 드롭률 +5%","option":{}},"13":{"string":"아이템 드롭률 +5%","option":{}},"14":{"string":"아이템 드롭률 +5%","option":{}},"15":{"string":"아이템 드롭률 +5%","option":{}},"16":{"string":"아이템 드롭률 +5%","option":{}},"17":{"string":"아이템 드롭률 +5%","option":{}},"18":{"string":"아이템 드롭률 +5%","option":{}},"19":{"string":"아이템 드롭률 +5%","option":{}},"20":{"string":"아이템 드롭률 +5%","option":{}},"21":{"string":"아이템 드롭률 +5%","option":{}},"22":{"string":"아이템 드롭률 +5%","option":{}},"23":{"string":"아이템 드롭률 +5%","option":{}},"24":{"string":"아이템 드롭률 +5%","option":{}},"25":{"string":"아이템 드롭률 +5%","option":{}}}},"42661":{"optionType":51,"level":{"1":{"string":"경험치 획득 +2%","option":{}},"2":{"string":"경험치 획득 +2%","option":{}},"3":{"string":"경험치 획득 +3%","option":{}},"4":{"string":"경험치 획득 +3%","option":{}},"5":{"string":"경험치 획득 +3%","option":{}},"6":{"string":"경험치 획득 +4%","option":{}},"7":{"string":"경험치 획득 +4%","option":{}},"8":{"string":"경험치 획득 +4%","option":{}},"9":{"string":"경험치 획득 +4%","option":{}},"10":{"string":"경험치 획득 +5%","option":{}},"11":{"string":"경험치 획득 +5%","option":{}},"12":{"string":"경험치 획득 +5%","option":{}},"13":{"string":"경험치 획득 +5%","option":{}},"14":{"string":"경험치 획득 +5%","option":{}},"15":{"string":"경험치 획득 +5%","option":{}},"16":{"string":"경험치 획득 +5%","option":{}},"17":{"string":"경험치 획득 +5%","option":{}},"18":{"string":"경험치 획득 +5%","option":{}},"19":{"string":"경험치 획득 +5%","option":{}},"20":{"string":"경험치 획득 +5%","option":{}},"21":{"string":"경험치 획득 +5%","option":{}},"22":{"string":"경험치 획득 +5%","option":{}},"23":{"string":"경험치 획득 +5%","option":{}},"24":{"string":"경험치 획득 +5%","option":{}},"25":{"string":"경험치 획득 +5%","option":{}}}},"42801":{"optionType":10,"reqLevel":70,"level":{"1":{"string":"상태 이상 내성 +3","option":{}},"2":{"string":"상태 이상 내성 +3","option":{}},"3":{"string":"상태 이상 내성 +3","option":{}},"4":{"string":"상태 이상 내성 +3","option":{}},"5":{"string":"상태 이상 내성 +3","option":{}},"6":{"string":"상태 이상 내성 +3","option":{}},"7":{"string":"상태 이상 내성 +4","option":{}},"8":{"string":"상태 이상 내성 +4","option":{}},"9":{"string":"상태 이상 내성 +4","option":{}},"10":{"string":"상태 이상 내성 +5","option":{}},"11":{"string":"상태 이상 내성 +5","option":{}},"12":{"string":"상태 이상 내성 +5","option":{}},"13":{"string":"상태 이상 내성 +5","option":{}},"14":{"string":"상태 이상 내성 +5","option":{}},"15":{"string":"상태 이상 내성 +5","option":{}},"16":{"string":"상태 이상 내성 +5","option":{}},"17":{"string":"상태 이상 내성 +5","option":{}},"18":{"string":"상태 이상 내성 +5","option":{}},"19":{"string":"상태 이상 내성 +5","option":{}},"20":{"string":"상태 이상 내성 +5","option":{}},"21":{"string":"상태 이상 내성 +5","option":{}},"22":{"string":"상태 이상 내성 +5","option":{}},"23":{"string":"상태 이상 내성 +5","option":{}},"24":{"string":"상태 이상 내성 +5","option":{}},"25":{"string":"상태 이상 내성 +5","option":{}}}},"42802":{"optionType":11,"reqLevel":70,"level":{"1":{"string":"모든 속성 내성 +3%","option":{}},"2":{"string":"모든 속성 내성 +3%","option":{}},"3":{"string":"모든 속성 내성 +3%","option":{}},"4":{"string":"모든 속성 내성 +3%","option":{}},"5":{"string":"모든 속성 내성 +3%","option":{}},"6":{"string":"모든 속성 내성 +3%","option":{}},"7":{"string":"모든 속성 내성 +4%","option":{}},"8":{"string":"모든 속성 내성 +4%","option":{}},"9":{"string":"모든 속성 내성 +4%","option":{}},"10":{"string":"모든 속성 내성 +5%","option":{}},"11":{"string":"모든 속성 내성 +5%","option":{}},"12":{"string":"모든 속성 내성 +5%","option":{}},"13":{"string":"모든 속성 내성 +5%","option":{}},"14":{"string":"모든 속성 내성 +5%","option":{}},"15":{"string":"모든 속성 내성 +5%","option":{}},"16":{"string":"모든 속성 내성 +5%","option":{}},"17":{"string":"모든 속성 내성 +5%","option":{}},"18":{"string":"모든 속성 내성 +5%","option":{}},"19":{"string":"모든 속성 내성 +5%","option":{}},"20":{"string":"모든 속성 내성 +5%","option":{}},"21":{"string":"모든 속성 내성 +5%","option":{}},"22":{"string":"모든 속성 내성 +5%","option":{}},"23":{"string":"모든 속성 내성 +5%","option":{}},"24":{"string":"모든 속성 내성 +5%","option":{}},"25":{"string":"모든 속성 내성 +5%","option":{}}}},"60001":{"level":{"1":{"string":"데미지 +20%","option":{"damage":20}},"2":{"string":"데미지 +15%","option":{"damage":15}},"3":{"string":"데미지 +12%","option":{"damage":12}},"4":{"string":"데미지 +9%","option":{"damage":9}},"5":{"string":"데미지 +9%","option":{"damage":9}},"6":{"string":"데미지 +9%","option":{"damage":9}},"7":{"string":"데미지 +9%","option":{"damage":9}},"8":{"string":"데미지 +12%","option":{"damage":12}},"9":{"string":"데미지 +12%","option":{"damage":12}},"10":{"string":"데미지 +12%","option":{"damage":12}},"11":{"string":"데미지 +12%","option":{"damage":12}},"12":{"string":"데미지 +12%","option":{"damage":12}},"13":{"string":"데미지 +12%","option":{"damage":12}},"14":{"string":"데미지 +12%","option":{"damage":12}},"15":{"string":"데미지 +12%","option":{"damage":12}},"16":{"string":"데미지 +12%","option":{"damage":12}},"17":{"string":"데미지 +12%","option":{"damage":12}},"18":{"string":"데미지 +12%","option":{"damage":12}},"19":{"string":"데미지 +12%","option":{"damage":12}},"20":{"string":"데미지 +12%","option":{"damage":12}},"21":{"string":"데미지 +12%","option":{"damage":12}},"22":{"string":"데미지 +12%","option":{"damage":12}},"23":{"string":"데미지 +12%","option":{"damage":12}},"24":{"string":"데미지 +12%","option":{"damage":12}},"25":{"string":"데미지 +12%","option":{"damage":12}}}},"60002":{"level":{"1":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"2":{"string":"올스탯 +15%","option":{"strRate":15,"dexRate":15,"intRate":15,"lukRate":15}},"3":{"string":"올스탯 +12%","option":{"strRate":12,"dexRate":12,"intRate":12,"lukRate":12}},"4":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"5":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"6":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"7":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"8":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"9":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"10":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"11":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"12":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"13":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"14":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"15":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"16":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"17":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"18":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"19":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"20":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"21":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"22":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"23":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"24":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}},"25":{"string":"올스탯 +20%","option":{"strRate":20,"dexRate":20,"intRate":20,"lukRate":20}}}},"60003":{"level":{"1":{"string":"보스 몬스터 데미지 +40%","option":{"bossDamage":40}},"2":{"string":"보스 몬스터 데미지 +25%","option":{"bossDamage":25}},"3":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"4":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"5":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"6":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"7":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"8":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"9":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"10":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"11":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"12":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"13":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"14":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"15":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"16":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"17":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"18":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"19":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"20":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"21":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"22":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"23":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"24":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"25":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}}}},"60004":{"level":{"1":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"2":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"3":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"4":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"5":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"6":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"7":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"8":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"9":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"10":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"11":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"12":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"13":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"14":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"15":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"16":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"17":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"18":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"19":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"20":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"21":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"22":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"23":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"24":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"25":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}}}},"60005":{"level":{"1":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"2":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"3":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"4":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"5":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"6":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"7":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"8":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"9":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"10":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"11":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"12":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"13":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"14":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"15":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"16":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"17":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"18":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"19":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"20":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"21":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"22":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"23":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"24":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}},"25":{"string":"올스탯 +10%","option":{"strRate":10,"dexRate":10,"intRate":10,"lukRate":10}}}},"60006":{"level":{"1":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"2":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"3":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"4":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"5":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"6":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"7":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"8":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"9":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"10":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"11":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"12":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"13":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"14":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"15":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"16":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"17":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"18":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"19":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"20":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"21":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"22":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"23":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"24":{"string":"최대 HP +5%","option":{"maxHpRate":5}},"25":{"string":"최대 HP +5%","option":{"maxHpRate":5}}}},"60007":{"level":{"1":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"2":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"3":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"4":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"5":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"6":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"7":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"8":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"9":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"10":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"11":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"12":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"13":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"14":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"15":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"16":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"17":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"18":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"19":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"20":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"21":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"22":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"23":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"24":{"string":"최대 HP +10%","option":{"maxHpRate":10}},"25":{"string":"최대 HP +10%","option":{"maxHpRate":10}}}},"60008":{"level":{"1":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"2":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"3":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"4":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"5":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"6":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"7":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"8":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"9":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"10":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"11":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"12":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"13":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"14":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"15":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"16":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"17":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"18":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"19":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"20":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"21":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"22":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"23":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"24":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}},"25":{"string":"공격력/마력 +10","option":{"attackPower":10,"magicPower":10}}}},"60009":{"level":{"1":{"string":"데미지 +5%","option":{"damage":5}},"2":{"string":"데미지 +5%","option":{"damage":5}},"3":{"string":"데미지 +5%","option":{"damage":5}},"4":{"string":"데미지 +5%","option":{"damage":5}},"5":{"string":"데미지 +5%","option":{"damage":5}},"6":{"string":"데미지 +5%","option":{"damage":5}},"7":{"string":"데미지 +5%","option":{"damage":5}},"8":{"string":"데미지 +5%","option":{"damage":5}},"9":{"string":"데미지 +5%","option":{"damage":5}},"10":{"string":"데미지 +5%","option":{"damage":5}},"11":{"string":"데미지 +5%","option":{"damage":5}},"12":{"string":"데미지 +5%","option":{"damage":5}},"13":{"string":"데미지 +5%","option":{"damage":5}},"14":{"string":"데미지 +5%","option":{"damage":5}},"15":{"string":"데미지 +5%","option":{"damage":5}},"16":{"string":"데미지 +5%","option":{"damage":5}},"17":{"string":"데미지 +5%","option":{"damage":5}},"18":{"string":"데미지 +5%","option":{"damage":5}},"19":{"string":"데미지 +5%","option":{"damage":5}},"20":{"string":"데미지 +5%","option":{"damage":5}},"21":{"string":"데미지 +5%","option":{"damage":5}},"22":{"string":"데미지 +5%","option":{"damage":5}},"23":{"string":"데미지 +5%","option":{"damage":5}},"24":{"string":"데미지 +5%","option":{"damage":5}},"25":{"string":"데미지 +5%","option":{"damage":5}}}},"60010":{"level":{"1":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"2":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"3":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"4":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"5":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"6":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"7":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"8":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"9":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"10":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"11":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"12":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"13":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"14":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"15":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"16":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"17":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"18":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"19":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"20":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"21":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"22":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"23":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"24":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}},"25":{"string":"몬스터 방어율 무시 +30%","option":{"ignoreMonsterArmor":30}}}},"60011":{"level":{"1":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"2":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"3":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"4":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"5":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"6":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"7":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"8":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"9":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"10":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"11":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"12":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"13":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"14":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"15":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"16":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"17":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"18":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"19":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"20":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"21":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"22":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"23":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"24":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}},"25":{"string":"보스 몬스터 데미지 +30%","option":{"bossDamage":30}}}},"60012":{"level":{"1":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"2":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"3":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"4":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"5":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"6":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"7":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"8":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"9":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"10":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"11":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"12":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"13":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"14":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"15":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"16":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"17":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"18":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"19":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"20":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"21":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"22":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"23":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"24":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"25":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}}}},"60013":{"level":{"1":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"2":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"3":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"4":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"5":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"6":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"7":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"8":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"9":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"10":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"11":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"12":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"13":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"14":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"15":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"16":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"17":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"18":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"19":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"20":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"21":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"22":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"23":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"24":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}},"25":{"string":"공격 시 20% 확률로 5레벨 중독효과 적용","option":{}}}},"60014":{"level":{"1":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"2":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"3":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"4":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"5":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"6":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"7":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"8":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"9":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"10":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"11":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"12":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"13":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"14":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"15":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"16":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"17":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"18":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"19":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"20":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"21":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"22":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"23":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"24":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}},"25":{"string":"공격 시 10% 확률로 2레벨 기절효과 적용","option":{}}}},"60015":{"level":{"1":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"2":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"3":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"4":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"5":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"6":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"7":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"8":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"9":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"10":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"11":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"12":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"13":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"14":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"15":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"16":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"17":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"18":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"19":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"20":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"21":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"22":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"23":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"24":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}},"25":{"string":"공격 시 20% 확률로 2레벨 슬로우효과 적용","option":{}}}},"60016":{"level":{"1":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"2":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"3":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"4":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"5":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"6":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"7":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"8":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"9":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"10":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"11":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"12":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"13":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"14":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"15":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"16":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"17":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"18":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"19":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"20":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"21":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"22":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"23":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"24":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}},"25":{"string":"공격 시 20% 확률로 3레벨 암흑효과 적용","option":{}}}},"60017":{"level":{"1":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"2":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"3":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"4":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"5":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"6":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"7":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"8":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"9":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"10":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"11":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"12":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"13":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"14":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"15":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"16":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"17":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"18":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"19":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"20":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"21":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"22":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"23":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"24":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}},"25":{"string":"공격 시 10% 확률로 2레벨 빙결효과 적용","option":{}}}},"60018":{"level":{"1":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"2":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"3":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"4":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"5":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"6":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"7":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"8":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"9":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"10":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"11":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"12":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"13":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"14":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"15":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"16":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"17":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"18":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"19":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"20":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"21":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"22":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"23":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"24":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}},"25":{"string":"공격 시 10% 확률로 2레벨 봉인효과 적용","option":{}}}},"60019":{"level":{"1":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"2":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"3":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"4":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"5":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"6":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"7":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"8":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"9":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"10":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"11":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"12":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"13":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"14":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"15":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"16":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"17":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"18":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"19":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"20":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"21":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"22":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"23":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"24":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"25":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}}}},"60020":{"level":{"1":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"2":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"3":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"4":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"5":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"6":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"7":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"8":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"9":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"10":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"11":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"12":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"13":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"14":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"15":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"16":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"17":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"18":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"19":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"20":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"21":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"22":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"23":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"24":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"25":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}}}},"60021":{"level":{"1":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"2":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"3":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"4":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"5":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"6":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"7":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"8":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"9":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"10":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"11":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"12":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"13":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"14":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"15":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"16":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"17":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"18":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"19":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"20":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"21":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"22":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"23":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"24":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}},"25":{"string":"크리티컬 데미지 +5%","option":{"criticalDamage":5}}}},"60022":{"level":{"1":{"string":"상태 이상 내성 +10","option":{}},"2":{"string":"상태 이상 내성 +10","option":{}},"3":{"string":"상태 이상 내성 +10","option":{}},"4":{"string":"상태 이상 내성 +10","option":{}},"5":{"string":"상태 이상 내성 +10","option":{}},"6":{"string":"상태 이상 내성 +10","option":{}},"7":{"string":"상태 이상 내성 +10","option":{}},"8":{"string":"상태 이상 내성 +10","option":{}},"9":{"string":"상태 이상 내성 +10","option":{}},"10":{"string":"상태 이상 내성 +10","option":{}},"11":{"string":"상태 이상 내성 +10","option":{}},"12":{"string":"상태 이상 내성 +10","option":{}},"13":{"string":"상태 이상 내성 +10","option":{}},"14":{"string":"상태 이상 내성 +10","option":{}},"15":{"string":"상태 이상 내성 +10","option":{}},"16":{"string":"상태 이상 내성 +10","option":{}},"17":{"string":"상태 이상 내성 +10","option":{}},"18":{"string":"상태 이상 내성 +10","option":{}},"19":{"string":"상태 이상 내성 +10","option":{}},"20":{"string":"상태 이상 내성 +10","option":{}},"21":{"string":"상태 이상 내성 +10","option":{}},"22":{"string":"상태 이상 내성 +10","option":{}},"23":{"string":"상태 이상 내성 +10","option":{}},"24":{"string":"상태 이상 내성 +10","option":{}},"25":{"string":"상태 이상 내성 +10","option":{}}}},"60023":{"level":{"1":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"2":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"3":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"4":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"5":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"6":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"7":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"8":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"9":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"10":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"11":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"12":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"13":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"14":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"15":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"16":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"17":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"18":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"19":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"20":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"21":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"22":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"23":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"24":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}},"25":{"string":"몬스터 방어율 무시 +10%","option":{"ignoreMonsterArmor":10}}}},"60024":{"level":{"1":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"2":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"3":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"4":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"5":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"6":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"7":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"8":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"9":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"10":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"11":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"12":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"13":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"14":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"15":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"16":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"17":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"18":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"19":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"20":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"21":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"22":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"23":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"24":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}},"25":{"string":"보스 몬스터 데미지 +10%","option":{"bossDamage":10}}}},"60025":{"level":{"1":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"2":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"3":{"string":"공격력 +6%","option":{"attackPowerRate":6}},"4":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"5":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"6":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"7":{"string":"공격력 +9%","option":{"attackPowerRate":9}},"8":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"9":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"10":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"11":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"12":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"13":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"14":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"15":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"16":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"17":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"18":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"19":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"20":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"21":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"22":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"23":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"24":{"string":"공격력 +12%","option":{"attackPowerRate":12}},"25":{"string":"공격력 +12%","option":{"attackPowerRate":12}}}},"60026":{"level":{"1":{"string":"마력 +6%","option":{"magicPowerRate":6}},"2":{"string":"마력 +6%","option":{"magicPowerRate":6}},"3":{"string":"마력 +6%","option":{"magicPowerRate":6}},"4":{"string":"마력 +9%","option":{"magicPowerRate":9}},"5":{"string":"마력 +9%","option":{"magicPowerRate":9}},"6":{"string":"마력 +9%","option":{"magicPowerRate":9}},"7":{"string":"마력 +9%","option":{"magicPowerRate":9}},"8":{"string":"마력 +12%","option":{"magicPowerRate":12}},"9":{"string":"마력 +12%","option":{"magicPowerRate":12}},"10":{"string":"마력 +12%","option":{"magicPowerRate":12}},"11":{"string":"마력 +12%","option":{"magicPowerRate":12}},"12":{"string":"마력 +12%","option":{"magicPowerRate":12}},"13":{"string":"마력 +12%","option":{"magicPowerRate":12}},"14":{"string":"마력 +12%","option":{"magicPowerRate":12}},"15":{"string":"마력 +12%","option":{"magicPowerRate":12}},"16":{"string":"마력 +12%","option":{"magicPowerRate":12}},"17":{"string":"마력 +12%","option":{"magicPowerRate":12}},"18":{"string":"마력 +12%","option":{"magicPowerRate":12}},"19":{"string":"마력 +12%","option":{"magicPowerRate":12}},"20":{"string":"마력 +12%","option":{"magicPowerRate":12}},"21":{"string":"마력 +12%","option":{"magicPowerRate":12}},"22":{"string":"마력 +12%","option":{"magicPowerRate":12}},"23":{"string":"마력 +12%","option":{"magicPowerRate":12}},"24":{"string":"마력 +12%","option":{"magicPowerRate":12}},"25":{"string":"마력 +12%","option":{"magicPowerRate":12}}}},"60027":{"level":{"1":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"2":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"3":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"4":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"5":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"6":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"7":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"8":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"9":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"10":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"11":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"12":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"13":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"14":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"15":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"16":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"17":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"18":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"19":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"20":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"21":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"22":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"23":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"24":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}},"25":{"string":"몬스터 방어율 무시 +40%","option":{"ignoreMonsterArmor":40}}}},"60028":{"level":{"1":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"2":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"3":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"4":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"5":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"6":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"7":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"8":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"9":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"10":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"11":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"12":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"13":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"14":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"15":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"16":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"17":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"18":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"19":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"20":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"21":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"22":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"23":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"24":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}},"25":{"string":"캐릭터 기준 9레벨 당 STR +4","option":{"strLv":4}}}},"60029":{"level":{"1":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"2":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"3":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"4":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"5":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"6":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"7":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"8":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"9":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"10":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"11":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"12":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"13":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"14":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"15":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"16":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"17":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"18":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"19":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"20":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"21":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"22":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"23":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"24":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}},"25":{"string":"캐릭터 기준 9레벨 당 DEX +4","option":{"dexLv":4}}}},"60030":{"level":{"1":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"2":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"3":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"4":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"5":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"6":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"7":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"8":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"9":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"10":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"11":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"12":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"13":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"14":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"15":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"16":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"17":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"18":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"19":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"20":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"21":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"22":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"23":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"24":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}},"25":{"string":"캐릭터 기준 9레벨 당 INT +4","option":{"intLv":4}}}},"60031":{"level":{"1":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"2":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"3":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"4":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"5":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"6":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"7":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"8":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"9":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"10":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"11":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"12":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"13":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"14":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"15":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"16":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"17":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"18":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"19":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"20":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"21":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"22":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"23":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"24":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}},"25":{"string":"캐릭터 기준 9레벨 당 LUK +4","option":{"lukLv":4}}}},"60032":{"level":{"1":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"2":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"3":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"4":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"5":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"6":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"7":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"8":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"9":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"10":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"11":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"12":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"13":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"14":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"15":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"16":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"17":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"18":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"19":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"20":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"21":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"22":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"23":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"24":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}},"25":{"string":"캐릭터 기준 9레벨 당 체력 +200","option":{}}}},"60033":{"level":{"1":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"2":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"3":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"4":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"5":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"6":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"7":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"8":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"9":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"10":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"11":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"12":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"13":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"14":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"15":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"16":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"17":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"18":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"19":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"20":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"21":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"22":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"23":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"24":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}},"25":{"string":"캐릭터 기준 9레벨 당 올스탯 +2","option":{"strLv":2,"dexLv":2,"intLv":2,"lukLv":2}}}},"60034":{"level":{"1":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"2":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"3":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"4":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"5":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"6":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"7":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"8":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"9":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"10":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"11":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"12":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"13":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"14":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"15":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"16":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"17":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"18":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"19":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"20":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"21":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"22":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"23":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"24":{"string":"공격력 +4%","option":{"attackPowerRate":4}},"25":{"string":"공격력 +4%","option":{"attackPowerRate":4}}}},"60035":{"level":{"1":{"string":"마력 +4%","option":{"magicPowerRate":4}},"2":{"string":"마력 +4%","option":{"magicPowerRate":4}},"3":{"string":"마력 +4%","option":{"magicPowerRate":4}},"4":{"string":"마력 +4%","option":{"magicPowerRate":4}},"5":{"string":"마력 +4%","option":{"magicPowerRate":4}},"6":{"string":"마력 +4%","option":{"magicPowerRate":4}},"7":{"string":"마력 +4%","option":{"magicPowerRate":4}},"8":{"string":"마력 +4%","option":{"magicPowerRate":4}},"9":{"string":"마력 +4%","option":{"magicPowerRate":4}},"10":{"string":"마력 +4%","option":{"magicPowerRate":4}},"11":{"string":"마력 +4%","option":{"magicPowerRate":4}},"12":{"string":"마력 +4%","option":{"magicPowerRate":4}},"13":{"string":"마력 +4%","option":{"magicPowerRate":4}},"14":{"string":"마력 +4%","option":{"magicPowerRate":4}},"15":{"string":"마력 +4%","option":{"magicPowerRate":4}},"16":{"string":"마력 +4%","option":{"magicPowerRate":4}},"17":{"string":"마력 +4%","option":{"magicPowerRate":4}},"18":{"string":"마력 +4%","option":{"magicPowerRate":4}},"19":{"string":"마력 +4%","option":{"magicPowerRate":4}},"20":{"string":"마력 +4%","option":{"magicPowerRate":4}},"21":{"string":"마력 +4%","option":{"magicPowerRate":4}},"22":{"string":"마력 +4%","option":{"magicPowerRate":4}},"23":{"string":"마력 +4%","option":{"magicPowerRate":4}},"24":{"string":"마력 +4%","option":{"magicPowerRate":4}},"25":{"string":"마력 +4%","option":{"magicPowerRate":4}}}},"60036":{"level":{"1":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"2":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"3":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"4":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"5":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"6":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"7":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"8":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"9":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"10":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"11":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"12":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"13":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"14":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"15":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"16":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"17":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"18":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"19":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"20":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"21":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"22":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"23":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"24":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}},"25":{"string":"크리티컬 확률 +8%","option":{"criticalRate":8}}}},"60037":{"level":{"1":{"string":"데미지 +8%","option":{"damage":8}},"2":{"string":"데미지 +7%","option":{"damage":7}},"3":{"string":"데미지 +6%","option":{"damage":6}},"4":{"string":"데미지 +3%","option":{"damage":3}},"5":{"string":"데미지 +3%","option":{"damage":3}},"6":{"string":"데미지 +3%","option":{"damage":3}},"7":{"string":"데미지 +3%","option":{"damage":3}},"8":{"string":"데미지 +3%","option":{"damage":3}},"9":{"string":"데미지 +3%","option":{"damage":3}},"10":{"string":"데미지 +3%","option":{"damage":3}},"11":{"string":"데미지 +3%","option":{"damage":3}},"12":{"string":"데미지 +3%","option":{"damage":3}},"13":{"string":"데미지 +3%","option":{"damage":3}},"14":{"string":"데미지 +3%","option":{"damage":3}},"15":{"string":"데미지 +3%","option":{"damage":3}},"16":{"string":"데미지 +3%","option":{"damage":3}},"17":{"string":"데미지 +3%","option":{"damage":3}},"18":{"string":"데미지 +3%","option":{"damage":3}},"19":{"string":"데미지 +3%","option":{"damage":3}},"20":{"string":"데미지 +3%","option":{"damage":3}},"21":{"string":"데미지 +3%","option":{"damage":3}},"22":{"string":"데미지 +3%","option":{"damage":3}},"23":{"string":"데미지 +3%","option":{"damage":3}},"24":{"string":"데미지 +3%","option":{"damage":3}},"25":{"string":"데미지 +3%","option":{"damage":3}}}},"60038":{"level":{"1":{"string":"올스탯 +9%","option":{"strRate":9,"dexRate":9,"intRate":9,"lukRate":9}},"2":{"string":"올스탯 +8%","option":{"strRate":8,"dexRate":8,"intRate":8,"lukRate":8}},"3":{"string":"올스탯 +7%","option":{"strRate":7,"dexRate":7,"intRate":7,"lukRate":7}},"4":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"5":{"string":"올스탯 +5%","option":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5}},"6":{"string":"올스탯 +4%","option":{"strRate":4,"dexRate":4,"intRate":4,"lukRate":4}},"7":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"8":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"9":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"10":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"11":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"12":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"13":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"14":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"15":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"16":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"17":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"18":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"19":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"20":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"21":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"22":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"23":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"24":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"25":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}}}},"60039":{"level":{"1":{"string":"보스 몬스터 데미지 +9%","option":{"bossDamage":9}},"2":{"string":"보스 몬스터 데미지 +8%","option":{"bossDamage":8}},"3":{"string":"보스 몬스터 데미지 +7%","option":{"bossDamage":7}},"4":{"string":"보스 몬스터 데미지 +6%","option":{"bossDamage":6}},"5":{"string":"보스 몬스터 데미지 +5%","option":{"bossDamage":5}},"6":{"string":"보스 몬스터 데미지 +4%","option":{"bossDamage":4}},"7":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"8":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"9":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"10":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"11":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"12":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"13":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"14":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"15":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"16":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"17":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"18":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"19":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"20":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"21":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"22":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"23":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"24":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}},"25":{"string":"보스 몬스터 데미지 +3%","option":{"bossDamage":3}}}},"60040":{"optionType":40,"level":{"1":{"string":"아이템 드롭률 +1%","option":{}},"2":{"string":"아이템 드롭률 +1%","option":{}},"3":{"string":"아이템 드롭률 +1%","option":{}},"4":{"string":"아이템 드롭률 +1%","option":{}},"5":{"string":"아이템 드롭률 +1%","option":{}},"6":{"string":"아이템 드롭률 +1%","option":{}},"7":{"string":"아이템 드롭률 +1%","option":{}},"8":{"string":"아이템 드롭률 +1%","option":{}},"9":{"string":"아이템 드롭률 +1%","option":{}},"10":{"string":"아이템 드롭률 +1%","option":{}},"11":{"string":"아이템 드롭률 +1%","option":{}},"12":{"string":"아이템 드롭률 +1%","option":{}},"13":{"string":"아이템 드롭률 +1%","option":{}},"14":{"string":"아이템 드롭률 +1%","option":{}},"15":{"string":"아이템 드롭률 +1%","option":{}},"16":{"string":"아이템 드롭률 +1%","option":{}},"17":{"string":"아이템 드롭률 +1%","option":{}},"18":{"string":"아이템 드롭률 +1%","option":{}},"19":{"string":"아이템 드롭률 +1%","option":{}},"20":{"string":"아이템 드롭률 +1%","option":{}},"21":{"string":"아이템 드롭률 +1%","option":{}},"22":{"string":"아이템 드롭률 +1%","option":{}},"23":{"string":"아이템 드롭률 +1%","option":{}},"24":{"string":"아이템 드롭률 +1%","option":{}},"25":{"string":"아이템 드롭률 +1%","option":{}}}},"60041":{"optionType":40,"level":{"1":{"string":"아이템 드롭률 +2%","option":{}},"2":{"string":"아이템 드롭률 +2%","option":{}},"3":{"string":"아이템 드롭률 +2%","option":{}},"4":{"string":"아이템 드롭률 +2%","option":{}},"5":{"string":"아이템 드롭률 +2%","option":{}},"6":{"string":"아이템 드롭률 +2%","option":{}},"7":{"string":"아이템 드롭률 +2%","option":{}},"8":{"string":"아이템 드롭률 +2%","option":{}},"9":{"string":"아이템 드롭률 +2%","option":{}},"10":{"string":"아이템 드롭률 +2%","option":{}},"11":{"string":"아이템 드롭률 +2%","option":{}},"12":{"string":"아이템 드롭률 +2%","option":{}},"13":{"string":"아이템 드롭률 +2%","option":{}},"14":{"string":"아이템 드롭률 +2%","option":{}},"15":{"string":"아이템 드롭률 +2%","option":{}},"16":{"string":"아이템 드롭률 +2%","option":{}},"17":{"string":"아이템 드롭률 +2%","option":{}},"18":{"string":"아이템 드롭률 +2%","option":{}},"19":{"string":"아이템 드롭률 +2%","option":{}},"20":{"string":"아이템 드롭률 +2%","option":{}},"21":{"string":"아이템 드롭률 +2%","option":{}},"22":{"string":"아이템 드롭률 +2%","option":{}},"23":{"string":"아이템 드롭률 +2%","option":{}},"24":{"string":"아이템 드롭률 +2%","option":{}},"25":{"string":"아이템 드롭률 +2%","option":{}}}},"60042":{"optionType":40,"level":{"1":{"string":"아이템 드롭률 +3%","option":{}},"2":{"string":"아이템 드롭률 +3%","option":{}},"3":{"string":"아이템 드롭률 +3%","option":{}},"4":{"string":"아이템 드롭률 +3%","option":{}},"5":{"string":"아이템 드롭률 +3%","option":{}},"6":{"string":"아이템 드롭률 +3%","option":{}},"7":{"string":"아이템 드롭률 +3%","option":{}},"8":{"string":"아이템 드롭률 +3%","option":{}},"9":{"string":"아이템 드롭률 +3%","option":{}},"10":{"string":"아이템 드롭률 +3%","option":{}},"11":{"string":"아이템 드롭률 +3%","option":{}},"12":{"string":"아이템 드롭률 +3%","option":{}},"13":{"string":"아이템 드롭률 +3%","option":{}},"14":{"string":"아이템 드롭률 +3%","option":{}},"15":{"string":"아이템 드롭률 +3%","option":{}},"16":{"string":"아이템 드롭률 +3%","option":{}},"17":{"string":"아이템 드롭률 +3%","option":{}},"18":{"string":"아이템 드롭률 +3%","option":{}},"19":{"string":"아이템 드롭률 +3%","option":{}},"20":{"string":"아이템 드롭률 +3%","option":{}},"21":{"string":"아이템 드롭률 +3%","option":{}},"22":{"string":"아이템 드롭률 +3%","option":{}},"23":{"string":"아이템 드롭률 +3%","option":{}},"24":{"string":"아이템 드롭률 +3%","option":{}},"25":{"string":"아이템 드롭률 +3%","option":{}}}},"60043":{"optionType":40,"level":{"1":{"string":"아이템 드롭률 +4%","option":{}},"2":{"string":"아이템 드롭률 +4%","option":{}},"3":{"string":"아이템 드롭률 +4%","option":{}},"4":{"string":"아이템 드롭률 +4%","option":{}},"5":{"string":"아이템 드롭률 +4%","option":{}},"6":{"string":"아이템 드롭률 +4%","option":{}},"7":{"string":"아이템 드롭률 +4%","option":{}},"8":{"string":"아이템 드롭률 +4%","option":{}},"9":{"string":"아이템 드롭률 +4%","option":{}},"10":{"string":"아이템 드롭률 +4%","option":{}},"11":{"string":"아이템 드롭률 +4%","option":{}},"12":{"string":"아이템 드롭률 +4%","option":{}},"13":{"string":"아이템 드롭률 +4%","option":{}},"14":{"string":"아이템 드롭률 +4%","option":{}},"15":{"string":"아이템 드롭률 +4%","option":{}},"16":{"string":"아이템 드롭률 +4%","option":{}},"17":{"string":"아이템 드롭률 +4%","option":{}},"18":{"string":"아이템 드롭률 +4%","option":{}},"19":{"string":"아이템 드롭률 +4%","option":{}},"20":{"string":"아이템 드롭률 +4%","option":{}},"21":{"string":"아이템 드롭률 +4%","option":{}},"22":{"string":"아이템 드롭률 +4%","option":{}},"23":{"string":"아이템 드롭률 +4%","option":{}},"24":{"string":"아이템 드롭률 +4%","option":{}},"25":{"string":"아이템 드롭률 +4%","option":{}}}},"60044":{"level":{"1":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"2":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"3":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"4":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"5":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"6":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"7":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"8":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"9":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"10":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"11":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"12":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"13":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"14":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"15":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"16":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"17":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"18":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"19":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"20":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"21":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"22":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"23":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"24":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}},"25":{"string":"피격 시 5% 확률로 데미지의 1% 무시","option":{}}}},"60045":{"level":{"1":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"2":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"3":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"4":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"5":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"6":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"7":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"8":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"9":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"10":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"11":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"12":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"13":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"14":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"15":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"16":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"17":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"18":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"19":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"20":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"21":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"22":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"23":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"24":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}},"25":{"string":"피격 시 5% 확률로 데미지의 2% 무시","option":{}}}},"60046":{"level":{"1":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"2":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"3":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"4":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"5":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"6":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"7":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"8":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"9":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"10":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"11":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"12":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"13":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"14":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"15":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"16":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"17":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"18":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"19":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"20":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"21":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"22":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"23":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"24":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}},"25":{"string":"피격 시 5% 확률로 데미지의 3% 무시","option":{}}}},"60047":{"level":{"1":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"2":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"3":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"4":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"5":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"6":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"7":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"8":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"9":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"10":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"11":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"12":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"13":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"14":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"15":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"16":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"17":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"18":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"19":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"20":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"21":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"22":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"23":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"24":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}},"25":{"string":"피격 시 5% 확률로 데미지의 4% 무시","option":{}}}},"60048":{"optionType":10,"level":{"1":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"2":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"3":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"4":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"5":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"6":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"7":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"8":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"9":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"10":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"11":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"12":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"13":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"14":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"15":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"16":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"17":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"18":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"19":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"20":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"21":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"22":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"23":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"24":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}},"25":{"string":"몬스터 방어율 무시 +1%","option":{"ignoreMonsterArmor":1}}}},"60049":{"optionType":10,"level":{"1":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"2":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"3":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"4":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"5":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"6":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"7":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"8":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"9":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"10":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"11":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"12":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"13":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"14":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"15":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"16":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"17":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"18":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"19":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"20":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"21":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"22":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"23":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"24":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}},"25":{"string":"몬스터 방어율 무시 +2%","option":{"ignoreMonsterArmor":2}}}},"60050":{"optionType":10,"level":{"1":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"2":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"3":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"4":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"5":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"6":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"7":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"8":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"9":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"10":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"11":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"12":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"13":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"14":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"15":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"16":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"17":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"18":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"19":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"20":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"21":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"22":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"23":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"24":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}},"25":{"string":"몬스터 방어율 무시 +3%","option":{"ignoreMonsterArmor":3}}}},"60051":{"optionType":10,"level":{"1":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"2":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"3":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"4":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"5":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"6":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"7":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"8":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"9":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"10":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"11":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"12":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"13":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"14":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"15":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"16":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"17":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"18":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"19":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"20":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"21":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"22":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"23":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"24":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}},"25":{"string":"몬스터 방어율 무시 +4%","option":{"ignoreMonsterArmor":4}}}},"60052":{"optionType":10,"level":{"1":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"2":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"3":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"4":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"5":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"6":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"7":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"8":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"9":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"10":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"11":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"12":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"13":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"14":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"15":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"16":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"17":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"18":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"19":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"20":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"21":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"22":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"23":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"24":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}},"25":{"string":"크리티컬 확률 +1%","option":{"criticalRate":1}}}},"60053":{"optionType":10,"level":{"1":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"2":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"3":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"4":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"5":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"6":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"7":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"8":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"9":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"10":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"11":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"12":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"13":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"14":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"15":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"16":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"17":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"18":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"19":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"20":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"21":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"22":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"23":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"24":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"25":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}}}},"60054":{"optionType":10,"level":{"1":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"2":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"3":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"4":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"5":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"6":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"7":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"8":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"9":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"10":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"11":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"12":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"13":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"14":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"15":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"16":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"17":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"18":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"19":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"20":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"21":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"22":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"23":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"24":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}},"25":{"string":"크리티컬 확률 +3%","option":{"criticalRate":3}}}},"60055":{"optionType":10,"level":{"1":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"2":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"3":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"4":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"5":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"6":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"7":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"8":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"9":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"10":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"11":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"12":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"13":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"14":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"15":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"16":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"17":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"18":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"19":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"20":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"21":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"22":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"23":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"24":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}},"25":{"string":"크리티컬 확률 +4%","option":{"criticalRate":4}}}},"60056":{"optionType":10,"level":{"1":{"string":"데미지 +9%","option":{"damage":9}},"2":{"string":"데미지 +9%","option":{"damage":9}},"3":{"string":"데미지 +9%","option":{"damage":9}},"4":{"string":"데미지 +9%","option":{"damage":9}},"5":{"string":"데미지 +9%","option":{"damage":9}},"6":{"string":"데미지 +9%","option":{"damage":9}},"7":{"string":"데미지 +9%","option":{"damage":9}},"8":{"string":"데미지 +9%","option":{"damage":9}},"9":{"string":"데미지 +9%","option":{"damage":9}},"10":{"string":"데미지 +9%","option":{"damage":9}},"11":{"string":"데미지 +9%","option":{"damage":9}},"12":{"string":"데미지 +9%","option":{"damage":9}},"13":{"string":"데미지 +9%","option":{"damage":9}},"14":{"string":"데미지 +9%","option":{"damage":9}},"15":{"string":"데미지 +9%","option":{"damage":9}},"16":{"string":"데미지 +9%","option":{"damage":9}},"17":{"string":"데미지 +9%","option":{"damage":9}},"18":{"string":"데미지 +9%","option":{"damage":9}},"19":{"string":"데미지 +9%","option":{"damage":9}},"20":{"string":"데미지 +9%","option":{"damage":9}},"21":{"string":"데미지 +9%","option":{"damage":9}},"22":{"string":"데미지 +9%","option":{"damage":9}},"23":{"string":"데미지 +9%","option":{"damage":9}},"24":{"string":"데미지 +9%","option":{"damage":9}},"25":{"string":"데미지 +9%","option":{"damage":9}}}},"60057":{"optionType":10,"level":{"1":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"2":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"3":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"4":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"5":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"6":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"7":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"8":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"9":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"10":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"11":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"12":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"13":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"14":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"15":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"16":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"17":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"18":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"19":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"20":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"21":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"22":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"23":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"24":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}},"25":{"string":"보스 몬스터 데미지 +35%","option":{"bossDamage":35}}}},"60058":{"optionType":10,"level":{"1":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"2":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"3":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"4":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"5":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"6":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"7":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"8":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"9":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"10":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"11":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"12":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"13":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"14":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"15":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"16":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"17":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"18":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"19":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"20":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"21":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"22":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"23":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"24":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}},"25":{"string":"크리티컬 확률 +10%","option":{"criticalRate":10}}}},"60059":{"level":{"1":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"2":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"3":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"4":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"5":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"6":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"7":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"8":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"9":{"string":"최대 HP +12%","option":{"maxHpRate":12}},"10":{"string":"최대 HP +15%","option":{"maxHpRate":15}},"11":{"string":"최대 HP +15%","option":{"maxHpRate":15}},"12":{"string":"최대 HP +15%","option":{"maxHpRate":15}},"13":{"string":"최대 HP +20%","option":{"maxHpRate":20}},"14":{"string":"최대 HP +20%","option":{"maxHpRate":20}},"15":{"string":"최대 HP +20%","option":{"maxHpRate":20}},"16":{"string":"최대 HP +20%","option":{"maxHpRate":20}},"17":{"string":"최대 HP +20%","option":{"maxHpRate":20}},"18":{"string":"최대 HP +20%","option":{"maxHpRate":20}},"19":{"string":"최대 HP +20%","option":{"maxHpRate":20}},"20":{"string":"최대 HP +20%","option":{"maxHpRate":20}},"21":{"string":"최대 HP +20%","option":{"maxHpRate":20}},"22":{"string":"최대 HP +20%","option":{"maxHpRate":20}},"23":{"string":"최대 HP +20%","option":{"maxHpRate":20}},"24":{"string":"최대 HP +20%","option":{"maxHpRate":20}},"25":{"string":"최대 HP +20%","option":{"maxHpRate":20}}}},"60060":{"level":{"1":{"string":"STR +9%","option":{"strRate":9}},"2":{"string":"STR +9%","option":{"strRate":9}},"3":{"string":"STR +9%","option":{"strRate":9}},"4":{"string":"STR +9%","option":{"strRate":9}},"5":{"string":"STR +9%","option":{"strRate":9}},"6":{"string":"STR +9%","option":{"strRate":9}},"7":{"string":"STR +9%","option":{"strRate":9}},"8":{"string":"STR +9%","option":{"strRate":9}},"9":{"string":"STR +9%","option":{"strRate":9}},"10":{"string":"STR +9%","option":{"strRate":9}},"11":{"string":"STR +9%","option":{"strRate":9}},"12":{"string":"STR +9%","option":{"strRate":9}},"13":{"string":"STR +9%","option":{"strRate":9}},"14":{"string":"STR +9%","option":{"strRate":9}},"15":{"string":"STR +9%","option":{"strRate":9}},"16":{"string":"STR +9%","option":{"strRate":9}},"17":{"string":"STR +9%","option":{"strRate":9}},"18":{"string":"STR +9%","option":{"strRate":9}},"19":{"string":"STR +9%","option":{"strRate":9}},"20":{"string":"STR +9%","option":{"strRate":9}},"21":{"string":"STR +9%","option":{"strRate":9}},"22":{"string":"STR +9%","option":{"strRate":9}},"23":{"string":"STR +9%","option":{"strRate":9}},"24":{"string":"STR +9%","option":{"strRate":9}},"25":{"string":"STR +9%","option":{"strRate":9}}}},"60061":{"level":{"1":{"string":"DEX +9%","option":{"dexRate":9}},"2":{"string":"DEX +9%","option":{"dexRate":9}},"3":{"string":"DEX +9%","option":{"dexRate":9}},"4":{"string":"DEX +9%","option":{"dexRate":9}},"5":{"string":"DEX +9%","option":{"dexRate":9}},"6":{"string":"DEX +9%","option":{"dexRate":9}},"7":{"string":"DEX +9%","option":{"dexRate":9}},"8":{"string":"DEX +9%","option":{"dexRate":9}},"9":{"string":"DEX +9%","option":{"dexRate":9}},"10":{"string":"DEX +9%","option":{"dexRate":9}},"11":{"string":"DEX +9%","option":{"dexRate":9}},"12":{"string":"DEX +9%","option":{"dexRate":9}},"13":{"string":"DEX +9%","option":{"dexRate":9}},"14":{"string":"DEX +9%","option":{"dexRate":9}},"15":{"string":"DEX +9%","option":{"dexRate":9}},"16":{"string":"DEX +9%","option":{"dexRate":9}},"17":{"string":"DEX +9%","option":{"dexRate":9}},"18":{"string":"DEX +9%","option":{"dexRate":9}},"19":{"string":"DEX +9%","option":{"dexRate":9}},"20":{"string":"DEX +9%","option":{"dexRate":9}},"21":{"string":"DEX +9%","option":{"dexRate":9}},"22":{"string":"DEX +9%","option":{"dexRate":9}},"23":{"string":"DEX +9%","option":{"dexRate":9}},"24":{"string":"DEX +9%","option":{"dexRate":9}},"25":{"string":"DEX +9%","option":{"dexRate":9}}}},"60062":{"level":{"1":{"string":"INT +9%","option":{"intRate":9}},"2":{"string":"INT +9%","option":{"intRate":9}},"3":{"string":"INT +9%","option":{"intRate":9}},"4":{"string":"INT +9%","option":{"intRate":9}},"5":{"string":"INT +9%","option":{"intRate":9}},"6":{"string":"INT +9%","option":{"intRate":9}},"7":{"string":"INT +9%","option":{"intRate":9}},"8":{"string":"INT +9%","option":{"intRate":9}},"9":{"string":"INT +9%","option":{"intRate":9}},"10":{"string":"INT +9%","option":{"intRate":9}},"11":{"string":"INT +9%","option":{"intRate":9}},"12":{"string":"INT +9%","option":{"intRate":9}},"13":{"string":"INT +9%","option":{"intRate":9}},"14":{"string":"INT +9%","option":{"intRate":9}},"15":{"string":"INT +9%","option":{"intRate":9}},"16":{"string":"INT +9%","option":{"intRate":9}},"17":{"string":"INT +9%","option":{"intRate":9}},"18":{"string":"INT +9%","option":{"intRate":9}},"19":{"string":"INT +9%","option":{"intRate":9}},"20":{"string":"INT +9%","option":{"intRate":9}},"21":{"string":"INT +9%","option":{"intRate":9}},"22":{"string":"INT +9%","option":{"intRate":9}},"23":{"string":"INT +9%","option":{"intRate":9}},"24":{"string":"INT +9%","option":{"intRate":9}},"25":{"string":"INT +9%","option":{"intRate":9}}}},"60063":{"level":{"1":{"string":"LUK +9%","option":{"lukRate":9}},"2":{"string":"LUK +9%","option":{"lukRate":9}},"3":{"string":"LUK +9%","option":{"lukRate":9}},"4":{"string":"LUK +9%","option":{"lukRate":9}},"5":{"string":"LUK +9%","option":{"lukRate":9}},"6":{"string":"LUK +9%","option":{"lukRate":9}},"7":{"string":"LUK +9%","option":{"lukRate":9}},"8":{"string":"LUK +9%","option":{"lukRate":9}},"9":{"string":"LUK +9%","option":{"lukRate":9}},"10":{"string":"LUK +9%","option":{"lukRate":9}},"11":{"string":"LUK +9%","option":{"lukRate":9}},"12":{"string":"LUK +9%","option":{"lukRate":9}},"13":{"string":"LUK +9%","option":{"lukRate":9}},"14":{"string":"LUK +9%","option":{"lukRate":9}},"15":{"string":"LUK +9%","option":{"lukRate":9}},"16":{"string":"LUK +9%","option":{"lukRate":9}},"17":{"string":"LUK +9%","option":{"lukRate":9}},"18":{"string":"LUK +9%","option":{"lukRate":9}},"19":{"string":"LUK +9%","option":{"lukRate":9}},"20":{"string":"LUK +9%","option":{"lukRate":9}},"21":{"string":"LUK +9%","option":{"lukRate":9}},"22":{"string":"LUK +9%","option":{"lukRate":9}},"23":{"string":"LUK +9%","option":{"lukRate":9}},"24":{"string":"LUK +9%","option":{"lukRate":9}},"25":{"string":"LUK +9%","option":{"lukRate":9}}}},"60064":{"optionType":11,"level":{"1":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"2":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"3":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"4":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"5":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"6":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"7":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"8":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"9":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"10":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"11":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"12":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"13":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"14":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"15":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"16":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"17":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"18":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"19":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"20":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"21":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"22":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"23":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"24":{"string":"최대 HP +9%","option":{"maxHpRate":9}},"25":{"string":"최대 HP +9%","option":{"maxHpRate":9}}}},"60065":{"level":{"1":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"2":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"3":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"4":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"5":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"6":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"7":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"8":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"9":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"10":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"11":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"12":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"13":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"14":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"15":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"16":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"17":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"18":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"19":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"20":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"21":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"22":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"23":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"24":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}},"25":{"string":"크리티컬 확률 +6%","option":{"criticalRate":6}}}},"60066":{"optionType":11,"level":{"1":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"2":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"3":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"4":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"5":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"6":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"7":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"8":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"9":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"10":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"11":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"12":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"13":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"14":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"15":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"16":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"17":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"18":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"19":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"20":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"21":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"22":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"23":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"24":{"string":"최대 MP +6%","option":{"maxMpRate":6}},"25":{"string":"최대 MP +6%","option":{"maxMpRate":6}}}},"60067":{"level":{"1":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"2":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"3":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"4":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"5":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"6":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"7":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"8":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"9":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"10":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"11":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"12":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"13":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"14":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"15":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"16":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"17":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"18":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"19":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"20":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"21":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"22":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"23":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"24":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}},"25":{"string":"올스탯 +6%","option":{"strRate":6,"dexRate":6,"intRate":6,"lukRate":6}}}},"60068":{"level":{"1":{"string":"STR +6%","option":{"strRate":6}},"2":{"string":"STR +6%","option":{"strRate":6}},"3":{"string":"STR +6%","option":{"strRate":6}},"4":{"string":"STR +6%","option":{"strRate":6}},"5":{"string":"STR +6%","option":{"strRate":6}},"6":{"string":"STR +6%","option":{"strRate":6}},"7":{"string":"STR +6%","option":{"strRate":6}},"8":{"string":"STR +6%","option":{"strRate":6}},"9":{"string":"STR +6%","option":{"strRate":6}},"10":{"string":"STR +6%","option":{"strRate":6}},"11":{"string":"STR +6%","option":{"strRate":6}},"12":{"string":"STR +6%","option":{"strRate":6}},"13":{"string":"STR +6%","option":{"strRate":6}},"14":{"string":"STR +6%","option":{"strRate":6}},"15":{"string":"STR +6%","option":{"strRate":6}},"16":{"string":"STR +6%","option":{"strRate":6}},"17":{"string":"STR +6%","option":{"strRate":6}},"18":{"string":"STR +6%","option":{"strRate":6}},"19":{"string":"STR +6%","option":{"strRate":6}},"20":{"string":"STR +6%","option":{"strRate":6}},"21":{"string":"STR +6%","option":{"strRate":6}},"22":{"string":"STR +6%","option":{"strRate":6}},"23":{"string":"STR +6%","option":{"strRate":6}},"24":{"string":"STR +6%","option":{"strRate":6}},"25":{"string":"STR +6%","option":{"strRate":6}}}},"60069":{"level":{"1":{"string":"DEX +6%","option":{"dexRate":6}},"2":{"string":"DEX +6%","option":{"dexRate":6}},"3":{"string":"DEX +6%","option":{"dexRate":6}},"4":{"string":"DEX +6%","option":{"dexRate":6}},"5":{"string":"DEX +6%","option":{"dexRate":6}},"6":{"string":"DEX +6%","option":{"dexRate":6}},"7":{"string":"DEX +6%","option":{"dexRate":6}},"8":{"string":"DEX +6%","option":{"dexRate":6}},"9":{"string":"DEX +6%","option":{"dexRate":6}},"10":{"string":"DEX +6%","option":{"dexRate":6}},"11":{"string":"DEX +6%","option":{"dexRate":6}},"12":{"string":"DEX +6%","option":{"dexRate":6}},"13":{"string":"DEX +6%","option":{"dexRate":6}},"14":{"string":"DEX +6%","option":{"dexRate":6}},"15":{"string":"DEX +6%","option":{"dexRate":6}},"16":{"string":"DEX +6%","option":{"dexRate":6}},"17":{"string":"DEX +6%","option":{"dexRate":6}},"18":{"string":"DEX +6%","option":{"dexRate":6}},"19":{"string":"DEX +6%","option":{"dexRate":6}},"20":{"string":"DEX +6%","option":{"dexRate":6}},"21":{"string":"DEX +6%","option":{"dexRate":6}},"22":{"string":"DEX +6%","option":{"dexRate":6}},"23":{"string":"DEX +6%","option":{"dexRate":6}},"24":{"string":"DEX +6%","option":{"dexRate":6}},"25":{"string":"DEX +6%","option":{"dexRate":6}}}},"60070":{"level":{"1":{"string":"INT +6%","option":{"intRate":6}},"2":{"string":"INT +6%","option":{"intRate":6}},"3":{"string":"INT +6%","option":{"intRate":6}},"4":{"string":"INT +6%","option":{"intRate":6}},"5":{"string":"INT +6%","option":{"intRate":6}},"6":{"string":"INT +6%","option":{"intRate":6}},"7":{"string":"INT +6%","option":{"intRate":6}},"8":{"string":"INT +6%","option":{"intRate":6}},"9":{"string":"INT +6%","option":{"intRate":6}},"10":{"string":"INT +6%","option":{"intRate":6}},"11":{"string":"INT +6%","option":{"intRate":6}},"12":{"string":"INT +6%","option":{"intRate":6}},"13":{"string":"INT +6%","option":{"intRate":6}},"14":{"string":"INT +6%","option":{"intRate":6}},"15":{"string":"INT +6%","option":{"intRate":6}},"16":{"string":"INT +6%","option":{"intRate":6}},"17":{"string":"INT +6%","option":{"intRate":6}},"18":{"string":"INT +6%","option":{"intRate":6}},"19":{"string":"INT +6%","option":{"intRate":6}},"20":{"string":"INT +6%","option":{"intRate":6}},"21":{"string":"INT +6%","option":{"intRate":6}},"22":{"string":"INT +6%","option":{"intRate":6}},"23":{"string":"INT +6%","option":{"intRate":6}},"24":{"string":"INT +6%","option":{"intRate":6}},"25":{"string":"INT +6%","option":{"intRate":6}}}},"60071":{"level":{"1":{"string":"LUK +6%","option":{"lukRate":6}},"2":{"string":"LUK +6%","option":{"lukRate":6}},"3":{"string":"LUK +6%","option":{"lukRate":6}},"4":{"string":"LUK +6%","option":{"lukRate":6}},"5":{"string":"LUK +6%","option":{"lukRate":6}},"6":{"string":"LUK +6%","option":{"lukRate":6}},"7":{"string":"LUK +6%","option":{"lukRate":6}},"8":{"string":"LUK +6%","option":{"lukRate":6}},"9":{"string":"LUK +6%","option":{"lukRate":6}},"10":{"string":"LUK +6%","option":{"lukRate":6}},"11":{"string":"LUK +6%","option":{"lukRate":6}},"12":{"string":"LUK +6%","option":{"lukRate":6}},"13":{"string":"LUK +6%","option":{"lukRate":6}},"14":{"string":"LUK +6%","option":{"lukRate":6}},"15":{"string":"LUK +6%","option":{"lukRate":6}},"16":{"string":"LUK +6%","option":{"lukRate":6}},"17":{"string":"LUK +6%","option":{"lukRate":6}},"18":{"string":"LUK +6%","option":{"lukRate":6}},"19":{"string":"LUK +6%","option":{"lukRate":6}},"20":{"string":"LUK +6%","option":{"lukRate":6}},"21":{"string":"LUK +6%","option":{"lukRate":6}},"22":{"string":"LUK +6%","option":{"lukRate":6}},"23":{"string":"LUK +6%","option":{"lukRate":6}},"24":{"string":"LUK +6%","option":{"lukRate":6}},"25":{"string":"LUK +6%","option":{"lukRate":6}}}},"60072":{"optionType":11,"level":{"1":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"2":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"3":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"4":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"5":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"6":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"7":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"8":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"9":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"10":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"11":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"12":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"13":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"14":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"15":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"16":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"17":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"18":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"19":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"20":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"21":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"22":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"23":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"24":{"string":"최대 HP +6%","option":{"maxHpRate":6}},"25":{"string":"최대 HP +6%","option":{"maxHpRate":6}}}},"60073":{"level":{"1":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"2":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"3":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"4":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"5":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"6":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"7":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"8":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"9":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"10":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"11":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"12":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"13":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"14":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"15":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"16":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"17":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"18":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"19":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"20":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"21":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"22":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"23":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"24":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}},"25":{"string":"올스탯 +3%","option":{"strRate":3,"dexRate":3,"intRate":3,"lukRate":3}}}},"60085":{"optionType":10,"level":{"1":{"string":"데미지 +12%","option":{"damage":12}},"2":{"string":"데미지 +12%","option":{"damage":12}},"3":{"string":"데미지 +12%","option":{"damage":12}},"4":{"string":"데미지 +12%","option":{"damage":12}},"5":{"string":"데미지 +12%","option":{"damage":12}},"6":{"string":"데미지 +12%","option":{"damage":12}},"7":{"string":"데미지 +12%","option":{"damage":12}},"8":{"string":"데미지 +12%","option":{"damage":12}},"9":{"string":"데미지 +12%","option":{"damage":12}},"10":{"string":"데미지 +12%","option":{"damage":12}},"11":{"string":"데미지 +12%","option":{"damage":12}},"12":{"string":"데미지 +12%","option":{"damage":12}},"13":{"string":"데미지 +12%","option":{"damage":12}},"14":{"string":"데미지 +12%","option":{"damage":12}},"15":{"string":"데미지 +12%","option":{"damage":12}},"16":{"string":"데미지 +12%","option":{"damage":12}},"17":{"string":"데미지 +12%","option":{"damage":12}},"18":{"string":"데미지 +12%","option":{"damage":12}},"19":{"string":"데미지 +12%","option":{"damage":12}},"20":{"string":"데미지 +12%","option":{"damage":12}},"21":{"string":"데미지 +12%","option":{"damage":12}},"22":{"string":"데미지 +12%","option":{"damage":12}},"23":{"string":"데미지 +12%","option":{"damage":12}},"24":{"string":"데미지 +12%","option":{"damage":12}},"25":{"string":"데미지 +12%","option":{"damage":12}}}},"60086":{"optionType":10,"level":{"1":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"2":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"3":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"4":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"5":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"6":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"7":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"8":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"9":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"10":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"11":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"12":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"13":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"14":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"15":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"16":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"17":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"18":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"19":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"20":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"21":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"22":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"23":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"24":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}},"25":{"string":"크리티컬 확률 +12%","option":{"criticalRate":12}}}},"60087":{"level":{"1":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"2":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"3":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"4":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"5":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"6":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"7":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"8":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"9":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"10":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"11":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"12":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"13":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"14":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"15":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"16":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"17":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"18":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"19":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"20":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"21":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"22":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"23":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"24":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}},"25":{"string":"몬스터 방어율 무시 +20%","option":{"ignoreMonsterArmor":20}}}},"60088":{"level":{"1":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"2":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"3":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"4":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"5":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"6":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"7":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"8":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"9":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"10":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"11":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"12":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"13":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"14":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"15":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"16":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"17":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"18":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"19":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"20":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"21":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"22":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"23":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"24":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}},"25":{"string":"보스 몬스터 데미지 +15%","option":{"bossDamage":15}}}}} \ No newline at end of file diff --git a/src/lib/features/gear-enchant-ui/tabs/potential/model/potential.ts b/src/lib/features/gear-enchant-ui/tabs/potential/model/potential.ts new file mode 100644 index 0000000..28f3a9f --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/potential/model/potential.ts @@ -0,0 +1,108 @@ +import { + GearType, + isSubWeapon, + isWeapon, + PotentialGrade, + ReadonlyGear, + type GearOption, + type PotentialData +} from '@malib/gear'; +import { getAdditionalPotentialCodes, getPotentialCodes } from './codes'; +import itemOptionData from './item-option.json'; + +export interface ItemOption { + level: Record }>; + optionType?: number; + reqLevel?: number; +} + +const itemOptions: Record = itemOptionData; + +export function getGradePotentialDatas(gear: ReadonlyGear, grade: PotentialGrade): PotentialData[] { + const codes = getPotentialCodes(grade); + return getPotentialDatasByCodes(codes, gear.type, gear.req.level + gear.req.levelIncrease); +} + +export function getGradeAdditionalPotentialDatas( + gear: ReadonlyGear, + grade: PotentialGrade +): PotentialData[] { + const codes = getAdditionalPotentialCodes(grade); + return getPotentialDatasByCodes(codes, gear.type, gear.req.level + gear.req.levelIncrease); +} + +export function getPotentialDatasByCodes( + codes: number[], + gearType: GearType, + gearReqLevel: number +) { + return codes + .map((code) => { + const itemOption = itemOptions[code]; + if (itemOption.optionType) { + if (!checkOptionType(itemOption.optionType, gearType)) return null; + } + if (itemOption.reqLevel) { + if (gearReqLevel < itemOption.reqLevel) return null; + } + const level = getPotentialLevel(gearReqLevel); + const levelData = itemOption.level[level]; + return { + id: code, + grade: Math.floor(code / 10000), + summary: levelData.string, + option: { ...levelData.option } + }; + }) + .filter((potential) => potential !== null); +} + +function getPotentialLevel(gearReqLevel: number) { + if (gearReqLevel <= 0) return 1; + else if (gearReqLevel >= 250) return 25; + else return Math.floor((gearReqLevel + 9) / 10); +} + +function checkOptionType(optionType: number, gearType: GearType): boolean { + switch (optionType) { + case 0: + return true; + case 10: + return isWeapon(gearType) || isSubWeapon(gearType) || gearType === GearType.emblem; + case 11: + return !checkOptionType(10, gearType); + case 20: + return ( + isSubWeapon(gearType) || + gearType === GearType.cap || + gearType === GearType.coat || + gearType === GearType.longcoat || + gearType === GearType.pants || + gearType === GearType.shoes || + gearType === GearType.glove || + gearType === GearType.cape || + gearType === GearType.belt || + gearType === GearType.shoulder + ); + case 40: + return ( + gearType === GearType.faceAccessory || + gearType === GearType.eyeAccessory || + gearType === GearType.earrings || + gearType === GearType.ring || + gearType === GearType.pendant + ); + case 51: + return gearType === GearType.cap; + case 52: + return gearType === GearType.coat || gearType === GearType.longcoat; + case 53: + return gearType === GearType.pants; + case 54: + return gearType === GearType.glove; + case 55: + return gearType === GearType.shoes; + default: + return false; + } +} diff --git a/src/lib/features/gear-enchant-ui/tabs/soul-weapon/GearSoulWeaponUI.svelte b/src/lib/features/gear-enchant-ui/tabs/soul-weapon/GearSoulWeaponUI.svelte new file mode 100644 index 0000000..ad336ca --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/soul-weapon/GearSoulWeaponUI.svelte @@ -0,0 +1,185 @@ + + +
+
+ +
+ + + {#snippet children(soulSummary)} + selectSoulSummary(soulSummary)} + > + + {soulSummary.name} + + {/snippet} + + + (selectedItem = null)} + > + + {#if selectedItem} + {#if selectedItem.type === 'magnificent'} + String((selectedItem as { index: number }).index), + (v) => { + if (selectedItem?.type !== 'magnificent') return; + selectedItem.index = Number(v); + } + } + > + + {getSoulOptionString(selectedItem.souls[selectedItem.index].option)} + + + {#each selectedItem.souls as soul, index} + + {getSoulOptionString(soul.option)} + + {/each} + + + {:else} +
+
+ {getSoulOptionString(selectedItem.soul.option)} +
+
+ {/if} + {:else} +
+ {/if} +
+ + {#if selectedItem} + + + + {:else} +
+ {/if} +
+
+ + + + + + +
diff --git a/src/lib/features/gear-enchant-ui/tabs/soul-weapon/model/soul-data.json b/src/lib/features/gear-enchant-ui/tabs/soul-weapon/model/soul-data.json new file mode 100644 index 0000000..60c32af --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/soul-weapon/model/soul-data.json @@ -0,0 +1 @@ +{"2591010":{"name":"기운찬 락 스피릿의 소울","skill":"로큰롤 베이비","chargeFactor":1,"option":{"str":3}},"2591011":{"name":"날렵한 락 스피릿의 소울","skill":"로큰롤 베이비","chargeFactor":1,"option":{"dex":3}},"2591012":{"name":"총명한 락 스피릿의 소울","skill":"로큰롤 베이비","chargeFactor":1,"option":{"int":3}},"2591013":{"name":"놀라운 락 스피릿의 소울","skill":"로큰롤 베이비","chargeFactor":1,"option":{"luk":3}},"2591014":{"name":"강인한 락 스피릿의 소울","skill":"로큰롤 베이비","chargeFactor":1,"option":{"maxHp":150}},"2591015":{"name":"풍부한 락 스피릿의 소울","skill":"로큰롤 베이비","chargeFactor":1,"option":{"maxMp":150}},"2591016":{"name":"화려한 락 스피릿의 소울","skill":"로큰롤 베이비","chargeFactor":1,"option":{"str":2,"dex":2,"int":2,"luk":2}},"2591017":{"name":"기운찬 교도관 아니의 소울","skill":"난 한 놈만 패","chargeFactor":1,"option":{"str":3}},"2591018":{"name":"날렵한 교도관 아니의 소울","skill":"난 한 놈만 패","chargeFactor":1,"option":{"dex":3}},"2591019":{"name":"총명한 교도관 아니의 소울","skill":"난 한 놈만 패","chargeFactor":1,"option":{"int":3}},"2591020":{"name":"놀라운 교도관 아니의 소울","skill":"난 한 놈만 패","chargeFactor":1,"option":{"luk":3}},"2591021":{"name":"강인한 교도관 아니의 소울","skill":"난 한 놈만 패","chargeFactor":1,"option":{"maxHp":150}},"2591022":{"name":"풍부한 교도관 아니의 소울","skill":"난 한 놈만 패","chargeFactor":1,"option":{"maxMp":150}},"2591023":{"name":"화려한 교도관 아니의 소울","skill":"난 한 놈만 패","chargeFactor":1,"option":{"str":2,"dex":2,"int":2,"luk":2}},"2591024":{"name":"기운찬 드래곤 라이더의 소울","skill":"손바닥 장풍","chargeFactor":1,"option":{"str":5}},"2591025":{"name":"날렵한 드래곤 라이더의 소울","skill":"손바닥 장풍","chargeFactor":1,"option":{"dex":5}},"2591026":{"name":"총명한 드래곤 라이더의 소울","skill":"손바닥 장풍","chargeFactor":1,"option":{"int":5}},"2591027":{"name":"놀라운 드래곤 라이더의 소울","skill":"손바닥 장풍","chargeFactor":1,"option":{"luk":5}},"2591028":{"name":"강인한 드래곤 라이더의 소울","skill":"손바닥 장풍","chargeFactor":1,"option":{"maxHp":200}},"2591029":{"name":"풍부한 드래곤 라이더의 소울","skill":"손바닥 장풍","chargeFactor":1,"option":{"maxMp":200}},"2591030":{"name":"화려한 드래곤 라이더의 소울","skill":"손바닥 장풍","chargeFactor":1,"option":{"str":3,"dex":3,"int":3,"luk":3}},"2591031":{"name":"기운찬 렉스의 소울","skill":"내 앞길을 막지마","chargeFactor":1,"option":{"str":5}},"2591032":{"name":"날렵한 렉스의 소울","skill":"내 앞길을 막지마","chargeFactor":1,"option":{"dex":5}},"2591033":{"name":"총명한 렉스의 소울","skill":"내 앞길을 막지마","chargeFactor":1,"option":{"int":5}},"2591034":{"name":"놀라운 렉스의 소울","skill":"내 앞길을 막지마","chargeFactor":1,"option":{"luk":5}},"2591035":{"name":"강인한 렉스의 소울","skill":"내 앞길을 막지마","chargeFactor":1,"option":{"maxHp":200}},"2591036":{"name":"풍부한 렉스의 소울","skill":"내 앞길을 막지마","chargeFactor":1,"option":{"maxMp":200}},"2591037":{"name":"화려한 렉스의 소울","skill":"내 앞길을 막지마","chargeFactor":1,"option":{"str":3,"dex":3,"int":3,"luk":3}},"2591038":{"name":"기운찬 무공의 소울","skill":"회춘신공","chargeFactor":1,"option":{"str":7}},"2591039":{"name":"날렵한 무공의 소울","skill":"회춘신공","chargeFactor":1,"option":{"dex":7}},"2591040":{"name":"총명한 무공의 소울","skill":"회춘신공","chargeFactor":1,"option":{"int":7}},"2591041":{"name":"놀라운 무공의 소울","skill":"회춘신공","chargeFactor":1,"option":{"luk":7}},"2591042":{"name":"강인한 무공의 소울","skill":"회춘신공","chargeFactor":1,"option":{"maxHp":300}},"2591043":{"name":"풍부한 무공의 소울","skill":"회춘신공","chargeFactor":1,"option":{"maxMp":300}},"2591044":{"name":"화려한 무공의 소울","skill":"회춘신공","chargeFactor":1,"option":{"str":5,"dex":5,"int":5,"luk":5}},"2591045":{"name":"기운찬 발록의 소울","skill":"지옥불 트림","chargeFactor":2,"option":{"str":10}},"2591046":{"name":"날렵한 발록의 소울","skill":"지옥불 트림","chargeFactor":2,"option":{"dex":10}},"2591047":{"name":"총명한 발록의 소울","skill":"지옥불 트림","chargeFactor":2,"option":{"int":10}},"2591048":{"name":"놀라운 발록의 소울","skill":"지옥불 트림","chargeFactor":2,"option":{"luk":10}},"2591049":{"name":"화려한 발록의 소울","skill":"지옥불 트림","chargeFactor":2,"option":{"str":7,"dex":7,"int":7,"luk":7}},"2591050":{"name":"강력한 발록의 소울","skill":"지옥불 트림","chargeFactor":2,"option":{"attackPower":3}},"2591051":{"name":"빛나는 발록의 소울","skill":"지옥불 트림","chargeFactor":2,"option":{"magicPower":3}},"2591052":{"name":"강인한 발록의 소울","skill":"지옥불 트림","chargeFactor":2,"option":{"maxHp":400}},"2591055":{"name":"기운찬 핑크빈의 소울","skill":"까칠한 귀여움","chargeFactor":2,"option":{"str":20}},"2591056":{"name":"날렵한 핑크빈의 소울","skill":"까칠한 귀여움","chargeFactor":2,"option":{"dex":20}},"2591057":{"name":"총명한 핑크빈의 소울","skill":"까칠한 귀여움","chargeFactor":2,"option":{"int":20}},"2591058":{"name":"놀라운 핑크빈의 소울","skill":"까칠한 귀여움","chargeFactor":2,"option":{"luk":20}},"2591059":{"name":"화려한 핑크빈의 소울","skill":"까칠한 귀여움","chargeFactor":2,"option":{"str":12,"dex":12,"int":12,"luk":12}},"2591060":{"name":"강력한 핑크빈의 소울","skill":"까칠한 귀여움","chargeFactor":2,"option":{"attackPower":5}},"2591061":{"name":"빛나는 핑크빈의 소울","skill":"까칠한 귀여움","chargeFactor":2,"option":{"magicPower":5}},"2591062":{"name":"강인한 핑크빈의 소울","skill":"까칠한 귀여움","chargeFactor":2,"option":{"maxHp":800}},"2591065":{"name":"기운찬 반 레온의 소울","skill":"야옹이 권법 : 할퀴기 초식","chargeFactor":2,"option":{"str":15}},"2591066":{"name":"날렵한 반 레온의 소울","skill":"야옹이 권법 : 할퀴기 초식","chargeFactor":2,"option":{"dex":15}},"2591067":{"name":"총명한 반 레온의 소울","skill":"야옹이 권법 : 할퀴기 초식","chargeFactor":2,"option":{"int":15}},"2591068":{"name":"놀라운 반 레온의 소울","skill":"야옹이 권법 : 할퀴기 초식","chargeFactor":2,"option":{"luk":15}},"2591069":{"name":"화려한 반 레온의 소울","skill":"야옹이 권법 : 할퀴기 초식","chargeFactor":2,"option":{"str":10,"dex":10,"int":10,"luk":10}},"2591070":{"name":"강력한 반 레온의 소울","skill":"야옹이 권법 : 할퀴기 초식","chargeFactor":2,"option":{"attackPower":4}},"2591071":{"name":"빛나는 반 레온의 소울","skill":"야옹이 권법 : 할퀴기 초식","chargeFactor":2,"option":{"magicPower":4}},"2591072":{"name":"강인한 반 레온의 소울","skill":"야옹이 권법 : 할퀴기 초식","chargeFactor":2,"option":{"maxHp":600}},"2591075":{"name":"기운찬 시그너스의 소울","skill":"불꽃여제","chargeFactor":2,"option":{"str":24}},"2591076":{"name":"날렵한 시그너스의 소울","skill":"불꽃여제","chargeFactor":2,"option":{"dex":24}},"2591077":{"name":"총명한 시그너스의 소울","skill":"불꽃여제","chargeFactor":2,"option":{"int":24}},"2591078":{"name":"놀라운 시그너스의 소울","skill":"불꽃여제","chargeFactor":2,"option":{"luk":24}},"2591079":{"name":"화려한 시그너스의 소울","skill":"불꽃여제","chargeFactor":2,"option":{"str":15,"dex":15,"int":15,"luk":15}},"2591080":{"name":"강력한 시그너스의 소울","skill":"불꽃여제","chargeFactor":2,"option":{"attackPower":6}},"2591081":{"name":"빛나는 시그너스의 소울","skill":"불꽃여제","chargeFactor":2,"option":{"magicPower":6}},"2591082":{"name":"강인한 시그너스의 소울","skill":"불꽃여제","chargeFactor":2,"option":{"maxHp":960}},"2591085":{"name":"위대한 발록의 소울","skill":"지옥불 재채기","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPower":5},"magicPower":{"magicPower":5},"allStat":{"str":10,"dex":10,"int":10,"luk":10},"maxHp":{"maxHp":1000},"criticalRate":{"criticalRate":5},"bossDamage":{"bossDamage":3},"ignoreMonsterArmor":{"ignoreMonsterArmor":3}}},"2591086":{"name":"위대한 반 레온의 소울","skill":"야옹이 권법 : 크로스 따귀 어택","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPower":7},"magicPower":{"magicPower":7},"allStat":{"str":15,"dex":15,"int":15,"luk":15},"maxHp":{"maxHp":1200},"criticalRate":{"criticalRate":7},"bossDamage":{"bossDamage":4},"ignoreMonsterArmor":{"ignoreMonsterArmor":4}}},"2591087":{"name":"위대한 핑크빈의 소울","skill":"치명적인 귀여움","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPower":10},"magicPower":{"magicPower":10},"allStat":{"str":20,"dex":20,"int":20,"luk":20},"maxHp":{"maxHp":1500},"criticalRate":{"criticalRate":10},"bossDamage":{"bossDamage":5},"ignoreMonsterArmor":{"ignoreMonsterArmor":5}}},"2591088":{"name":"위대한 시그너스의 소울","skill":"폭풍여제","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPowerRate":3},"magicPower":{"magicPowerRate":3},"allStat":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5},"maxHp":{"maxHp":2000},"criticalRate":{"criticalRate":12},"bossDamage":{"bossDamage":7},"ignoreMonsterArmor":{"ignoreMonsterArmor":7}}},"2591148":{"name":"기운찬 크세르크세스의 소울","skill":"특공 염소 어택","chargeFactor":1,"option":{"str":3}},"2591149":{"name":"날렵한 크세르크세스의 소울","skill":"특공 염소 어택","chargeFactor":1,"option":{"dex":3}},"2591150":{"name":"총명한 크세르크세스의 소울","skill":"특공 염소 어택","chargeFactor":1,"option":{"int":3}},"2591151":{"name":"놀라운 크세르크세스의 소울","skill":"특공 염소 어택","chargeFactor":1,"option":{"luk":3}},"2591152":{"name":"강인한 크세르크세스의 소울","skill":"특공 염소 어택","chargeFactor":1,"option":{"maxHp":150}},"2591153":{"name":"풍부한 크세르크세스의 소울","skill":"특공 염소 어택","chargeFactor":1,"option":{"maxMp":150}},"2591154":{"name":"화려한 크세르크세스의 소울","skill":"특공 염소 어택","chargeFactor":1,"option":{"str":2,"dex":2,"int":2,"luk":2}},"2591155":{"name":"기운찬 자쿰의 소울","skill":"뜨거운 토템 투하","chargeFactor":2,"option":{"str":12}},"2591156":{"name":"날렵한 자쿰의 소울","skill":"뜨거운 토템 투하","chargeFactor":2,"option":{"dex":12}},"2591157":{"name":"총명한 자쿰의 소울","skill":"뜨거운 토템 투하","chargeFactor":2,"option":{"int":12}},"2591158":{"name":"놀라운 자쿰의 소울","skill":"뜨거운 토템 투하","chargeFactor":2,"option":{"luk":12}},"2591159":{"name":"화려한 자쿰의 소울","skill":"뜨거운 토템 투하","chargeFactor":2,"option":{"str":8,"dex":8,"int":8,"luk":8}},"2591160":{"name":"강력한 자쿰의 소울","skill":"뜨거운 토템 투하","chargeFactor":2,"option":{"attackPower":3}},"2591161":{"name":"빛나는 자쿰의 소울","skill":"뜨거운 토템 투하","chargeFactor":2,"option":{"magicPower":3}},"2591162":{"name":"강인한 자쿰의 소울","skill":"뜨거운 토템 투하","chargeFactor":2,"option":{"maxHp":500}},"2591163":{"name":"위대한 자쿰의 소울","skill":"화끈한 토템 투하","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPower":6},"magicPower":{"magicPower":6},"allStat":{"str":12,"dex":12,"int":12,"luk":12},"maxHp":{"maxHp":1100},"criticalRate":{"criticalRate":6},"bossDamage":{"bossDamage":3},"ignoreMonsterArmor":{"ignoreMonsterArmor":3}}},"2591187":{"name":"기운찬 에피네아의 소울","skill":"여왕의 향기는 나빌레라","chargeFactor":1,"option":{"str":4}},"2591188":{"name":"날렵한 에피네아의 소울","skill":"여왕의 향기는 나빌레라","chargeFactor":1,"option":{"dex":4}},"2591189":{"name":"총명한 에피네아의 소울","skill":"여왕의 향기는 나빌레라","chargeFactor":1,"option":{"int":4}},"2591190":{"name":"놀라운 에피네아의 소울","skill":"여왕의 향기는 나빌레라","chargeFactor":1,"option":{"luk":4}},"2591191":{"name":"강인한 에피네아의 소울","skill":"여왕의 향기는 나빌레라","chargeFactor":1,"option":{"maxHp":180}},"2591192":{"name":"풍부한 에피네아의 소울","skill":"여왕의 향기는 나빌레라","chargeFactor":1,"option":{"maxMp":180}},"2591193":{"name":"화려한 에피네아의 소울","skill":"여왕의 향기는 나빌레라","chargeFactor":1,"option":{"str":2,"dex":2,"int":2,"luk":2}},"2591194":{"name":"기운찬 아카이럼의 소울","skill":"스네이크 사우론","chargeFactor":2,"option":{"str":18}},"2591195":{"name":"날렵한 아카이럼의 소울","skill":"스네이크 사우론","chargeFactor":2,"option":{"dex":18}},"2591196":{"name":"총명한 아카이럼의 소울","skill":"스네이크 사우론","chargeFactor":2,"option":{"int":18}},"2591197":{"name":"놀라운 아카이럼의 소울","skill":"스네이크 사우론","chargeFactor":2,"option":{"luk":18}},"2591198":{"name":"화려한 아카이럼의 소울","skill":"스네이크 사우론","chargeFactor":2,"option":{"str":10,"dex":10,"int":10,"luk":10}},"2591199":{"name":"강력한 아카이럼의 소울","skill":"스네이크 사우론","chargeFactor":2,"option":{"attackPower":4}},"2591200":{"name":"빛나는 아카이럼의 소울","skill":"스네이크 사우론","chargeFactor":2,"option":{"magicPower":4}},"2591201":{"name":"강인한 아카이럼의 소울","skill":"스네이크 사우론","chargeFactor":2,"option":{"maxHp":700}},"2591202":{"name":"위대한 아카이럼의 소울","skill":"메두사카이럼","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPower":8},"magicPower":{"magicPower":8},"allStat":{"str":17,"dex":17,"int":17,"luk":17},"maxHp":{"maxHp":1300},"criticalRate":{"criticalRate":8},"bossDamage":{"bossDamage":4},"ignoreMonsterArmor":{"ignoreMonsterArmor":4}}},"2591218":{"name":"기운찬 피아누스의 소울","skill":"공포의 마빡생선","chargeFactor":1,"option":{"str":7}},"2591219":{"name":"날렵한 피아누스의 소울","skill":"공포의 마빡생선","chargeFactor":1,"option":{"dex":7}},"2591220":{"name":"총명한 피아누스의 소울","skill":"공포의 마빡생선","chargeFactor":1,"option":{"int":7}},"2591221":{"name":"놀라운 피아누스의 소울","skill":"공포의 마빡생선","chargeFactor":1,"option":{"luk":7}},"2591222":{"name":"강인한 피아누스의 소울","skill":"공포의 마빡생선","chargeFactor":1,"option":{"maxHp":300}},"2591223":{"name":"풍부한 피아누스의 소울","skill":"공포의 마빡생선","chargeFactor":1,"option":{"maxMp":300}},"2591224":{"name":"화려한 피아누스의 소울","skill":"공포의 마빡생선","chargeFactor":1,"option":{"str":5,"dex":5,"int":5,"luk":5}},"2591225":{"name":"기운찬 힐라의 소울","skill":"마른 하늘에 번개 어택","chargeFactor":2,"option":{"str":15}},"2591226":{"name":"날렵한 힐라의 소울","skill":"마른 하늘에 번개 어택","chargeFactor":2,"option":{"dex":15}},"2591227":{"name":"총명한 힐라의 소울","skill":"마른 하늘에 번개 어택","chargeFactor":2,"option":{"int":15}},"2591228":{"name":"놀라운 힐라의 소울","skill":"마른 하늘에 번개 어택","chargeFactor":2,"option":{"luk":15}},"2591229":{"name":"화려한 힐라의 소울","skill":"마른 하늘에 번개 어택","chargeFactor":2,"option":{"str":10,"dex":10,"int":10,"luk":10}},"2591230":{"name":"강력한 힐라의 소울","skill":"마른 하늘에 번개 어택","chargeFactor":2,"option":{"attackPower":4}},"2591231":{"name":"빛나는 힐라의 소울","skill":"마른 하늘에 번개 어택","chargeFactor":2,"option":{"magicPower":4}},"2591232":{"name":"강인한 힐라의 소울","skill":"마른 하늘에 번개 어택","chargeFactor":2,"option":{"maxHp":600}},"2591233":{"name":"위대한 힐라의 소울","skill":"마른 하늘에 벼락 어택","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPower":8},"magicPower":{"magicPower":8},"allStat":{"str":17,"dex":17,"int":17,"luk":17},"maxHp":{"maxHp":1300},"criticalRate":{"criticalRate":8},"bossDamage":{"bossDamage":4},"ignoreMonsterArmor":{"ignoreMonsterArmor":4}}},"2591249":{"name":"기운찬 캡틴 블랙 슬라임의 소울","skill":"핑크빛 독안개","chargeFactor":1,"option":{"str":3}},"2591250":{"name":"날렵한 캡틴 블랙 슬라임의 소울","skill":"핑크빛 독안개","chargeFactor":1,"option":{"dex":3}},"2591251":{"name":"총명한 캡틴 블랙 슬라임의 소울","skill":"핑크빛 독안개","chargeFactor":1,"option":{"int":3}},"2591252":{"name":"놀라운 캡틴 블랙 슬라임의 소울","skill":"핑크빛 독안개","chargeFactor":1,"option":{"luk":3}},"2591253":{"name":"강인한 캡틴 블랙 슬라임의 소울","skill":"핑크빛 독안개","chargeFactor":1,"option":{"maxHp":150}},"2591254":{"name":"풍부한 캡틴 블랙 슬라임의 소울","skill":"핑크빛 독안개","chargeFactor":1,"option":{"maxMp":150}},"2591255":{"name":"화려한 캡틴 블랙 슬라임의 소울","skill":"핑크빛 독안개","chargeFactor":1,"option":{"str":2,"dex":2,"int":2,"luk":2}},"2591256":{"name":"기운찬 매그너스의 소울","skill":"진격! 그게 바로 나다","chargeFactor":2,"option":{"str":24}},"2591257":{"name":"날렵한 매그너스의 소울","skill":"진격! 그게 바로 나다","chargeFactor":2,"option":{"dex":24}},"2591258":{"name":"총명한 매그너스의 소울","skill":"진격! 그게 바로 나다","chargeFactor":2,"option":{"int":24}},"2591259":{"name":"놀라운 매그너스의 소울","skill":"진격! 그게 바로 나다","chargeFactor":2,"option":{"luk":24}},"2591260":{"name":"화려한 매그너스의 소울","skill":"진격! 그게 바로 나다","chargeFactor":2,"option":{"str":15,"dex":15,"int":15,"luk":15}},"2591261":{"name":"강력한 매그너스의 소울","skill":"진격! 그게 바로 나다","chargeFactor":2,"option":{"attackPower":6}},"2591262":{"name":"빛나는 매그너스의 소울","skill":"진격! 그게 바로 나다","chargeFactor":2,"option":{"magicPower":6}},"2591263":{"name":"강인한 매그너스의 소울","skill":"진격! 그게 바로 나다","chargeFactor":2,"option":{"maxHp":960}},"2591264":{"name":"위대한 매그너스의 소울","skill":"폭격! 그게 바로 나다","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPowerRate":3},"magicPower":{"magicPowerRate":3},"allStat":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5},"maxHp":{"maxHp":2000},"criticalRate":{"criticalRate":12},"bossDamage":{"bossDamage":7},"ignoreMonsterArmor":{"ignoreMonsterArmor":7}}},"2591297":{"name":"기운찬 모카딘의 소울","skill":"검은 기사 모카딘","chargeFactor":2,"option":{"str":20}},"2591298":{"name":"날렵한 모카딘의 소울","skill":"검은 기사 모카딘","chargeFactor":2,"option":{"dex":18}},"2591299":{"name":"총명한 모카딘의 소울","skill":"검은 기사 모카딘","chargeFactor":2,"option":{"int":18}},"2591300":{"name":"놀라운 모카딘의 소울","skill":"검은 기사 모카딘","chargeFactor":2,"option":{"luk":18}},"2591301":{"name":"화려한 모카딘의 소울","skill":"검은 기사 모카딘","chargeFactor":2,"option":{"str":10,"dex":10,"int":10,"luk":10}},"2591302":{"name":"강력한 모카딘의 소울","skill":"검은 기사 모카딘","chargeFactor":2,"option":{"attackPower":4}},"2591303":{"name":"빛나는 모카딘의 소울","skill":"검은 기사 모카딘","chargeFactor":2,"option":{"magicPower":4}},"2591304":{"name":"강인한 모카딘의 소울","skill":"검은 기사 모카딘","chargeFactor":2,"option":{"maxHp":700}},"2591305":{"name":"위대한 모카딘의 소울","skill":"어둠 기사 모카딘","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPower":10},"magicPower":{"magicPower":8},"allStat":{"str":17,"dex":17,"int":17,"luk":17},"maxHp":{"maxHp":1300},"criticalRate":{"criticalRate":8},"bossDamage":{"bossDamage":4},"ignoreMonsterArmor":{"ignoreMonsterArmor":4}}},"2591306":{"name":"기운찬 카리아인의 소울","skill":"미친 마법사 카리아인","chargeFactor":2,"option":{"str":18}},"2591307":{"name":"날렵한 카리아인의 소울","skill":"미친 마법사 카리아인","chargeFactor":2,"option":{"dex":18}},"2591308":{"name":"총명한 카리아인의 소울","skill":"미친 마법사 카리아인","chargeFactor":2,"option":{"int":20}},"2591309":{"name":"놀라운 카리아인의 소울","skill":"미친 마법사 카리아인","chargeFactor":2,"option":{"luk":18}},"2591310":{"name":"화려한 카리아인의 소울","skill":"미친 마법사 카리아인","chargeFactor":2,"option":{"str":10,"dex":10,"int":10,"luk":10}},"2591311":{"name":"강력한 카리아인의 소울","skill":"미친 마법사 카리아인","chargeFactor":2,"option":{"attackPower":4}},"2591312":{"name":"빛나는 카리아인의 소울","skill":"미친 마법사 카리아인","chargeFactor":2,"option":{"magicPower":4}},"2591313":{"name":"강인한 카리아인의 소울","skill":"미친 마법사 카리아인","chargeFactor":2,"option":{"maxHp":700}},"2591314":{"name":"위대한 카리아인의 소울","skill":"폭주 마법사 카리아인","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPower":8},"magicPower":{"magicPower":10},"allStat":{"str":17,"dex":17,"int":17,"luk":17},"maxHp":{"maxHp":1300},"criticalRate":{"criticalRate":8},"bossDamage":{"bossDamage":4},"ignoreMonsterArmor":{"ignoreMonsterArmor":4}}},"2591315":{"name":"기운찬 CQ57의 소울","skill":"돌격형 CQ57","chargeFactor":2,"option":{"str":18}},"2591316":{"name":"날렵한 CQ57의 소울","skill":"돌격형 CQ57","chargeFactor":2,"option":{"dex":18}},"2591317":{"name":"총명한 CQ57의 소울","skill":"돌격형 CQ57","chargeFactor":2,"option":{"int":18}},"2591318":{"name":"놀라운 CQ57의 소울","skill":"돌격형 CQ57","chargeFactor":2,"option":{"luk":20}},"2591319":{"name":"화려한 CQ57의 소울","skill":"돌격형 CQ57","chargeFactor":2,"option":{"str":10,"dex":10,"int":10,"luk":10}},"2591320":{"name":"강력한 CQ57의 소울","skill":"돌격형 CQ57","chargeFactor":2,"option":{"attackPower":4}},"2591321":{"name":"빛나는 CQ57의 소울","skill":"돌격형 CQ57","chargeFactor":2,"option":{"magicPower":4}},"2591322":{"name":"강인한 CQ57의 소울","skill":"돌격형 CQ57","chargeFactor":2,"option":{"maxHp":700}},"2591323":{"name":"위대한 CQ57의 소울","skill":"상급 돌격형 CQ57","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPower":8},"magicPower":{"magicPower":8},"allStat":{"str":17,"dex":17,"int":17,"luk":17},"maxHp":{"maxHp":1300},"criticalRate":{"criticalRate":10},"bossDamage":{"bossDamage":4},"ignoreMonsterArmor":{"ignoreMonsterArmor":4}}},"2591324":{"name":"기운찬 줄라이의 소울","skill":"인간 사냥꾼 줄라이","chargeFactor":2,"option":{"str":18}},"2591325":{"name":"날렵한 줄라이의 소울","skill":"인간 사냥꾼 줄라이","chargeFactor":2,"option":{"dex":20}},"2591326":{"name":"총명한 줄라이의 소울","skill":"인간 사냥꾼 줄라이","chargeFactor":2,"option":{"int":18}},"2591327":{"name":"놀라운 줄라이의 소울","skill":"인간 사냥꾼 줄라이","chargeFactor":2,"option":{"luk":18}},"2591328":{"name":"화려한 줄라이의 소울","skill":"인간 사냥꾼 줄라이","chargeFactor":2,"option":{"str":10,"dex":10,"int":10,"luk":10}},"2591329":{"name":"강력한 줄라이의 소울","skill":"인간 사냥꾼 줄라이","chargeFactor":2,"option":{"attackPower":4}},"2591330":{"name":"빛나는 줄라이의 소울","skill":"인간 사냥꾼 줄라이","chargeFactor":2,"option":{"magicPower":4}},"2591331":{"name":"강인한 줄라이의 소울","skill":"인간 사냥꾼 줄라이","chargeFactor":2,"option":{"maxHp":700}},"2591332":{"name":"위대한 줄라이의 소울","skill":"피의 사냥꾼 줄라이","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPower":8},"magicPower":{"magicPower":8},"allStat":{"str":17,"dex":17,"int":17,"luk":17},"maxHp":{"maxHp":1500},"criticalRate":{"criticalRate":8},"bossDamage":{"bossDamage":4},"ignoreMonsterArmor":{"ignoreMonsterArmor":4}}},"2591333":{"name":"기운찬 플레드의 소울","skill":"싸움꾼 플레드","chargeFactor":2,"option":{"str":18}},"2591334":{"name":"날렵한 플레드의 소울","skill":"싸움꾼 플레드","chargeFactor":2,"option":{"dex":18}},"2591335":{"name":"총명한 플레드의 소울","skill":"싸움꾼 플레드","chargeFactor":2,"option":{"int":18}},"2591336":{"name":"놀라운 플레드의 소울","skill":"싸움꾼 플레드","chargeFactor":2,"option":{"luk":18}},"2591337":{"name":"화려한 플레드의 소울","skill":"싸움꾼 플레드","chargeFactor":2,"option":{"str":12,"dex":12,"int":12,"luk":12}},"2591338":{"name":"강력한 플레드의 소울","skill":"싸움꾼 플레드","chargeFactor":2,"option":{"attackPower":4}},"2591339":{"name":"빛나는 플레드의 소울","skill":"싸움꾼 플레드","chargeFactor":2,"option":{"magicPower":4}},"2591340":{"name":"강인한 플레드의 소울","skill":"싸움꾼 플레드","chargeFactor":2,"option":{"maxHp":700}},"2591341":{"name":"위대한 플레드의 소울","skill":"거친 싸움꾼 플레드","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPower":8},"magicPower":{"magicPower":8},"allStat":{"str":20,"dex":20,"int":20,"luk":20},"maxHp":{"maxHp":1300},"criticalRate":{"criticalRate":8},"bossDamage":{"bossDamage":4},"ignoreMonsterArmor":{"ignoreMonsterArmor":4}}},"2591383":{"name":"기운찬 피에르의 소울","skill":"피에르의 모자선물","chargeFactor":2,"option":{"str":20}},"2591384":{"name":"날렵한 피에르의 소울","skill":"피에르의 모자선물","chargeFactor":2,"option":{"dex":20}},"2591385":{"name":"총명한 피에르의 소울","skill":"피에르의 모자선물","chargeFactor":2,"option":{"int":20}},"2591386":{"name":"놀라운 피에르의 소울","skill":"피에르의 모자선물","chargeFactor":2,"option":{"luk":20}},"2591387":{"name":"화려한 피에르의 소울","skill":"피에르의 모자선물","chargeFactor":2,"option":{"str":12,"dex":12,"int":12,"luk":12}},"2591388":{"name":"강력한 피에르의 소울","skill":"피에르의 모자선물","chargeFactor":2,"option":{"attackPower":5}},"2591389":{"name":"빛나는 피에르의 소울","skill":"피에르의 모자선물","chargeFactor":2,"option":{"magicPower":5}},"2591390":{"name":"강인한 피에르의 소울","skill":"피에르의 모자선물","chargeFactor":2,"option":{"maxHp":800}},"2591391":{"name":"위대한 피에르의 소울","skill":"깜짝 피에르!","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPower":10},"magicPower":{"magicPower":10},"allStat":{"str":20,"dex":20,"int":20,"luk":20},"maxHp":{"maxHp":1500},"criticalRate":{"criticalRate":10},"bossDamage":{"bossDamage":5},"ignoreMonsterArmor":{"ignoreMonsterArmor":5}}},"2591392":{"name":"기운찬 반반의 소울","skill":"불닭의 따끔한 맛","chargeFactor":2,"option":{"str":20}},"2591393":{"name":"날렵한 반반의 소울","skill":"불닭의 따끔한 맛","chargeFactor":2,"option":{"dex":20}},"2591394":{"name":"총명한 반반의 소울","skill":"불닭의 따끔한 맛","chargeFactor":2,"option":{"int":20}},"2591395":{"name":"놀라운 반반의 소울","skill":"불닭의 따끔한 맛","chargeFactor":2,"option":{"luk":20}},"2591396":{"name":"화려한 반반의 소울","skill":"불닭의 따끔한 맛","chargeFactor":2,"option":{"str":12,"dex":12,"int":12,"luk":12}},"2591397":{"name":"강력한 반반의 소울","skill":"불닭의 따끔한 맛","chargeFactor":2,"option":{"attackPower":5}},"2591398":{"name":"빛나는 반반의 소울","skill":"불닭의 따끔한 맛","chargeFactor":2,"option":{"magicPower":5}},"2591399":{"name":"강인한 반반의 소울","skill":"불닭의 따끔한 맛","chargeFactor":2,"option":{"maxHp":800}},"2591400":{"name":"위대한 반반의 소울","skill":"치킨 날다!","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPower":10},"magicPower":{"magicPower":10},"allStat":{"str":20,"dex":20,"int":20,"luk":20},"maxHp":{"maxHp":1500},"criticalRate":{"criticalRate":10},"bossDamage":{"bossDamage":5},"ignoreMonsterArmor":{"ignoreMonsterArmor":5}}},"2591401":{"name":"기운찬 블러디퀸의 소울","skill":"여왕의 마음은 갈대","chargeFactor":2,"option":{"str":24}},"2591402":{"name":"날렵한 블러디퀸의 소울","skill":"여왕의 마음은 갈대","chargeFactor":2,"option":{"dex":24}},"2591403":{"name":"총명한 블러디퀸의 소울","skill":"여왕의 마음은 갈대","chargeFactor":2,"option":{"int":24}},"2591404":{"name":"놀라운 블러디퀸의 소울","skill":"여왕의 마음은 갈대","chargeFactor":2,"option":{"luk":24}},"2591405":{"name":"화려한 블러디퀸의 소울","skill":"여왕의 마음은 갈대","chargeFactor":2,"option":{"str":15,"dex":15,"int":15,"luk":15}},"2591406":{"name":"강력한 블러디퀸의 소울","skill":"여왕의 마음은 갈대","chargeFactor":2,"option":{"attackPower":6}},"2591407":{"name":"빛나는 블러디퀸의 소울","skill":"여왕의 마음은 갈대","chargeFactor":2,"option":{"magicPower":6}},"2591408":{"name":"강인한 블러디퀸의 소울","skill":"여왕의 마음은 갈대","chargeFactor":2,"option":{"maxHp":960}},"2591409":{"name":"위대한 블러디퀸의 소울","skill":"여왕님이 함께 하셔!","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPowerRate":3},"magicPower":{"magicPowerRate":3},"allStat":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5},"maxHp":{"maxHp":2000},"criticalRate":{"criticalRate":12},"bossDamage":{"bossDamage":7},"ignoreMonsterArmor":{"ignoreMonsterArmor":7}}},"2591410":{"name":"기운찬 벨룸의 소울","skill":"기가 벨룸 레이저","chargeFactor":2,"option":{"str":24}},"2591411":{"name":"날렵한 벨룸의 소울","skill":"기가 벨룸 레이저","chargeFactor":2,"option":{"dex":24}},"2591412":{"name":"총명한 벨룸의 소울","skill":"기가 벨룸 레이저","chargeFactor":2,"option":{"int":24}},"2591413":{"name":"놀라운 벨룸의 소울","skill":"기가 벨룸 레이저","chargeFactor":2,"option":{"luk":24}},"2591414":{"name":"화려한 벨룸의 소울","skill":"기가 벨룸 레이저","chargeFactor":2,"option":{"str":15,"dex":15,"int":15,"luk":15}},"2591415":{"name":"강력한 벨룸의 소울","skill":"기가 벨룸 레이저","chargeFactor":2,"option":{"attackPower":6}},"2591416":{"name":"빛나는 벨룸의 소울","skill":"기가 벨룸 레이저","chargeFactor":2,"option":{"magicPower":6}},"2591417":{"name":"강인한 벨룸의 소울","skill":"기가 벨룸 레이저","chargeFactor":2,"option":{"maxHp":960}},"2591418":{"name":"위대한 벨룸의 소울","skill":"주니어 벨룸 소환!","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPowerRate":3},"magicPower":{"magicPowerRate":3},"allStat":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5},"maxHp":{"maxHp":2000},"criticalRate":{"criticalRate":12},"bossDamage":{"bossDamage":7},"ignoreMonsterArmor":{"ignoreMonsterArmor":7}}},"2591419":{"name":"기운찬 스우의 소울","skill":"때렸스우~","chargeFactor":2,"option":{"str":24}},"2591420":{"name":"날렵한 스우의 소울","skill":"때렸스우~","chargeFactor":2,"option":{"dex":24}},"2591421":{"name":"총명한 스우의 소울","skill":"때렸스우~","chargeFactor":2,"option":{"int":24}},"2591422":{"name":"놀라운 스우의 소울","skill":"때렸스우~","chargeFactor":2,"option":{"luk":24}},"2591423":{"name":"화려한 스우의 소울","skill":"때렸스우~","chargeFactor":2,"option":{"str":15,"dex":15,"int":15,"luk":15}},"2591424":{"name":"강력한 스우의 소울","skill":"때렸스우~","chargeFactor":2,"option":{"attackPower":6}},"2591425":{"name":"빛나는 스우의 소울","skill":"때렸스우~","chargeFactor":2,"option":{"magicPower":6}},"2591426":{"name":"강인한 스우의 소울","skill":"때렸스우~","chargeFactor":2,"option":{"maxHp":960}},"2591427":{"name":"위대한 스우의 소울","skill":"화났스우~","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPowerRate":3},"magicPower":{"magicPowerRate":3},"allStat":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5},"maxHp":{"maxHp":2000},"criticalRate":{"criticalRate":12},"bossDamage":{"bossDamage":7},"ignoreMonsterArmor":{"ignoreMonsterArmor":7}}},"2591517":{"name":"위대한 우르스의 소울","skill":"파왕의 거친 포효","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPower":10},"magicPower":{"magicPower":10},"allStat":{"str":20,"dex":20,"int":20,"luk":20},"maxHp":{"maxHp":1500},"criticalRate":{"criticalRate":10},"bossDamage":{"bossDamage":5},"ignoreMonsterArmor":{"ignoreMonsterArmor":5}}},"2591518":{"name":"기운찬 우르스의 소울","skill":"파왕의 포효","chargeFactor":2,"option":{"str":20}},"2591519":{"name":"날렵한 우르스의 소울","skill":"파왕의 포효","chargeFactor":2,"option":{"dex":20}},"2591520":{"name":"총명한 우르스의 소울","skill":"파왕의 포효","chargeFactor":2,"option":{"int":20}},"2591521":{"name":"놀라운 우르스의 소울","skill":"파왕의 포효","chargeFactor":2,"option":{"luk":20}},"2591522":{"name":"화려한 우르스의 소울","skill":"파왕의 포효","chargeFactor":2,"option":{"str":12,"dex":12,"int":12,"luk":12}},"2591523":{"name":"강력한 우르스의 소울","skill":"파왕의 포효","chargeFactor":2,"option":{"attackPower":5}},"2591524":{"name":"빛나는 우르스의 소울","skill":"파왕의 포효","chargeFactor":2,"option":{"magicPower":5}},"2591525":{"name":"강인한 우르스의 소울","skill":"파왕의 포효","chargeFactor":2,"option":{"maxHp":800}},"2591564":{"name":"기운찬 데미안의 소울","skill":"사냥 개시","chargeFactor":2,"option":{"str":24}},"2591565":{"name":"날렵한 데미안의 소울","skill":"사냥 개시","chargeFactor":2,"option":{"dex":24}},"2591566":{"name":"총명한 데미안의 소울","skill":"사냥 개시","chargeFactor":2,"option":{"int":24}},"2591567":{"name":"놀라운 데미안의 소울","skill":"사냥 개시","chargeFactor":2,"option":{"luk":24}},"2591568":{"name":"화려한 데미안의 소울","skill":"사냥 개시","chargeFactor":2,"option":{"str":15,"dex":15,"int":15,"luk":15}},"2591569":{"name":"강력한 데미안의 소울","skill":"사냥 개시","chargeFactor":2,"option":{"attackPower":6}},"2591570":{"name":"빛나는 데미안의 소울","skill":"사냥 개시","chargeFactor":2,"option":{"magicPower":6}},"2591571":{"name":"강인한 데미안의 소울","skill":"사냥 개시","chargeFactor":2,"option":{"maxHp":960}},"2591572":{"name":"위대한 데미안의 소울","skill":"파멸의 검","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPowerRate":3},"magicPower":{"magicPowerRate":3},"allStat":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5},"maxHp":{"maxHp":2000},"criticalRate":{"criticalRate":12},"bossDamage":{"bossDamage":7},"ignoreMonsterArmor":{"ignoreMonsterArmor":7}}},"2591582":{"name":"기운찬 루시드의 소울","skill":"악몽으로의 초대","chargeFactor":2,"option":{"str":24}},"2591583":{"name":"날렵한 루시드의 소울","skill":"악몽으로의 초대","chargeFactor":2,"option":{"dex":24}},"2591584":{"name":"총명한 루시드의 소울","skill":"악몽으로의 초대","chargeFactor":2,"option":{"int":24}},"2591585":{"name":"놀라운 루시드의 소울","skill":"악몽으로의 초대","chargeFactor":2,"option":{"luk":24}},"2591586":{"name":"화려한 루시드의 소울","skill":"악몽으로의 초대","chargeFactor":2,"option":{"str":15,"dex":15,"int":15,"luk":15}},"2591587":{"name":"강력한 루시드의 소울","skill":"악몽으로의 초대","chargeFactor":2,"option":{"attackPower":6}},"2591588":{"name":"빛나는 루시드의 소울","skill":"악몽으로의 초대","chargeFactor":2,"option":{"magicPower":6}},"2591589":{"name":"강인한 루시드의 소울","skill":"악몽으로의 초대","chargeFactor":2,"option":{"maxHp":960}},"2591590":{"name":"위대한 루시드의 소울","skill":"악몽의 지배자","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPowerRate":3},"magicPower":{"magicPowerRate":3},"allStat":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5},"maxHp":{"maxHp":2000},"criticalRate":{"criticalRate":12},"bossDamage":{"bossDamage":7},"ignoreMonsterArmor":{"ignoreMonsterArmor":7}}},"2591611":{"name":"기운찬 파풀라투스의 소울","skill":"공간의 지배자","chargeFactor":2,"option":{"str":15}},"2591612":{"name":"날렵한 파풀라투스의 소울","skill":"공간의 지배자","chargeFactor":2,"option":{"dex":15}},"2591613":{"name":"총명한 파풀라투스의 소울","skill":"공간의 지배자","chargeFactor":2,"option":{"int":15}},"2591614":{"name":"놀라운 파풀라투스의 소울","skill":"공간의 지배자","chargeFactor":2,"option":{"luk":15}},"2591615":{"name":"화려한 파풀라투스의 소울","skill":"공간의 지배자","chargeFactor":2,"option":{"str":10,"dex":10,"int":10,"luk":10}},"2591616":{"name":"강력한 파풀라투스의 소울","skill":"공간의 지배자","chargeFactor":2,"option":{"attackPower":4}},"2591617":{"name":"빛나는 파풀라투스의 소울","skill":"공간의 지배자","chargeFactor":2,"option":{"magicPower":4}},"2591618":{"name":"강인한 파풀라투스의 소울","skill":"공간의 지배자","chargeFactor":2,"option":{"maxHp":600}},"2591619":{"name":"위대한 파풀라투스의 소울","skill":"시간의 지배자","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPower":8},"magicPower":{"magicPower":8},"allStat":{"str":17,"dex":17,"int":17,"luk":17},"maxHp":{"maxHp":1300},"criticalRate":{"criticalRate":8},"bossDamage":{"bossDamage":4},"ignoreMonsterArmor":{"ignoreMonsterArmor":4}}},"2591632":{"name":"기운찬 윌의 소울","skill":"파괴의 손아귀","chargeFactor":2,"option":{"str":24}},"2591633":{"name":"날렵한 윌의 소울","skill":"파괴의 손아귀","chargeFactor":2,"option":{"dex":24}},"2591634":{"name":"총명한 윌의 소울","skill":"파괴의 손아귀","chargeFactor":2,"option":{"int":24}},"2591635":{"name":"놀라운 윌의 소울","skill":"파괴의 손아귀","chargeFactor":2,"option":{"luk":24}},"2591636":{"name":"화려한 윌의 소울","skill":"파괴의 손아귀","chargeFactor":2,"option":{"str":15,"dex":15,"int":15,"luk":15}},"2591637":{"name":"강력한 윌의 소울","skill":"파괴의 손아귀","chargeFactor":2,"option":{"attackPower":6}},"2591638":{"name":"빛나는 윌의 소울","skill":"파괴의 손아귀","chargeFactor":2,"option":{"magicPower":6}},"2591639":{"name":"강인한 윌의 소울","skill":"파괴의 손아귀","chargeFactor":2,"option":{"maxHp":960}},"2591640":{"name":"위대한 윌의 소울","skill":"거미의 왕","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPowerRate":3},"magicPower":{"magicPowerRate":3},"allStat":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5},"maxHp":{"maxHp":2000},"criticalRate":{"criticalRate":12},"bossDamage":{"bossDamage":7},"ignoreMonsterArmor":{"ignoreMonsterArmor":7}}},"2591651":{"name":"기운찬 진 힐라의 소울","skill":"영혼 찢기","chargeFactor":2,"option":{"str":24}},"2591652":{"name":"날렵한 진 힐라의 소울","skill":"영혼 찢기","chargeFactor":2,"option":{"dex":24}},"2591653":{"name":"총명한 진 힐라의 소울","skill":"영혼 찢기","chargeFactor":2,"option":{"int":24}},"2591654":{"name":"놀라운 진 힐라의 소울","skill":"영혼 찢기","chargeFactor":2,"option":{"luk":24}},"2591655":{"name":"화려한 진 힐라의 소울","skill":"영혼 찢기","chargeFactor":2,"option":{"str":15,"dex":15,"int":15,"luk":15}},"2591656":{"name":"강력한 진 힐라의 소울","skill":"영혼 찢기","chargeFactor":2,"option":{"attackPower":6}},"2591657":{"name":"빛나는 진 힐라의 소울","skill":"영혼 찢기","chargeFactor":2,"option":{"magicPower":6}},"2591658":{"name":"강인한 진 힐라의 소울","skill":"영혼 찢기","chargeFactor":2,"option":{"maxHp":960}},"2591659":{"name":"위대한 진 힐라의 소울","skill":"붉은 마녀","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPowerRate":3},"magicPower":{"magicPowerRate":3},"allStat":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5},"maxHp":{"maxHp":2000},"criticalRate":{"criticalRate":12},"bossDamage":{"bossDamage":7},"ignoreMonsterArmor":{"ignoreMonsterArmor":7}}},"2591668":{"name":"기운찬 듄켈의 소울","skill":"지면 절단","chargeFactor":2,"option":{"str":24}},"2591669":{"name":"날렵한 듄켈의 소울","skill":"지면 절단","chargeFactor":2,"option":{"dex":24}},"2591670":{"name":"총명한 듄켈의 소울","skill":"지면 절단","chargeFactor":2,"option":{"int":24}},"2591671":{"name":"놀라운 듄켈의 소울","skill":"지면 절단","chargeFactor":2,"option":{"luk":24}},"2591672":{"name":"화려한 듄켈의 소울","skill":"지면 절단","chargeFactor":2,"option":{"str":15,"dex":15,"int":15,"luk":15}},"2591673":{"name":"강력한 듄켈의 소울","skill":"지면 절단","chargeFactor":2,"option":{"attackPower":6}},"2591674":{"name":"빛나는 듄켈의 소울","skill":"지면 절단","chargeFactor":2,"option":{"magicPower":6}},"2591675":{"name":"강인한 듄켈의 소울","skill":"지면 절단","chargeFactor":2,"option":{"maxHp":960}},"2591676":{"name":"위대한 듄켈의 소울","skill":"지면 파쇄","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPowerRate":3},"magicPower":{"magicPowerRate":3},"allStat":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5},"maxHp":{"maxHp":2000},"criticalRate":{"criticalRate":12},"bossDamage":{"bossDamage":7},"ignoreMonsterArmor":{"ignoreMonsterArmor":7}}},"2591701":{"name":"기운찬 칼로스의 소울","skill":"감시자의 포효","chargeFactor":2,"option":{"str":24}},"2591702":{"name":"날렵한 칼로스의 소울","skill":"감시자의 포효","chargeFactor":2,"option":{"dex":24}},"2591703":{"name":"총명한 칼로스의 소울","skill":"감시자의 포효","chargeFactor":2,"option":{"int":24}},"2591704":{"name":"놀라운 칼로스의 소울","skill":"감시자의 포효","chargeFactor":2,"option":{"luk":24}},"2591705":{"name":"화려한 칼로스의 소울","skill":"감시자의 포효","chargeFactor":2,"option":{"str":15,"dex":15,"int":15,"luk":15}},"2591706":{"name":"강력한 칼로스의 소울","skill":"감시자의 포효","chargeFactor":2,"option":{"attackPower":6}},"2591707":{"name":"빛나는 칼로스의 소울","skill":"감시자의 포효","chargeFactor":2,"option":{"magicPower":6}},"2591708":{"name":"강인한 칼로스의 소울","skill":"감시자의 포효","chargeFactor":2,"option":{"maxHp":960}},"2591709":{"name":"위대한 칼로스의 소울","skill":"침입자 처단","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPowerRate":3},"magicPower":{"magicPowerRate":3},"allStat":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5},"maxHp":{"maxHp":2000},"criticalRate":{"criticalRate":12},"bossDamage":{"bossDamage":7},"ignoreMonsterArmor":{"ignoreMonsterArmor":7}}},"2591718":{"name":"기운찬 카링의 소울","skill":"유폐","chargeFactor":2,"option":{"str":24}},"2591719":{"name":"날렵한 카링의 소울","skill":"유폐","chargeFactor":2,"option":{"dex":24}},"2591720":{"name":"총명한 카링의 소울","skill":"유폐","chargeFactor":2,"option":{"int":24}},"2591721":{"name":"놀라운 카링의 소울","skill":"유폐","chargeFactor":2,"option":{"luk":24}},"2591722":{"name":"화려한 카링의 소울","skill":"유폐","chargeFactor":2,"option":{"str":15,"dex":15,"int":15,"luk":15}},"2591723":{"name":"강력한 카링의 소울","skill":"유폐","chargeFactor":2,"option":{"attackPower":6}},"2591724":{"name":"빛나는 카링의 소울","skill":"유폐","chargeFactor":2,"option":{"magicPower":6}},"2591725":{"name":"강인한 카링의 소울","skill":"유폐","chargeFactor":2,"option":{"maxHp":960}},"2591726":{"name":"위대한 카링의 소울","skill":"수라","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPowerRate":3},"magicPower":{"magicPowerRate":3},"allStat":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5},"maxHp":{"maxHp":2000},"criticalRate":{"criticalRate":12},"bossDamage":{"bossDamage":7},"ignoreMonsterArmor":{"ignoreMonsterArmor":7}}},"2591736":{"name":"기운찬 섬멸병기 스우의 소울","skill":"기계팔 돌진","chargeFactor":2,"option":{"str":24}},"2591737":{"name":"날렵한 섬멸병기 스우의 소울","skill":"기계팔 돌진","chargeFactor":2,"option":{"dex":24}},"2591738":{"name":"총명한 섬멸병기 스우의 소울","skill":"기계팔 돌진","chargeFactor":2,"option":{"int":24}},"2591739":{"name":"놀라운 섬멸병기 스우의 소울","skill":"기계팔 돌진","chargeFactor":2,"option":{"luk":24}},"2591740":{"name":"화려한 섬멸병기 스우의 소울","skill":"기계팔 돌진","chargeFactor":2,"option":{"str":15,"dex":15,"int":15,"luk":15}},"2591741":{"name":"강력한 섬멸병기 스우의 소울","skill":"기계팔 돌진","chargeFactor":2,"option":{"attackPower":6}},"2591742":{"name":"빛나는 섬멸병기 스우의 소울","skill":"기계팔 돌진","chargeFactor":2,"option":{"magicPower":6}},"2591743":{"name":"강인한 섬멸병기 스우의 소울","skill":"기계팔 돌진","chargeFactor":2,"option":{"maxHp":960}},"2591744":{"name":"위대한 섬멸병기 스우의 소울","skill":"어둠의 기운","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPowerRate":3},"magicPower":{"magicPowerRate":3},"allStat":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5},"maxHp":{"maxHp":2000},"criticalRate":{"criticalRate":12},"bossDamage":{"bossDamage":7},"ignoreMonsterArmor":{"ignoreMonsterArmor":7}}},"2591754":{"name":"기운찬 림보의 소울","skill":"솟구치는 그림자","chargeFactor":2,"option":{"str":24}},"2591755":{"name":"날렵한 림보의 소울","skill":"솟구치는 그림자","chargeFactor":2,"option":{"dex":24}},"2591756":{"name":"총명한 림보의 소울","skill":"솟구치는 그림자","chargeFactor":2,"option":{"int":24}},"2591757":{"name":"놀라운 림보의 소울","skill":"솟구치는 그림자","chargeFactor":2,"option":{"luk":24}},"2591758":{"name":"화려한 림보의 소울","skill":"솟구치는 그림자","chargeFactor":2,"option":{"str":15,"dex":15,"int":15,"luk":15}},"2591759":{"name":"강력한 림보의 소울","skill":"솟구치는 그림자","chargeFactor":2,"option":{"attackPower":6}},"2591760":{"name":"빛나는 림보의 소울","skill":"솟구치는 그림자","chargeFactor":2,"option":{"magicPower":6}},"2591761":{"name":"강인한 림보의 소울","skill":"솟구치는 그림자","chargeFactor":2,"option":{"maxHp":960}},"2591762":{"name":"위대한 림보의 소울","skill":"근원의 림보","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPowerRate":3},"magicPower":{"magicPowerRate":3},"allStat":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5},"maxHp":{"maxHp":2000},"criticalRate":{"criticalRate":12},"bossDamage":{"bossDamage":7},"ignoreMonsterArmor":{"ignoreMonsterArmor":7}}},"2591771":{"name":"기운찬 발드릭스의 소울","skill":"굳건한 의지","chargeFactor":2,"option":{"str":24}},"2591772":{"name":"날렵한 발드릭스의 소울","skill":"굳건한 의지","chargeFactor":2,"option":{"dex":24}},"2591773":{"name":"총명한 발드릭스의 소울","skill":"굳건한 의지","chargeFactor":2,"option":{"int":24}},"2591774":{"name":"놀라운 발드릭스의 소울","skill":"굳건한 의지","chargeFactor":2,"option":{"luk":24}},"2591775":{"name":"화려한 발드릭스의 소울","skill":"굳건한 의지","chargeFactor":2,"option":{"str":15,"dex":15,"int":15,"luk":15}},"2591776":{"name":"강력한 발드릭스의 소울","skill":"굳건한 의지","chargeFactor":2,"option":{"attackPower":6}},"2591777":{"name":"빛나는 발드릭스의 소울","skill":"굳건한 의지","chargeFactor":2,"option":{"magicPower":6}},"2591778":{"name":"강인한 발드릭스의 소울","skill":"굳건한 의지","chargeFactor":2,"option":{"maxHp":960}},"2591779":{"name":"위대한 발드릭스의 소울","skill":"맹세의 일격","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPowerRate":3},"magicPower":{"magicPowerRate":3},"allStat":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5},"maxHp":{"maxHp":2000},"criticalRate":{"criticalRate":12},"bossDamage":{"bossDamage":7},"ignoreMonsterArmor":{"ignoreMonsterArmor":7}}},"2591818":{"name":"기운찬 최초의 대적자의 소울","skill":"대검의 소나기","chargeFactor":2,"option":{"str":24}},"2591819":{"name":"날렵한 최초의 대적자의 소울","skill":"대검의 소나기","chargeFactor":2,"option":{"dex":24}},"2591820":{"name":"총명한 최초의 대적자의 소울","skill":"대검의 소나기","chargeFactor":2,"option":{"int":24}},"2591821":{"name":"놀라운 최초의 대적자의 소울","skill":"대검의 소나기","chargeFactor":2,"option":{"luk":24}},"2591822":{"name":"화려한 최초의 대적자의 소울","skill":"대검의 소나기","chargeFactor":2,"option":{"str":15,"dex":15,"int":15,"luk":15}},"2591823":{"name":"강력한 최초의 대적자의 소울","skill":"대검의 소나기","chargeFactor":2,"option":{"attackPower":6}},"2591824":{"name":"빛나는 최초의 대적자의 소울","skill":"대검의 소나기","chargeFactor":2,"option":{"magicPower":6}},"2591825":{"name":"강인한 최초의 대적자의 소울","skill":"대검의 소나기","chargeFactor":2,"option":{"maxHp":960}},"2591826":{"name":"위대한 최초의 대적자의 소울","skill":"화살 폭우","chargeFactor":2,"magnificent":true,"options":{"attackPower":{"attackPowerRate":3},"magicPower":{"magicPowerRate":3},"allStat":{"strRate":5,"dexRate":5,"intRate":5,"lukRate":5},"maxHp":{"maxHp":2000},"criticalRate":{"criticalRate":12},"bossDamage":{"bossDamage":7},"ignoreMonsterArmor":{"ignoreMonsterArmor":7}}}} \ No newline at end of file diff --git a/src/lib/features/gear-enchant-ui/tabs/soul-weapon/model/soul.ts b/src/lib/features/gear-enchant-ui/tabs/soul-weapon/model/soul.ts new file mode 100644 index 0000000..300a450 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/soul-weapon/model/soul.ts @@ -0,0 +1,69 @@ +import type { SoulData, SoulOption } from '@malib/gear'; +import soulData from './soul-data.json'; +import { getGearOptionGroupedStrings } from '$lib/utils'; + +const souls: Record = soulData; + +export type MagnificentOptionType = + | 'attackPower' + | 'magicPower' + | 'allStat' + | 'maxHp' + | 'criticalRate' + | 'bossDamage' + | 'ignoreMonsterArmor'; + +interface SoulRawData { + name: string; + skill: string; + chargeFactor?: number; + magnificent?: boolean; + option?: Partial; + options?: Record>; +} + +export interface SoulSummary { + id: number; + name: string; + magnificent?: boolean; +} + +export function getSoulSummaries(): SoulSummary[] { + return Object.entries(souls).map(([id, data]) => ({ + id: Number(id), + name: data.name, + magnificent: data.magnificent + })); +} + +export function getNormalSoulData(id: number): SoulData { + const data = souls[id]; + if (!data) throw new Error('잘못된 소울 ID입니다.'); + if (data.magnificent) throw new Error('일반 소울이 아닙니다.'); + + return { + name: data.name, + skill: data.skill, + chargeFactor: data.chargeFactor as 1 | 2 | undefined, + option: data.option! + }; +} + +export function getMagnificentSoulDatas(id: number): SoulData[] { + const data = souls[id]; + if (!data) throw new Error('잘못된 소울 ID입니다.'); + if (!data.magnificent) throw new Error('위대한 소울이 아닙니다.'); + + return Object.entries(data.options!).map(([, option]) => ({ + name: data.name, + skill: data.skill, + chargeFactor: data.chargeFactor as 1 | 2 | undefined, + option: { + ...option + } + })); +} + +export function getSoulOptionString(option: Partial): string { + return getGearOptionGroupedStrings(option)[0].join(' '); +} diff --git a/src/lib/features/gear-enchant-ui/tabs/starforce/GearStarforceUI.svelte b/src/lib/features/gear-enchant-ui/tabs/starforce/GearStarforceUI.svelte new file mode 100644 index 0000000..b5de4c9 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/starforce/GearStarforceUI.svelte @@ -0,0 +1,65 @@ + + +
+
+ + + +
+ + + {#if showStarScrollTab(gear)} + + 스타포스 + 놀장강 + + {/if} + + + + + + + + + + + + + +
diff --git a/src/lib/features/gear-enchant-ui/tabs/starforce/components/StarDisplay.svelte b/src/lib/features/gear-enchant-ui/tabs/starforce/components/StarDisplay.svelte new file mode 100644 index 0000000..192d9d6 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/starforce/components/StarDisplay.svelte @@ -0,0 +1,61 @@ + + +{#if lines} +
+ {#each lines as line} +
+ {#each line as group} +
+ {#each group as isFilled} + {@render starIcon(color, !isFilled)} + {/each} +
+ {/each} +
+ {/each} +
+{/if} + +{#snippet starIcon(color: 'yellow' | 'blue', isEmpty: boolean)} + {#if isEmpty} + + {:else if color === 'yellow'} + + {:else} + + {/if} +{/snippet} diff --git a/src/lib/features/gear-enchant-ui/tabs/starforce/model/star.ts b/src/lib/features/gear-enchant-ui/tabs/starforce/model/star.ts new file mode 100644 index 0000000..dc2f000 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/starforce/model/star.ts @@ -0,0 +1,8 @@ +import { GearCapability, type Gear } from '@malib/gear'; + +export function getDisplayMaxStar(gear: Gear) { + if (gear.attributes.canStarforce === GearCapability.Fixed) { + return gear.star; + } + return gear.maxStar; +} diff --git a/src/lib/features/gear-enchant-ui/tabs/starforce/model/starScroll.ts b/src/lib/features/gear-enchant-ui/tabs/starforce/model/starScroll.ts new file mode 100644 index 0000000..bf8c0da --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/starforce/model/starScroll.ts @@ -0,0 +1,57 @@ +import type { Gear } from '@malib/gear'; + +export function showStarScrollTab(gear: Gear) { + return gear.req.level <= 150 && !gear.attributes.superior; +} + +export function showStarScrollIgnoreMaxStar(gear: Gear) { + return gear.req.level + gear.req.levelIncrease < 120; +} + +export function canAddStarScroll(gear: Gear, star: number, ignoreMaxStar: boolean) { + if (ignoreMaxStar) { + return gear.canApplyStarScrollIgnoringMaxStar && star <= 15; + } else { + return gear.canApplyStarScroll && star <= gear.maxStar && star <= 15; + } +} + +export function addStarScroll(gear: Gear, star: number, bonus: boolean, ignoreMaxStar: boolean) { + for (let i = 0; i < star; i++) { + if (ignoreMaxStar) { + if (gear.canApplyStarScrollIgnoringMaxStar) { + gear.applyStarScrollIgnoringMaxStar(bonus); + } + } else { + if (gear.canApplyStarScroll) { + gear.applyStarScroll(bonus); + } + } + } +} + +export function canSetStarScroll(gear: Gear, star: number, ignoreMaxStar: boolean) { + if (gear.star > 0) return false; + if (ignoreMaxStar) { + return gear.canResetStarforce && star <= 15; + } else { + return gear.canResetStarforce && star <= gear.maxStar && star <= 15; + } +} + +export function setStarScroll(gear: Gear, star: number, bonus: boolean, ignoreMaxStar: boolean) { + gear.resetStarforce(); + if (ignoreMaxStar) { + for (let i = 0; i < star; i++) { + if (gear.canApplyStarScrollIgnoringMaxStar) { + gear.applyStarScrollIgnoringMaxStar(bonus); + } + } + } else { + for (let i = 0; i < star; i++) { + if (gear.canApplyStarScroll) { + gear.applyStarScroll(bonus); + } + } + } +} diff --git a/src/lib/features/gear-enchant-ui/tabs/starforce/model/starforce.ts b/src/lib/features/gear-enchant-ui/tabs/starforce/model/starforce.ts new file mode 100644 index 0000000..d6898a1 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/starforce/model/starforce.ts @@ -0,0 +1,58 @@ +import type { Gear } from '@malib/gear'; + +export function showStarforceIgnoreMaxStar(gear: Gear) { + return gear.req.level + gear.req.levelIncrease < 140; +} + +export function canAddStarforce(gear: Gear, star: number, ignoreMaxStar: boolean) { + if (ignoreMaxStar) { + return gear.canApplyStarforceIgnoringMaxStar && gear.star + star <= 30; + } else { + return gear.canApplyStarforce && gear.star + star <= gear.maxStar; + } +} + +export function addStarforce(gear: Gear, star: number, ignoreMaxStar: boolean) { + for (let i = 0; i < star; i++) { + if (ignoreMaxStar) { + if (gear.canApplyStarforceIgnoringMaxStar) { + gear.applyStarforceIgnoringMaxStar(); + } + } else { + if (gear.canApplyStarforce) { + gear.applyStarforce(); + } + } + } +} + +export function canRemoveStarforce(gear: Gear, star: number) { + return !gear.starScroll && gear.canResetStarforce && gear.star - star >= 0; +} + +export function removeStarforce(gear: Gear, star: number, ignoreMaxStar: boolean) { + const targetStar = gear.star - star; + gear.resetStarforce(); + for (let i = 0; i < targetStar; i++) { + if (ignoreMaxStar) { + if (gear.canApplyStarforceIgnoringMaxStar) { + gear.applyStarforceIgnoringMaxStar(); + } + } else { + if (gear.canApplyStarforce) { + gear.applyStarforce(); + } + } + } +} + +export function canSetStarforce(gear: Gear, star: number) { + return !gear.starScroll && gear.canResetStarforce && star <= gear.maxStar; +} + +export function setStarforce(gear: Gear, star: number) { + gear.resetStarforce(); + for (let i = 0; i < star; i++) { + gear.applyStarforce(); + } +} diff --git a/src/lib/features/gear-enchant-ui/tabs/starforce/tabs/StarScrollTab.svelte b/src/lib/features/gear-enchant-ui/tabs/starforce/tabs/StarScrollTab.svelte new file mode 100644 index 0000000..5a9bb2b --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/starforce/tabs/StarScrollTab.svelte @@ -0,0 +1,72 @@ + + +
+ {#if showStarScrollIgnoreMaxStar(gear)} +
+ + +
+ {/if} + +
+

놀라운 장비 강화

+
+ + +
+
+ {#each [1, 5] as star} + + {/each} +
+
+
+

일괄 강화

+
+ + +
+
+ {#each [12] as star} + + {/each} +
+
+
diff --git a/src/lib/features/gear-enchant-ui/tabs/starforce/tabs/StarforceTab.svelte b/src/lib/features/gear-enchant-ui/tabs/starforce/tabs/StarforceTab.svelte new file mode 100644 index 0000000..f6aabc9 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/starforce/tabs/StarforceTab.svelte @@ -0,0 +1,75 @@ + + +
+ {#if showStarforceIgnoreMaxStar(gear)} +
+ + +
+ {/if} + +
+

스타포스 강화

+ + {#each [5, 1] as star} + + {/each} + {#each [1, 5] as star} + + {/each} + +
+ +
+

일괄 강화

+ + {#each [17, 18, 22] as star} + + {/each} + +
+
diff --git a/src/lib/features/gear-enchant-ui/tabs/tabs.ts b/src/lib/features/gear-enchant-ui/tabs/tabs.ts new file mode 100644 index 0000000..99c1ad4 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/tabs.ts @@ -0,0 +1,55 @@ +import type { Gear } from '@malib/gear'; + +export type GearEnchantTab = { + label: string; + value: string; + disabled?: (gear: Gear) => boolean; +}; + +export const tabs: GearEnchantTab[] = [ + { + label: '관리', + value: 'default', + disabled: undefined + }, + { + label: '속성', + value: 'props', + disabled: undefined + }, + { + label: '스타포스', + value: 'starforce', + disabled: (gear: Gear) => !gear.supportsStarforce + }, + { + label: '주문서', + value: 'scroll', + disabled: (gear: Gear) => !gear.supportsUpgrade + }, + { + label: '추가옵션', + value: 'bonus', + disabled: (gear: Gear) => !gear.supportsAddOption + }, + { + label: '잠재능력', + value: 'pot', + disabled: (gear: Gear) => !gear.supportsPotential + }, + { + label: '에디셔널 잠재능력', + value: 'addiPot', + disabled: (gear: Gear) => !gear.supportsAdditionalPotential + }, + { + label: '익셉셔널', + value: 'exceptional', + disabled: (gear: Gear) => !gear.supportsExceptional + }, + { + label: '소울웨폰', + value: 'soul', + disabled: (gear: Gear) => !gear.supportsSoul + } +] as const; diff --git a/src/lib/features/gear-enchant-ui/tabs/upgrade/GearUpgradeUI.svelte b/src/lib/features/gear-enchant-ui/tabs/upgrade/GearUpgradeUI.svelte new file mode 100644 index 0000000..03f972f --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/upgrade/GearUpgradeUI.svelte @@ -0,0 +1,171 @@ + + +
+
+ +
+ 주문서 강화 {gear.scrollUpgradeCount}회 (잔여 + {gear.scrollUpgradeableCount}회, 복구 가능 + {gear.scrollResilienceCount}회) +
+
+
+ + (currentTab = value)}> + {#if activeTabs.length > 1} + + {#each activeTabs as tab} + {tab.label} + {/each} + + {:else if activeTabs.length === 1} +
+

+ {activeTabs[0].label} +

+
+ {/if} + + + + + + + + + +
+ + {#if currentTab !== 'chaos'} + selectScroll(null)} + placeholder="주문서를 선택해 주세요." + > + + {@const optionStrings = getOptionStrings?.()} + {#if optionStrings} + + {#snippet itemRenderer(strings: [string, string])} +
+ {strings[0]} + {strings[1]} +
+ {/snippet} +
+ {:else} +
+ {/if} +
+ + {#if selectedScroll} + + + + + {:else} +
+ {/if} +
+
+ {/if} + + + + + + + + +
diff --git a/src/lib/features/gear-enchant-ui/tabs/upgrade/model/chaosScroll.ts b/src/lib/features/gear-enchant-ui/tabs/upgrade/model/chaosScroll.ts new file mode 100644 index 0000000..3ca9cf5 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/upgrade/model/chaosScroll.ts @@ -0,0 +1,72 @@ +import type { Gear, GearUpgradeOption, Scroll } from '@malib/gear'; +import { indexChoice } from '$lib/utils'; + +export function createChaosScroll(option: Partial) { + return { + name: '혼돈의 주문서', + icon: '5530143', + option + }; +} + +export function createEmptyOptionRandomizedChaosScroll(scroll: Scroll, gear: Gear) { + const option = { ...scroll.option }; + for (const stat of chaosOptionTypes) { + if (option[stat.value] === undefined || option[stat.value] === null) { + if (gear.baseOption[stat.value] || gear.addOption[stat.value]) { + option[stat.value] = chaosOptionValues[indexChoice(chaosOptionWeights)]; + } + } + } + return createChaosScroll(option); +} + +const chaosOptionValues = [0, 1, 2, 3, 4, 6]; +const chaosOptionWeights = [0.1838, 0.3301, 0.2387, 0.1387, 0.0494, 0.0593]; + +export const chaosOptionTypes = [ + { + label: 'STR', + value: 'str' + }, + { + label: 'DEX', + value: 'dex' + }, + { + label: 'INT', + value: 'int' + }, + { + label: 'LUK', + value: 'luk' + }, + { + label: '최대 HP', + value: 'maxHp' + }, + { + label: '최대 MP', + value: 'maxMp' + }, + { + label: '공격력', + value: 'attackPower' + }, + { + label: '마력', + value: 'magicPower' + }, + { + label: '방어력', + value: 'armor' + }, + { + label: '이동속도', + value: 'speed' + }, + { + label: '점프력', + value: 'jump' + } +] as const; diff --git a/src/lib/features/gear-enchant-ui/tabs/upgrade/model/etcScroll.ts b/src/lib/features/gear-enchant-ui/tabs/upgrade/model/etcScroll.ts new file mode 100644 index 0000000..9f5a4a3 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/upgrade/model/etcScroll.ts @@ -0,0 +1,136 @@ +import { + GearType, + isAccessory, + isArmor, + isDoubleHandWeapon, + isLeftWeapon, + type ReadonlyGear, + type Scroll +} from '@malib/gear'; +import { scrollData } from './scrollData'; + +export function showEtcScrollTab(gear: ReadonlyGear) { + return getEtcScrolls(gear).length > 0; +} + +export function getEtcScrolls(gear: ReadonlyGear) { + switch (gear.id) { + case 1123007: + case 1123008: + case 1123009: + case 1123010: + case 1123011: + case 1123012: + return [ + scrollData['힘의 오닉스 스톤 (펜던트)'], + scrollData['민첩의 오닉스 스톤 (펜던트)'], + scrollData['지능의 오닉스 스톤 (펜던트)'], + scrollData['행운의 오닉스 스톤 (펜던트)'], + scrollData['체력의 오닉스 스톤 (펜던트)'], + scrollData['균형의 오닉스 스톤 (펜던트)'] + ]; + case 1114207: + case 1114208: + case 1114209: + case 1114210: + case 1114211: + case 1114212: + return [ + scrollData['힘의 오닉스 스톤 (반지)'], + scrollData['민첩의 오닉스 스톤 (반지)'], + scrollData['지능의 오닉스 스톤 (반지)'], + scrollData['행운의 오닉스 스톤 (반지)'], + scrollData['체력의 오닉스 스톤 (반지)'], + scrollData['균형의 오닉스 스톤 (반지)'], + scrollData['파괴의 오닉스 스톤 (반지)'], + scrollData['마력의 오닉스 스톤 (반지)'] + ]; + case 1114226: + case 1114227: + case 1114228: + case 1114230: + case 1114231: + return [ + scrollData['강력한 힘의 오닉스 스톤'], + scrollData['강력한 민첩의 오닉스 스톤'], + scrollData['강력한 지능의 오닉스 스톤'], + scrollData['강력한 행운의 오닉스 스톤'], + scrollData['강력한 체력의 오닉스 스톤'], + scrollData['강력한 균형의 오닉스 스톤'], + scrollData['현명한 힘의 오닉스 스톤'], + scrollData['현명한 민첩의 오닉스 스톤'], + scrollData['현명한 지능의 오닉스 스톤'], + scrollData['현명한 행운의 오닉스 스톤'], + scrollData['현명한 체력의 오닉스 스톤'], + scrollData['현명한 균형의 오닉스 스톤'] + ]; + case 1114300: + return [scrollData['벤젼스 스톤']]; + case 1114303: + return [scrollData['코스믹 아톰']]; + case 1114307: + return [scrollData['테네브리스 원정대 반지 강화 주문서']]; + case 1114318: + return [scrollData['어웨이크 링 전용 강화 주문서']]; + } + const scrolls: Scroll[] = []; + switch (gear.id) { + case 1122000: + case 1122076: + case 1122278: + scrolls.push(scrollData['드래곤의 돌']); + break; + case 1122150: + case 1122372: + case 1122373: + case 1122374: + case 1122375: + case 1122376: + case 1122377: + scrolls.push(scrollData['비틀린 시간의 파편']); + break; + } + if (gear.type === GearType.earrings) { + scrolls.push(scrollData['귀 장식 지력 주문서 10%']); + } + if (isArmor(gear.type)) { + scrolls.push(scrollData['얼티밋 방어구 강화 주문서 20%']); + scrolls.push(scrollData['10주년 프라임 방어구 주문서']); + } + if (isAccessory(gear.type)) { + scrolls.push( + scrollData['악세서리 공격력 주문서 100% (+2)'], + scrollData['악세서리 공격력 주문서 100% (+3)'], + scrollData['프리미엄 악세서리 공격력 주문서 100% (+4)'], + scrollData['프리미엄 악세서리 공격력 주문서 100% (+5)'], + scrollData['악세서리 마력 주문서 100% (+2)'], + scrollData['악세서리 마력 주문서 100% (+3)'], + scrollData['프리미엄 악세서리 마력 주문서 100% (+4)'], + scrollData['프리미엄 악세서리 마력 주문서 100% (+5)'], + scrollData['10주년 프라임 악세서리 주문서'] + ); + } + if ( + isLeftWeapon(gear.type) || + gear.type === GearType.katara || + gear.type == GearType.machineHeart + ) { + scrolls.push( + scrollData['매지컬 한손무기 공격력 주문서 (+9)'], + scrollData['매지컬 한손무기 공격력 주문서 (+10)'], + scrollData['매지컬 한손무기 공격력 주문서 (+11)'], + scrollData['매지컬 한손무기 마력 주문서 (+9)'], + scrollData['매지컬 한손무기 마력 주문서 (+10)'], + scrollData['매지컬 한손무기 마력 주문서 (+11)'] + ); + } + if (isDoubleHandWeapon(gear.type)) { + scrolls.push( + scrollData['매지컬 두손무기 공격력 주문서 (+9)'], + scrollData['매지컬 두손무기 공격력 주문서 (+10)'], + scrollData['매지컬 두손무기 공격력 주문서 (+11)'] + ); + } + + return scrolls; +} diff --git a/src/lib/features/gear-enchant-ui/tabs/upgrade/model/scrollData.ts b/src/lib/features/gear-enchant-ui/tabs/upgrade/model/scrollData.ts new file mode 100644 index 0000000..d8229f7 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/upgrade/model/scrollData.ts @@ -0,0 +1,502 @@ +import type { Scroll } from '@malib/gear'; + +export const scrollData = { + '악세서리 공격력 주문서 100% (+2)': { + name: '악세서리 공격력 주문서 100% (+2)', + icon: '2046829', + option: { + attackPower: 2 + } + }, + '악세서리 공격력 주문서 100% (+3)': { + name: '악세서리 공격력 주문서 100% (+3)', + icon: '2046829', + option: { + attackPower: 3 + } + }, + '프리미엄 악세서리 공격력 주문서 100% (+4)': { + name: '프리미엄 악세서리 공격력 주문서 100% (+4)', + icon: '2046856', + option: { + attackPower: 4 + } + }, + '프리미엄 악세서리 공격력 주문서 100% (+5)': { + name: '프리미엄 악세서리 공격력 주문서 100% (+5)', + icon: '2046856', + option: { + attackPower: 5 + } + }, + '악세서리 마력 주문서 100% (+2)': { + name: '악세서리 마력 주문서 100% (+2)', + icon: '2046830', + option: { + magicPower: 2 + } + }, + '악세서리 마력 주문서 100% (+3)': { + name: '악세서리 마력 주문서 100% (+3)', + icon: '2046830', + option: { + magicPower: 3 + } + }, + '프리미엄 악세서리 마력 주문서 100% (+4)': { + name: '프리미엄 악세서리 마력 주문서 100% (+4)', + icon: '2046857', + option: { + magicPower: 4 + } + }, + '프리미엄 악세서리 마력 주문서 100% (+5)': { + name: '프리미엄 악세서리 마력 주문서 100% (+5)', + icon: '2046857', + option: { + magicPower: 5 + } + }, + '귀 장식 지력 주문서 10%': { + name: '귀 장식 지력 주문서 10%', + icon: '2040302', + option: { + int: 3, + magicPower: 5 + } + }, + '얼티밋 방어구 강화 주문서 20%': { + name: '얼티밋 방어구 강화 주문서 20%', + icon: '2040020', + option: { + str: 9, + dex: 9, + int: 9, + luk: 9 + } + }, + '10주년 프라임 악세서리 주문서': { + name: '10주년 프라임 악세서리 주문서', + icon: '2046876', + option: { + str: 10, + dex: 10, + int: 10, + luk: 10 + } + }, + '10주년 프라임 방어구 주문서': { + name: '10주년 프라임 방어구 주문서', + icon: '2046994', + option: { + str: 10, + dex: 10, + int: 10, + luk: 10, + armor: 10 + } + }, + '매지컬 한손무기 공격력 주문서 (+9)': { + name: '매지컬 한손무기 공격력 주문서 (+9)', + icon: '2046991', + option: { + str: 3, + dex: 3, + int: 3, + luk: 3, + attackPower: 9 + } + }, + '매지컬 한손무기 공격력 주문서 (+10)': { + name: '매지컬 한손무기 공격력 주문서 (+10)', + icon: '2046991', + option: { + str: 3, + dex: 3, + int: 3, + luk: 3, + attackPower: 10 + } + }, + '매지컬 한손무기 공격력 주문서 (+11)': { + name: '매지컬 한손무기 공격력 주문서 (+11)', + icon: '2046991', + option: { + str: 3, + dex: 3, + int: 3, + luk: 3, + attackPower: 11 + } + }, + '매지컬 한손무기 마력 주문서 (+9)': { + name: '매지컬 한손무기 마력 주문서 (+9)', + icon: '2046992', + option: { + str: 3, + dex: 3, + int: 3, + luk: 3, + magicPower: 9 + } + }, + '매지컬 한손무기 마력 주문서 (+10)': { + name: '매지컬 한손무기 마력 주문서 (+10)', + icon: '2046992', + option: { + str: 3, + dex: 3, + int: 3, + luk: 3, + magicPower: 10 + } + }, + '매지컬 한손무기 마력 주문서 (+11)': { + name: '매지컬 한손무기 마력 주문서 (+11)', + icon: '2046992', + option: { + str: 3, + dex: 3, + int: 3, + luk: 3, + magicPower: 11 + } + }, + '매지컬 두손무기 공격력 주문서 (+9)': { + name: '매지컬 두손무기 공격력 주문서 (+9)', + icon: '2047814', + option: { + str: 3, + dex: 3, + int: 3, + luk: 3, + attackPower: 9 + } + }, + '매지컬 두손무기 공격력 주문서 (+10)': { + name: '매지컬 두손무기 공격력 주문서 (+10)', + icon: '2047814', + option: { + str: 3, + dex: 3, + int: 3, + luk: 3, + attackPower: 10 + } + }, + '매지컬 두손무기 공격력 주문서 (+11)': { + name: '매지컬 두손무기 공격력 주문서 (+11)', + icon: '2047814', + option: { + str: 3, + dex: 3, + int: 3, + luk: 3, + attackPower: 11 + } + }, + '드래곤의 돌': { + name: '드래곤의 돌', + icon: '2041200', + option: { + str: 15, + dex: 15, + int: 15, + luk: 15, + maxHp: 750, + armor: 350 + } + }, + '비틀린 시간의 파편': { + name: '비틀린 시간의 파편', + icon: '2046374', + option: { + str: 3, + dex: 3, + int: 3, + luk: 3, + maxHp: 40, + maxMp: 40, + attackPower: 3, + magicPower: 3, + armor: 25, + speed: 3, + jump: 2 + } + }, + '힘의 오닉스 스톤 (펜던트)': { + name: '힘의 오닉스 스톤', + icon: '2643002', + option: { + str: 2, + armor: 15 + } + }, + '민첩의 오닉스 스톤 (펜던트)': { + name: '민첩의 오닉스 스톤', + icon: '2643003', + option: { + dex: 2, + armor: 15 + } + }, + '지능의 오닉스 스톤 (펜던트)': { + name: '지능의 오닉스 스톤', + icon: '2643004', + option: { + int: 2, + armor: 15 + } + }, + '행운의 오닉스 스톤 (펜던트)': { + name: '행운의 오닉스 스톤', + icon: '2643005', + option: { + luk: 2, + armor: 15 + } + }, + '체력의 오닉스 스톤 (펜던트)': { + name: '체력의 오닉스 스톤', + icon: '2643006', + option: { + maxHp: 100, + armor: 15 + } + }, + '균형의 오닉스 스톤 (펜던트)': { + name: '균형의 오닉스 스톤', + icon: '2643007', + option: { + str: 1, + dex: 1, + int: 1, + luk: 1, + armor: 15 + } + }, + '힘의 오닉스 스톤 (반지)': { + name: '힘의 오닉스 스톤', + icon: '2643100', + option: { + str: 8 + } + }, + '민첩의 오닉스 스톤 (반지)': { + name: '민첩의 오닉스 스톤', + icon: '2643101', + option: { + dex: 8 + } + }, + '지능의 오닉스 스톤 (반지)': { + name: '지능의 오닉스 스톤', + icon: '2643102', + option: { + int: 8 + } + }, + '행운의 오닉스 스톤 (반지)': { + name: '행운의 오닉스 스톤', + icon: '2643103', + option: { + luk: 8 + } + }, + '체력의 오닉스 스톤 (반지)': { + name: '체력의 오닉스 스톤', + icon: '2643104', + option: { + maxHp: 400 + } + }, + '균형의 오닉스 스톤 (반지)': { + name: '균형의 오닉스 스톤', + icon: '2643105', + option: { + str: 4, + dex: 4, + int: 4, + luk: 4 + } + }, + '파괴의 오닉스 스톤 (반지)': { + name: '파괴의 오닉스 스톤', + icon: '2643106', + option: { + attackPower: 1, + armor: 30 + } + }, + '마력의 오닉스 스톤 (반지)': { + name: '마력의 오닉스 스톤', + icon: '2643107', + option: { + magicPower: 1 + } + }, + '강력한 힘의 오닉스 스톤': { + name: '강력한 힘의 오닉스 스톤', + icon: '2643116', + option: { + str: 4, + attackPower: 1, + armor: 15 + } + }, + '강력한 민첩의 오닉스 스톤': { + name: '강력한 민첩의 오닉스 스톤', + icon: '2643117', + option: { + dex: 4, + attackPower: 1, + armor: 15 + } + }, + '강력한 지능의 오닉스 스톤': { + name: '강력한 지능의 오닉스 스톤', + icon: '2643118', + option: { + int: 4, + magicPower: 1, + armor: 15 + } + }, + '강력한 행운의 오닉스 스톤': { + name: '강력한 행운의 오닉스 스톤', + icon: '2643119', + option: { + luk: 4, + attackPower: 1, + armor: 15 + } + }, + '강력한 체력의 오닉스 스톤': { + name: '강력한 체력의 오닉스 스톤', + icon: '2643120', + option: { + maxHp: 200, + attackPower: 1, + armor: 15 + } + }, + '강력한 균형의 오닉스 스톤': { + name: '강력한 균형의 오닉스 스톤', + icon: '2643121', + option: { + str: 2, + dex: 2, + int: 2, + luk: 2, + attackPower: 1, + armor: 15 + } + }, + '현명한 힘의 오닉스 스톤': { + name: '현명한 힘의 오닉스 스톤', + icon: '2643122', + option: { + str: 4, + magicPower: 1 + } + }, + '현명한 민첩의 오닉스 스톤': { + name: '현명한 민첩의 오닉스 스톤', + icon: '2643123', + option: { + dex: 4, + magicPower: 1 + } + }, + '현명한 지능의 오닉스 스톤': { + name: '현명한 지능의 오닉스 스톤', + icon: '2643124', + option: { + int: 4, + magicPower: 1 + } + }, + '현명한 행운의 오닉스 스톤': { + name: '현명한 행운의 오닉스 스톤', + icon: '2643125', + option: { + luk: 4, + magicPower: 1 + } + }, + '현명한 체력의 오닉스 스톤': { + name: '현명한 체력의 오닉스 스톤', + icon: '2643126', + option: { + maxHp: 200, + magicPower: 1 + } + }, + '현명한 균형의 오닉스 스톤': { + name: '현명한 균형의 오닉스 스톤', + icon: '2643127', + option: { + str: 2, + dex: 2, + int: 2, + luk: 2, + magicPower: 1 + } + }, + '벤젼스 스톤': { + name: '벤젼스 스톤', + icon: '2643128', + option: { + str: 1, + dex: 1, + int: 1, + luk: 1, + maxHp: 100, + maxMp: 100, + attackPower: 1, + magicPower: 1 + } + }, + '코스믹 아톰': { + name: '코스믹 아톰', + icon: '2643130', + option: { + str: 1, + dex: 1, + int: 1, + luk: 1, + maxHp: 100, + maxMp: 100, + attackPower: 1, + magicPower: 1 + } + }, + '테네브리스 원정대 반지 강화 주문서': { + name: '테네브리스 원정대 반지 강화 주문서', + icon: '2643131', + option: { + str: 10, + dex: 10, + int: 10, + luk: 10, + maxHp: 1000, + maxMp: 1000, + attackPower: 5, + magicPower: 5 + } + }, + '어웨이크 링 전용 강화 주문서': { + name: '어웨이크 링 전용 강화 주문서', + icon: '2643132', + option: { + str: 10, + dex: 10, + int: 10, + luk: 10, + maxHp: 1000, + maxMp: 1000, + attackPower: 5, + magicPower: 5 + } + } +} as const satisfies Record; diff --git a/src/lib/features/gear-enchant-ui/tabs/upgrade/model/spellTrace.ts b/src/lib/features/gear-enchant-ui/tabs/upgrade/model/spellTrace.ts new file mode 100644 index 0000000..838674e --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/upgrade/model/spellTrace.ts @@ -0,0 +1,99 @@ +import { + GearType, + getSpellTraceScroll, + isAccessory, + isArmor, + isWeapon, + ReadonlyGear, + SpellTraceType, + type SpellTrace, + type SpellTraceRate +} from '@malib/gear'; + +export function showSpellTraceTab(gear: ReadonlyGear) { + return getSpellTraceScrolls(gear).length > 0; +} + +export function getSpellTraceScrolls(gear: ReadonlyGear) { + const scrolls: SpellTrace[] = []; + const names = new Set(); + const types = getSpellTraceTypes(gear); + const rates = [100, 70, 30, 15] as const; + for (const type of types) { + for (const rate of rates) { + try { + const scroll = getSpellTraceScroll(gear, type, rate); + if (!names.has(scroll.name)) { + scroll.icon = getSpellTraceIcon(rate); + scrolls.push(scroll); + names.add(scroll.name); + } + } catch {} + } + } + return scrolls; +} + +function getSpellTraceTypes(gear: ReadonlyGear) { + const jobStat = [ + [SpellTraceType.str, SpellTraceType.maxHp], + [SpellTraceType.int], + [SpellTraceType.dex], + [SpellTraceType.str, SpellTraceType.dex, SpellTraceType.luk], + [SpellTraceType.str, SpellTraceType.dex, SpellTraceType.luk] + ]; + const typeSet = new Set(); + if (gear.req.beginner()) { + typeSet.add(SpellTraceType.str); + typeSet.add(SpellTraceType.dex); + typeSet.add(SpellTraceType.int); + typeSet.add(SpellTraceType.luk); + typeSet.add(SpellTraceType.maxHp); + } else { + for (let i = 0; i < 5; i++) { + if ((gear.req.job & (1 << i)) !== 0) { + for (const stat of jobStat[i]) { + typeSet.add(stat); + } + } + } + } + if (isArmor(gear.type) || isAccessory(gear.type)) { + typeSet.add(SpellTraceType.allStat); + } + + const types = + isWeapon(gear.type) || gear.type === GearType.katara ? weaponTypeOrder : armorTypeOrder; + return types.filter((type) => typeSet.has(type)); +} + +function getSpellTraceIcon(rate: SpellTraceRate) { + switch (rate) { + case 100: + return '2040000'; + case 70: + return '2040008'; + case 30: + return '2040001'; + case 15: + return '2040020'; + } +} + +const weaponTypeOrder = [ + SpellTraceType.str, + SpellTraceType.dex, + SpellTraceType.luk, + SpellTraceType.maxHp, + SpellTraceType.int, + SpellTraceType.allStat +]; + +const armorTypeOrder = [ + SpellTraceType.str, + SpellTraceType.int, + SpellTraceType.dex, + SpellTraceType.luk, + SpellTraceType.maxHp, + SpellTraceType.allStat +]; diff --git a/src/lib/features/gear-enchant-ui/tabs/upgrade/model/tabs.ts b/src/lib/features/gear-enchant-ui/tabs/upgrade/model/tabs.ts new file mode 100644 index 0000000..b34899c --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/upgrade/model/tabs.ts @@ -0,0 +1,21 @@ +import type { ReadonlyGear } from '@malib/gear'; +import { showEtcScrollTab } from './etcScroll'; +import { showSpellTraceTab } from './spellTrace'; + +export const tabs = [ + { + label: '주문의 흔적', + value: 'spellTrace', + show: (gear: ReadonlyGear) => showSpellTraceTab(gear) + }, + { + label: '혼돈의 주문서', + value: 'chaos', + show: () => true + }, + { + label: '기타 주문서', + value: 'etc', + show: (gear: ReadonlyGear) => showEtcScrollTab(gear) + } +]; diff --git a/src/lib/features/gear-enchant-ui/tabs/upgrade/model/types.ts b/src/lib/features/gear-enchant-ui/tabs/upgrade/model/types.ts new file mode 100644 index 0000000..420c93c --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/upgrade/model/types.ts @@ -0,0 +1,7 @@ +import type { Scroll } from '@malib/gear'; + +export type SelectScrollFunction = ( + scroll: Scroll | null, + apply?: () => void, + getOptionStrings?: () => [string, string][] +) => void; diff --git a/src/lib/features/gear-enchant-ui/tabs/upgrade/tabs/ChaosScrollTab.svelte b/src/lib/features/gear-enchant-ui/tabs/upgrade/tabs/ChaosScrollTab.svelte new file mode 100644 index 0000000..c4f8b6c --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/upgrade/tabs/ChaosScrollTab.svelte @@ -0,0 +1,73 @@ + + +
+ + {#snippet itemRenderer(stat: (typeof chaosOptionTypes)[number])} +
+ + +
+ {/snippet} +
+ +
+ + +
+ + + + + + +
diff --git a/src/lib/features/gear-enchant-ui/tabs/upgrade/tabs/EtcScrollTab.svelte b/src/lib/features/gear-enchant-ui/tabs/upgrade/tabs/EtcScrollTab.svelte new file mode 100644 index 0000000..f0e207c --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/upgrade/tabs/EtcScrollTab.svelte @@ -0,0 +1,28 @@ + + + + {#snippet children(scroll)} + selectScroll(scroll)}> + + {scroll.name} + + {/snippet} + diff --git a/src/lib/features/gear-enchant-ui/tabs/upgrade/tabs/SpellTraceTab.svelte b/src/lib/features/gear-enchant-ui/tabs/upgrade/tabs/SpellTraceTab.svelte new file mode 100644 index 0000000..ddfa677 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tabs/upgrade/tabs/SpellTraceTab.svelte @@ -0,0 +1,34 @@ + + + + {#snippet children(scroll)} + + selectScroll(scroll, () => { + gear.applySpellTrace(scroll.type, scroll.rate); + })} + > + + {scroll.name} + + {/snippet} + diff --git a/src/lib/features/gear-enchant-ui/tooltip/GearTooltipButton.svelte b/src/lib/features/gear-enchant-ui/tooltip/GearTooltipButton.svelte new file mode 100644 index 0000000..fc3cc37 --- /dev/null +++ b/src/lib/features/gear-enchant-ui/tooltip/GearTooltipButton.svelte @@ -0,0 +1,27 @@ + + + + + + + (open = false)} + > + + + diff --git a/src/lib/features/gear-inventory/dialog/GearDialog.svelte b/src/lib/features/gear-inventory/dialog/GearDialog.svelte new file mode 100644 index 0000000..0553362 --- /dev/null +++ b/src/lib/features/gear-inventory/dialog/GearDialog.svelte @@ -0,0 +1,38 @@ + + + + + + + + +
+ + + +
+ + + + + +
+
diff --git a/src/lib/features/gear-inventory/dialog/index.ts b/src/lib/features/gear-inventory/dialog/index.ts new file mode 100644 index 0000000..51dd3fe --- /dev/null +++ b/src/lib/features/gear-inventory/dialog/index.ts @@ -0,0 +1 @@ +export { default as GearDialog } from './GearDialog.svelte'; diff --git a/src/lib/features/gear-inventory/grid/Grid.svelte b/src/lib/features/gear-inventory/grid/Grid.svelte new file mode 100644 index 0000000..653b3cd --- /dev/null +++ b/src/lib/features/gear-inventory/grid/Grid.svelte @@ -0,0 +1,90 @@ + + + `${row[0].seq}-${row[row.length - 1].seq}`} + overscan={1} + scrollRef={scrollRef ?? undefined} + {startMargin} +> + {#snippet children(row, index)} + + {/snippet} + diff --git a/src/lib/features/gear-inventory/grid/GridDeleteItem.svelte b/src/lib/features/gear-inventory/grid/GridDeleteItem.svelte new file mode 100644 index 0000000..3b57105 --- /dev/null +++ b/src/lib/features/gear-inventory/grid/GridDeleteItem.svelte @@ -0,0 +1,42 @@ + + + diff --git a/src/lib/features/gear-inventory/grid/GridItem.svelte b/src/lib/features/gear-inventory/grid/GridItem.svelte new file mode 100644 index 0000000..dc4e2e4 --- /dev/null +++ b/src/lib/features/gear-inventory/grid/GridItem.svelte @@ -0,0 +1,34 @@ + + + + {@render children()} + diff --git a/src/lib/features/gear-inventory/grid/GridItemContent.svelte b/src/lib/features/gear-inventory/grid/GridItemContent.svelte new file mode 100644 index 0000000..4248861 --- /dev/null +++ b/src/lib/features/gear-inventory/grid/GridItemContent.svelte @@ -0,0 +1,56 @@ + + + +{#if gear.star || gear.scrollUpgradeCount} +
+ + {#if gear.star} +
+ + {gear.star} +
+ {/if} + {#if gear.star && gear.scrollUpgradeCount} + + {/if} + {#if gear.scrollUpgradeCount} +
+ + {gear.scrollUpgradeCount} +
+ {/if} +
+
+{/if} +{#if gear.attributes.canPotential !== GearCapability.Cannot} +
+ + +
+{/if} +{#if gear.exceptionalTotalUpgradeableCount > 0} +
+ {#if gear.exceptionalUpgradeCount > 0} + + {:else} + + {/if} +
+{/if} diff --git a/src/lib/features/gear-inventory/grid/GridItemSkeleton.svelte b/src/lib/features/gear-inventory/grid/GridItemSkeleton.svelte new file mode 100644 index 0000000..53ef3fd --- /dev/null +++ b/src/lib/features/gear-inventory/grid/GridItemSkeleton.svelte @@ -0,0 +1 @@ +
diff --git a/src/lib/features/gear-inventory/grid/GridRow.svelte b/src/lib/features/gear-inventory/grid/GridRow.svelte new file mode 100644 index 0000000..d5ec4f2 --- /dev/null +++ b/src/lib/features/gear-inventory/grid/GridRow.svelte @@ -0,0 +1,37 @@ + + +
+ {#each items as item, index} + {@render children(item, rowIndex * columns + index)} + {/each} + {#if items.length < columns} + {#each Array(columns - items.length) as _} + + {/each} + {/if} +
diff --git a/src/lib/features/gear-inventory/grid/index.ts b/src/lib/features/gear-inventory/grid/index.ts new file mode 100644 index 0000000..72c10d3 --- /dev/null +++ b/src/lib/features/gear-inventory/grid/index.ts @@ -0,0 +1,4 @@ +export { default as GearInventoryGrid } from './Grid.svelte'; +export { default as GearInventoryGridDeleteItem } from './GridDeleteItem.svelte'; +export { default as GearInventoryGridItem } from './GridItem.svelte'; +export { default as GearInventoryGridItemContent } from './GridItemContent.svelte'; diff --git a/src/lib/features/gear-inventory/header/GearInventoryHeader.svelte b/src/lib/features/gear-inventory/header/GearInventoryHeader.svelte new file mode 100644 index 0000000..5a0107a --- /dev/null +++ b/src/lib/features/gear-inventory/header/GearInventoryHeader.svelte @@ -0,0 +1,101 @@ + + +
+
SCROLL_THRESHOLD && 'shadow-lg' + )} + > +
+
+
+ +
+
+
+ {#if mode === 'default'} + + + {:else} + + + (mode = 'default')} /> + {/if} +
+
+
+
+ + +
+
+ +
+
+ {#if mode === 'delete'} + + + 삭제할 아이템을 선택해 주세요. + + {/if} +
+
diff --git a/src/lib/features/gear-inventory/header/components/AddButton.svelte b/src/lib/features/gear-inventory/header/components/AddButton.svelte new file mode 100644 index 0000000..c105f97 --- /dev/null +++ b/src/lib/features/gear-inventory/header/components/AddButton.svelte @@ -0,0 +1,5 @@ + + + diff --git a/src/lib/features/gear-inventory/header/components/DeleteButton.svelte b/src/lib/features/gear-inventory/header/components/DeleteButton.svelte new file mode 100644 index 0000000..b89b915 --- /dev/null +++ b/src/lib/features/gear-inventory/header/components/DeleteButton.svelte @@ -0,0 +1,52 @@ + + + + + 아이템 삭제 + + + + 아이템 {deleter.count}개 삭제하기 + 삭제한 아이템은 복구할 수 없어요. + + + 취소 + 삭제하기 + + + diff --git a/src/lib/features/gear-inventory/header/components/FilterInput.svelte b/src/lib/features/gear-inventory/header/components/FilterInput.svelte new file mode 100644 index 0000000..444547a --- /dev/null +++ b/src/lib/features/gear-inventory/header/components/FilterInput.svelte @@ -0,0 +1,31 @@ + + +
+ + + {#if value} + + {/if} +
diff --git a/src/lib/features/gear-inventory/header/components/GearCountDisplay.svelte b/src/lib/features/gear-inventory/header/components/GearCountDisplay.svelte new file mode 100644 index 0000000..8115ae0 --- /dev/null +++ b/src/lib/features/gear-inventory/header/components/GearCountDisplay.svelte @@ -0,0 +1,13 @@ + + +
+ {#if count !== undefined} + 아이템 {count}개 + {:else} + + {/if} +
diff --git a/src/lib/features/gear-inventory/header/components/LayoutButton.svelte b/src/lib/features/gear-inventory/header/components/LayoutButton.svelte new file mode 100644 index 0000000..acf09f7 --- /dev/null +++ b/src/lib/features/gear-inventory/header/components/LayoutButton.svelte @@ -0,0 +1,54 @@ + + + + + {#if layoutStore.layout === 'grid'} + + {:else} + + {/if} + + + 보기 + + + 바둑판 + + + 목록 + + + + 최대 열 개수 + String(layoutStore.columns), + (v) => (layoutStore.columns = v === 'auto' ? 'auto' : Number(v)) + } + > + {#each columnItems as item} + + {item.label} + + {/each} + + + diff --git a/src/lib/features/gear-inventory/header/components/SelectedCountBadge.svelte b/src/lib/features/gear-inventory/header/components/SelectedCountBadge.svelte new file mode 100644 index 0000000..b27a0ba --- /dev/null +++ b/src/lib/features/gear-inventory/header/components/SelectedCountBadge.svelte @@ -0,0 +1,14 @@ + + +{count}개 선택됨 diff --git a/src/lib/features/gear-inventory/header/components/SortButton.svelte b/src/lib/features/gear-inventory/header/components/SortButton.svelte new file mode 100644 index 0000000..0c89b0a --- /dev/null +++ b/src/lib/features/gear-inventory/header/components/SortButton.svelte @@ -0,0 +1,45 @@ + + + + + {#if sortItem} + {sortItem.label} + {:else} + 정렬 + {/if} + + + + 아이템 정렬 + + {#each sortItems as item} + + {item.label} + + {/each} + + + diff --git a/src/lib/features/gear-inventory/header/index.ts b/src/lib/features/gear-inventory/header/index.ts new file mode 100644 index 0000000..2909821 --- /dev/null +++ b/src/lib/features/gear-inventory/header/index.ts @@ -0,0 +1,4 @@ +export { createDeleter, Deleter } from './model/Deleter.svelte'; +export { createGearCountLiveQuery, GearCountLiveQuery } from './model/GearCountLiveQuery.svelte'; +export { createGearLiveQuery, GearLiveQuery } from './model/GearLiveQuery.svelte'; +export { default as GearInventoryHeader } from './GearInventoryHeader.svelte'; diff --git a/src/lib/features/gear-inventory/header/model/AbstractLiveQuery.svelte.ts b/src/lib/features/gear-inventory/header/model/AbstractLiveQuery.svelte.ts new file mode 100644 index 0000000..59a2d7f --- /dev/null +++ b/src/lib/features/gear-inventory/header/model/AbstractLiveQuery.svelte.ts @@ -0,0 +1,30 @@ +import type { Observable } from 'dexie'; + +export abstract class AbstractLiveQuery { + value: T | undefined = $state(undefined); + isLoading = $state(true); + error = $state(undefined); + + protected abstract getLiveQuery(): Observable; + + constructor() { + $effect(() => { + return this.getLiveQuery().subscribe( + (value) => { + this.error = undefined; + if (value !== undefined) { + this.value = value; + this.isLoading = false; + } else { + this.isLoading = true; + } + }, + (error) => { + this.error = error; + this.value = undefined; + this.isLoading = false; + } + ).unsubscribe; + }); + } +} diff --git a/src/lib/features/gear-inventory/header/model/Deleter.svelte.ts b/src/lib/features/gear-inventory/header/model/Deleter.svelte.ts new file mode 100644 index 0000000..afaacd6 --- /dev/null +++ b/src/lib/features/gear-inventory/header/model/Deleter.svelte.ts @@ -0,0 +1,25 @@ +import { deleteGearData } from '$lib/stores/gear-inventory'; +import { SvelteSet } from 'svelte/reactivity'; + +export class Deleter { + seqs = $state(new SvelteSet()); + + count = $derived(this.seqs.size); + isEmpty = $derived(this.count === 0); + + add = (seq: number) => this.seqs.add(seq); + has = (seq: number) => this.seqs.has(seq); + delete = (seq: number) => this.seqs.delete(seq); + clear = () => this.seqs.clear(); + + deleteAll = async () => { + await deleteGearData(...this.seqs.values()); + const count = this.count; + this.clear(); + return count; + }; +} + +export function createDeleter() { + return new Deleter(); +} diff --git a/src/lib/features/gear-inventory/header/model/GearCountLiveQuery.svelte.ts b/src/lib/features/gear-inventory/header/model/GearCountLiveQuery.svelte.ts new file mode 100644 index 0000000..789e366 --- /dev/null +++ b/src/lib/features/gear-inventory/header/model/GearCountLiveQuery.svelte.ts @@ -0,0 +1,12 @@ +import { useGearDataCount } from '$lib/stores/gear-inventory'; +import { AbstractLiveQuery } from './AbstractLiveQuery.svelte.js'; + +export class GearCountLiveQuery extends AbstractLiveQuery { + protected getLiveQuery() { + return useGearDataCount(); + } +} + +export function createGearCountLiveQuery() { + return new GearCountLiveQuery(); +} diff --git a/src/lib/features/gear-inventory/header/model/GearLiveQuery.svelte.ts b/src/lib/features/gear-inventory/header/model/GearLiveQuery.svelte.ts new file mode 100644 index 0000000..56c624c --- /dev/null +++ b/src/lib/features/gear-inventory/header/model/GearLiveQuery.svelte.ts @@ -0,0 +1,34 @@ +import { useGearQuery, type GearQuerySortTypes } from '$lib/stores/gear-inventory'; +import type { GearRow } from '$lib/stores/gear-inventory'; +import { AbstractLiveQuery } from './AbstractLiveQuery.svelte.js'; + +export class GearLiveQuery extends AbstractLiveQuery { + search = $state(''); + sort = $state('createdAtDesc'); + + constructor() { + super(); + if (typeof localStorage !== 'undefined') { + const sort = localStorage.getItem('gear-inventory-sort'); + if (sort) { + this.sort = sort as GearQuerySortTypes; + } + } + $effect(() => { + if (typeof localStorage !== 'undefined') { + localStorage.setItem('gear-inventory-sort', this.sort); + } + }); + } + + isLoadedAndEmpty = $derived(!this.isLoading && (this.value?.length ?? 0) === 0); + isLoadedAndNotEmpty = $derived(!this.isLoading && (this.value?.length ?? 0) > 0); + + protected getLiveQuery() { + return useGearQuery({ filter: { name: this.search }, sort: this.sort }); + } +} + +export function createGearLiveQuery() { + return new GearLiveQuery(); +} diff --git a/src/lib/features/gear-inventory/header/model/LayoutStore.svelte.ts b/src/lib/features/gear-inventory/header/model/LayoutStore.svelte.ts new file mode 100644 index 0000000..a9bb631 --- /dev/null +++ b/src/lib/features/gear-inventory/header/model/LayoutStore.svelte.ts @@ -0,0 +1,29 @@ +export class LayoutStore { + layout = $state<'grid' | 'list'>('grid'); + columns = $state<'auto' | number>('auto'); + + constructor() { + $effect.pre(() => { + if (typeof localStorage !== 'undefined') { + const layout = localStorage.getItem('gear-inventory-layout'); + const columns = localStorage.getItem('gear-inventory-columns'); + if (layout) { + this.layout = layout as 'grid' | 'list'; + } + if (columns) { + this.columns = columns === 'auto' ? 'auto' : Number(columns); + } + } + }); + $effect(() => { + if (typeof localStorage !== 'undefined') { + localStorage.setItem('gear-inventory-layout', this.layout); + localStorage.setItem('gear-inventory-columns', this.columns.toString()); + } + }); + } +} + +export function createLayoutStore() { + return new LayoutStore(); +} diff --git a/src/lib/features/gear-tooltip-renderer/GearTooltipRenderer.svelte b/src/lib/features/gear-tooltip-renderer/GearTooltipRenderer.svelte new file mode 100644 index 0000000..f4f4d2f --- /dev/null +++ b/src/lib/features/gear-tooltip-renderer/GearTooltipRenderer.svelte @@ -0,0 +1,23 @@ + + + diff --git a/src/lib/features/gear-tooltip-renderer/exclusive-equip.ts b/src/lib/features/gear-tooltip-renderer/exclusive-equip.ts new file mode 100644 index 0000000..4507b43 --- /dev/null +++ b/src/lib/features/gear-tooltip-renderer/exclusive-equip.ts @@ -0,0 +1,24 @@ +import { createQuery } from '@tanstack/svelte-query'; +import { getExclusiveEquips, type ExclusiveEquipData } from '$lib/api'; + +export function useExclusiveEquips() { + return createQuery(() => ({ + queryKey: ['exclusive-equips'], + queryFn: getExclusiveEquips, + staleTime: 60 * 60 * 1000, + gcTime: 60 * 60 * 1000 + })); +} + +export function createExclusiveEquipsLoader(data?: ExclusiveEquipData) { + const exclusiveEquipMap = new Map(); + for (const exclusiveEquip of Object.values(data ?? {})) { + for (const itemId of exclusiveEquip.itemIds) { + exclusiveEquipMap.set(itemId, exclusiveEquip.names); + } + } + + return (gearId: number): string[] => { + return exclusiveEquipMap.get(gearId) || []; + }; +} diff --git a/src/lib/features/gear-tooltip-renderer/index.ts b/src/lib/features/gear-tooltip-renderer/index.ts new file mode 100644 index 0000000..b10c4bf --- /dev/null +++ b/src/lib/features/gear-tooltip-renderer/index.ts @@ -0,0 +1 @@ +export { default as GearTooltipRenderer } from './GearTooltipRenderer.svelte'; diff --git a/src/lib/features/gear-tooltip-renderer/set-item.ts b/src/lib/features/gear-tooltip-renderer/set-item.ts new file mode 100644 index 0000000..20179b7 --- /dev/null +++ b/src/lib/features/gear-tooltip-renderer/set-item.ts @@ -0,0 +1,18 @@ +import { getSetItems, type SetItemData } from '$lib/api'; +import { createQuery } from '@tanstack/svelte-query'; + +export function useSetItems() { + return createQuery(() => ({ + queryKey: ['set-items'], + queryFn: getSetItems, + staleTime: 60 * 60 * 1000, + gcTime: 60 * 60 * 1000 + })); +} + +export function createSetItemNameLoader(data?: SetItemData) { + return (setItemId: number): string => { + if (!data) return '???'; + return data[setItemId]?.name || '???'; + }; +} diff --git a/src/lib/features/navigation/detail-navbar/DetailNavbar.svelte b/src/lib/features/navigation/detail-navbar/DetailNavbar.svelte new file mode 100644 index 0000000..059f96f --- /dev/null +++ b/src/lib/features/navigation/detail-navbar/DetailNavbar.svelte @@ -0,0 +1,19 @@ + + +
+
+
+ {#if backHref} + + {/if} + {title} +
+
+
diff --git a/src/lib/features/navigation/detail-navbar/index.ts b/src/lib/features/navigation/detail-navbar/index.ts new file mode 100644 index 0000000..5e9daa8 --- /dev/null +++ b/src/lib/features/navigation/detail-navbar/index.ts @@ -0,0 +1 @@ +export { default as DetailNavbar } from './DetailNavbar.svelte'; diff --git a/src/lib/features/navigation/main-navbar/DarkModeButton.svelte b/src/lib/features/navigation/main-navbar/DarkModeButton.svelte new file mode 100644 index 0000000..dedfeb9 --- /dev/null +++ b/src/lib/features/navigation/main-navbar/DarkModeButton.svelte @@ -0,0 +1,24 @@ + + + diff --git a/src/lib/features/navigation/main-navbar/MainNavbar.svelte b/src/lib/features/navigation/main-navbar/MainNavbar.svelte new file mode 100644 index 0000000..54e73ac --- /dev/null +++ b/src/lib/features/navigation/main-navbar/MainNavbar.svelte @@ -0,0 +1,19 @@ + + +
+
+
+ +
+
+ +
+
+
diff --git a/src/lib/features/navigation/main-navbar/index.ts b/src/lib/features/navigation/main-navbar/index.ts new file mode 100644 index 0000000..cb00bb8 --- /dev/null +++ b/src/lib/features/navigation/main-navbar/index.ts @@ -0,0 +1 @@ +export { default as MainNavbar } from './MainNavbar.svelte'; diff --git a/src/lib/features/navigation/main-navbar/logo.png b/src/lib/features/navigation/main-navbar/logo.png new file mode 100644 index 0000000..df67685 Binary files /dev/null and b/src/lib/features/navigation/main-navbar/logo.png differ diff --git a/src/lib/features/scroll-top-button/ScrollTopButton.svelte b/src/lib/features/scroll-top-button/ScrollTopButton.svelte new file mode 100644 index 0000000..a3d16f3 --- /dev/null +++ b/src/lib/features/scroll-top-button/ScrollTopButton.svelte @@ -0,0 +1,23 @@ + + +
+ +
diff --git a/src/lib/features/scroll-top-button/index.ts b/src/lib/features/scroll-top-button/index.ts new file mode 100644 index 0000000..23dbfc4 --- /dev/null +++ b/src/lib/features/scroll-top-button/index.ts @@ -0,0 +1 @@ +export { default as ScrollTopButton } from './ScrollTopButton.svelte'; diff --git a/src/lib/features/search/GearSearchFooter.svelte b/src/lib/features/search/GearSearchFooter.svelte new file mode 100644 index 0000000..ee5d9ff --- /dev/null +++ b/src/lib/features/search/GearSearchFooter.svelte @@ -0,0 +1,95 @@ + + +
+ +
+ {#if open} +
+
+ + selected.delete(gear)} /> +
+
+ {/if} +
+
+ + +
+ + +
+
+
+
diff --git a/src/lib/features/search/GearSearchNavbar.svelte b/src/lib/features/search/GearSearchNavbar.svelte new file mode 100644 index 0000000..f5c23a2 --- /dev/null +++ b/src/lib/features/search/GearSearchNavbar.svelte @@ -0,0 +1,67 @@ + + +
+
+
+ + {title} +
+
+
+
+
SCROLL_TOP_THRESHOLD && 'pl-2' + )} + > +
+ {#if scrollTop > SCROLL_TOP_THRESHOLD} + + {/if} +
+ + + {#if query} + + {/if} +
+
+
+
diff --git a/src/lib/features/search/SelectedGearsList.svelte b/src/lib/features/search/SelectedGearsList.svelte new file mode 100644 index 0000000..353e22e --- /dev/null +++ b/src/lib/features/search/SelectedGearsList.svelte @@ -0,0 +1,35 @@ + + + + {#each selectedGears as item (item.id)} +
+
+ +
{item.name}
+
+ +
+ {:else} +
+ 검색된 아이템을 클릭해서 선택할 수 있어요. +
+ {/each} +
diff --git a/src/lib/features/search/index.ts b/src/lib/features/search/index.ts new file mode 100644 index 0000000..c486392 --- /dev/null +++ b/src/lib/features/search/index.ts @@ -0,0 +1,3 @@ +export { default as GearSearchFooter } from './GearSearchFooter.svelte'; +export { default as GearSearchNavbar } from './GearSearchNavbar.svelte'; +export { SearchSelectState, createSearchSelectState } from './select-state.svelte'; diff --git a/src/lib/features/search/select-state.svelte.ts b/src/lib/features/search/select-state.svelte.ts new file mode 100644 index 0000000..e70a949 --- /dev/null +++ b/src/lib/features/search/select-state.svelte.ts @@ -0,0 +1,37 @@ +import type { SearchGearSummary } from '$lib/api'; +import { SvelteMap, SvelteSet } from 'svelte/reactivity'; + +export class SearchSelectState { + private _items = $state>(new SvelteMap()); + + ids = $state>(new SvelteSet()); + + gears = $derived>([...this._items.values()]); + + get items(): ReadonlyMap { + return this._items; + } + + get count(): number { + return this._items.size; + } + + add(item: SearchGearSummary) { + this._items.set(item.id, item); + this.ids.add(String(item.id)); + } + + delete(item: SearchGearSummary) { + this._items.delete(item.id); + this.ids.delete(String(item.id)); + } + + clear() { + this._items.clear(); + this.ids.clear(); + } +} + +export function createSearchSelectState() { + return new SearchSelectState(); +} diff --git a/src/lib/follow-cursor/FollowBoundary.svelte b/src/lib/follow-cursor/FollowBoundary.svelte deleted file mode 100644 index a73c9ef..0000000 --- a/src/lib/follow-cursor/FollowBoundary.svelte +++ /dev/null @@ -1,33 +0,0 @@ - - - - -
- -
diff --git a/src/lib/follow-cursor/FollowCursor.svelte b/src/lib/follow-cursor/FollowCursor.svelte deleted file mode 100644 index 8dc1725..0000000 --- a/src/lib/follow-cursor/FollowCursor.svelte +++ /dev/null @@ -1,40 +0,0 @@ - - -
- -
- - diff --git a/src/lib/follow-cursor/cursor-store.ts b/src/lib/follow-cursor/cursor-store.ts deleted file mode 100644 index cb21877..0000000 --- a/src/lib/follow-cursor/cursor-store.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { writable } from 'svelte/store'; - -export const cursor = writable({ x: 0, y: 0 }); -export const boundary = writable({ width: 0, height: 0, top: 0, left: 0 }); -export const viewport = writable({ width: 0, height: 0, top: 0, left: 0 }); diff --git a/src/lib/gear-tooltip/GearTooltip.svelte b/src/lib/gear-tooltip/GearTooltip.svelte deleted file mode 100644 index 7f302d7..0000000 --- a/src/lib/gear-tooltip/GearTooltip.svelte +++ /dev/null @@ -1,405 +0,0 @@ - - -{#if gear} -
-
-
- - -
- {#if gear.soulWeapon.enchanted && gear.soulWeapon.soul} -
- {gear.soulWeapon.soul.name.replace(/소울$/, '')} -
- {/if} -
{gearName}
-
- - {#if gear.grade > PotentialGrade.normal} - - {/if} - - -
- -
-
- -
-
- -
-
- -
-
-
- -
-
- -
- -
- -
- {#if superior} -
슈페리얼
- {/if} - - {#each getSortedOptions(gear) as entry} -
- - {#if gear.canPotential && gear.grade > 0 && gear.potentials.some((pot) => pot)} -
-
- -
- {/if} - - {#if gear.canPotential && gear.additionalGrade > 0 && gear.additionalPotentials.some((pot) => pot)} -
-
- -
- {/if} - - {#if gear.exceptionalTotalUpgradeCount > 0} -
-
- -
- {/if} - - {#if gear.soulWeapon.enchanted} -
-
- -
- {/if} - - {#if desc.length > 0} -
-
- {#each desc as text} - - {/each} -
- {/if} - - {#if gear.anvil} -
-
{' '}
-
- 신비의 모루에 의해 [{gear.anvil.name}]의 외형이 합성됨 -
-
- {/if} -
-
-
-
-{/if} - - diff --git a/src/lib/gear-tooltip/components/Attributes.svelte b/src/lib/gear-tooltip/components/Attributes.svelte deleted file mode 100644 index 9106c69..0000000 --- a/src/lib/gear-tooltip/components/Attributes.svelte +++ /dev/null @@ -1,92 +0,0 @@ - - -{#if attrs.length > 0} -
- {#each attrs as attr} - {attr} - {/each} -
-{/if} - - diff --git a/src/lib/gear-tooltip/components/Desc.svelte b/src/lib/gear-tooltip/components/Desc.svelte deleted file mode 100644 index 19c9d53..0000000 --- a/src/lib/gear-tooltip/components/Desc.svelte +++ /dev/null @@ -1,18 +0,0 @@ - - -
- {@html parseColorString(text)} -
- - diff --git a/src/lib/gear-tooltip/components/DiffExtra.svelte b/src/lib/gear-tooltip/components/DiffExtra.svelte deleted file mode 100644 index 5a6630a..0000000 --- a/src/lib/gear-tooltip/components/DiffExtra.svelte +++ /dev/null @@ -1,165 +0,0 @@ - - -
-
- - - {#each diffToString(pddDiff) as letter} - - {/each} - -
-
- - - {#each diffToString(bdrDiff) as letter} - - {/each} - - -
-
- - - {#each diffToString(imdrDiff) as letter} - - {/each} - - -
-
- - diff --git a/src/lib/gear-tooltip/components/Exceptional.svelte b/src/lib/gear-tooltip/components/Exceptional.svelte deleted file mode 100644 index c4e2ce9..0000000 --- a/src/lib/gear-tooltip/components/Exceptional.svelte +++ /dev/null @@ -1,39 +0,0 @@ - - -{#if exceptionalUpgradeCount > 0} -
- - 익셉셔널 -
- {#each optionToStrings(option) as line} -
- {line} -
- {/each} -
- 익셉셔널 강화 {exceptionalUpgradeCount}회 적용 (최대 {exceptionalTotalUpgradeCount}회 강화 가능) -
-{:else} -
익셉셔널 강화가 가능합니다. (최대 : {exceptionalTotalUpgradeCount}회)
-{/if} - - diff --git a/src/lib/gear-tooltip/components/GearGrade.svelte b/src/lib/gear-tooltip/components/GearGrade.svelte deleted file mode 100644 index 6ad4167..0000000 --- a/src/lib/gear-tooltip/components/GearGrade.svelte +++ /dev/null @@ -1,11 +0,0 @@ - - -
{getGradeString(grade)}
diff --git a/src/lib/gear-tooltip/components/GearType.svelte b/src/lib/gear-tooltip/components/GearType.svelte deleted file mode 100644 index 1257a30..0000000 --- a/src/lib/gear-tooltip/components/GearType.svelte +++ /dev/null @@ -1,25 +0,0 @@ - - -{#if Gear.isWeapon(type)} -
- 무기분류 : {getGearTypeString(type)} - {#if Gear.isLeftWeapon(type) || type === GearType.katara} - (한손무기) - {:else} - (두손무기) - {/if} -
-
- 공격속도 : {getAttackSpeedString(attackSpeed)} -
-{:else} -
- 장비분류 : {getGearTypeString(type)} -
-{/if} diff --git a/src/lib/gear-tooltip/components/Icon.svelte b/src/lib/gear-tooltip/components/Icon.svelte deleted file mode 100644 index 193c3bc..0000000 --- a/src/lib/gear-tooltip/components/Icon.svelte +++ /dev/null @@ -1,107 +0,0 @@ - - -
- {#if color !== ''} -
- {/if} -
-
- -
-
-
- {#if newBonus} -
- {/if} -
-
- - diff --git a/src/lib/gear-tooltip/components/Incline.svelte b/src/lib/gear-tooltip/components/Incline.svelte deleted file mode 100644 index 029d8eb..0000000 --- a/src/lib/gear-tooltip/components/Incline.svelte +++ /dev/null @@ -1,254 +0,0 @@ - - -
-
공격력 증가량
-
- {#each inclineString as letter} -
- {/each} -
-
- - diff --git a/src/lib/gear-tooltip/components/JobReq.svelte b/src/lib/gear-tooltip/components/JobReq.svelte deleted file mode 100644 index 1467987..0000000 --- a/src/lib/gear-tooltip/components/JobReq.svelte +++ /dev/null @@ -1,142 +0,0 @@ - - -
-
- {#each getEnableStates(reqJob, characterJob) as enable, index} - - {/each} -
- {#if extraReq !== ''} -
- {extraReq} -
- {/if} -
- - diff --git a/src/lib/gear-tooltip/components/Option.svelte b/src/lib/gear-tooltip/components/Option.svelte deleted file mode 100644 index ca2fc0b..0000000 --- a/src/lib/gear-tooltip/components/Option.svelte +++ /dev/null @@ -1,13 +0,0 @@ - - -
- {@html parseColorString(getGearOptionString(type, option, amazing))} -
diff --git a/src/lib/gear-tooltip/components/Potential.svelte b/src/lib/gear-tooltip/components/Potential.svelte deleted file mode 100644 index baa959d..0000000 --- a/src/lib/gear-tooltip/components/Potential.svelte +++ /dev/null @@ -1,84 +0,0 @@ - - -
- - - {#if additional} - 에디셔널 잠재옵션 - {:else} - 잠재옵션 - {/if} - -
-{#each potentials as potential} - {#if potential && potential.summary.length > 0} -
- {#if additional} - + {potential.convertSummary} - {:else} - {potential.convertSummary} - {/if} -
- {/if} -{/each} - - diff --git a/src/lib/gear-tooltip/components/Req.svelte b/src/lib/gear-tooltip/components/Req.svelte deleted file mode 100644 index 6be8f08..0000000 --- a/src/lib/gear-tooltip/components/Req.svelte +++ /dev/null @@ -1,347 +0,0 @@ - - -
    -
  • - - {#each reqLevel.toString().padStart(3, 'x') as num} - - {/each} - {#if reduceReq > 0} - - {#each req.level.toString() as num} - - {/each} - - {#each reduceReq.toString() as num} - - {/each} - - {/if} -
  • -
  • - - {#each req.str.toString().padStart(3, '0') as num} - - {/each} -
  • -
  • - - {#each req.luk.toString().padStart(3, '0') as num} - - {/each} -
  • -
  • - - {#each req.dex.toString().padStart(3, '0') as num} - - {/each} -
  • -
  • - - {#each req.int.toString().padStart(3, '0') as num} - - {/each} -
  • -
- - diff --git a/src/lib/gear-tooltip/components/Soul.svelte b/src/lib/gear-tooltip/components/Soul.svelte deleted file mode 100644 index b22d33a..0000000 --- a/src/lib/gear-tooltip/components/Soul.svelte +++ /dev/null @@ -1,28 +0,0 @@ - - -{#if soul} -
- {soul.name} 적용 -
-{/if} -
- 소울 충전량 {charge}/1000 (공:+{pad},마:+{mad}) -
-{#if soul} -
- {getSoulOptionString(soul.option)} -
-
소울 충전 시 '{soul.skill}' 사용가능
-{:else} -
소울 충전 시 '---' 사용가능
-{/if} diff --git a/src/lib/gear-tooltip/components/Star.svelte b/src/lib/gear-tooltip/components/Star.svelte deleted file mode 100644 index 1e37cee..0000000 --- a/src/lib/gear-tooltip/components/Star.svelte +++ /dev/null @@ -1,55 +0,0 @@ - - -{#each { length: lineCount } as _, i} -
- {#each stars.slice(i * 15, (i + 1) * 15) as star} -
- {/each} -
-{/each} - - diff --git a/src/lib/gear-tooltip/components/Tuc.svelte b/src/lib/gear-tooltip/components/Tuc.svelte deleted file mode 100644 index f68ce5c..0000000 --- a/src/lib/gear-tooltip/components/Tuc.svelte +++ /dev/null @@ -1,14 +0,0 @@ - - -{#if canUpgrade} -
- 업그레이드 가능 횟수 : {upgradeCountLeft} - (복구 가능 횟수 : {upgradeFailCount}) -
-{:else} -
강화불가
-{/if} diff --git a/src/lib/gear-tooltip/graphics.ts b/src/lib/gear-tooltip/graphics.ts deleted file mode 100644 index b2e7962..0000000 --- a/src/lib/gear-tooltip/graphics.ts +++ /dev/null @@ -1,29 +0,0 @@ -import type { Gear } from '@malib/gear'; - -export function getGearNameColor(gear: Gear) { - const diff = gear.diff; - const up = gear.upgradeCount > 0; - - if (diff < 0) return 'gray'; - if (diff < 6) { - if (up) return 'orange2'; - else return 'white'; - } - if (diff < 23) return 'blue'; - if (diff < 40) return 'purple'; - if (diff < 55) return 'orange2'; - if (diff < 70) return 'green'; - return 'red'; -} - -export function parseColorString(text: string): string { - return text - .replaceAll(/(\\r)?\\n/g, '\n') - .replaceAll(/#c(.+?)#(?![c$gr])/g, `$1`) - .replaceAll(/\$(.+?)#(?![c$gr])/g, `$1`) - .replaceAll(/#g(.+?)#(?![c$gr])/g, `$1`) - .replaceAll(/#r(.+?)#(?![c$gr])/g, `$1`) - .replaceAll(/#p(.+?)#(?![c$gr])/g, `$1`) - .replaceAll(/#o(.+?)#(?![c$gr])/g, `$1`) - .replaceAll(/#(c|\$|g|r|p|o)?/g, ''); -} diff --git a/src/lib/gear-tooltip/images/can/0.png b/src/lib/gear-tooltip/images/can/0.png deleted file mode 100644 index 0b49fcc..0000000 Binary files a/src/lib/gear-tooltip/images/can/0.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/1.png b/src/lib/gear-tooltip/images/can/1.png deleted file mode 100644 index 7e147b1..0000000 Binary files a/src/lib/gear-tooltip/images/can/1.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/2.png b/src/lib/gear-tooltip/images/can/2.png deleted file mode 100644 index e34d8ad..0000000 Binary files a/src/lib/gear-tooltip/images/can/2.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/3.png b/src/lib/gear-tooltip/images/can/3.png deleted file mode 100644 index 7cb4739..0000000 Binary files a/src/lib/gear-tooltip/images/can/3.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/4.png b/src/lib/gear-tooltip/images/can/4.png deleted file mode 100644 index b30c4da..0000000 Binary files a/src/lib/gear-tooltip/images/can/4.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/5.png b/src/lib/gear-tooltip/images/can/5.png deleted file mode 100644 index cb14b22..0000000 Binary files a/src/lib/gear-tooltip/images/can/5.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/6.png b/src/lib/gear-tooltip/images/can/6.png deleted file mode 100644 index dc40e36..0000000 Binary files a/src/lib/gear-tooltip/images/can/6.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/7.png b/src/lib/gear-tooltip/images/can/7.png deleted file mode 100644 index 1197851..0000000 Binary files a/src/lib/gear-tooltip/images/can/7.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/8.png b/src/lib/gear-tooltip/images/can/8.png deleted file mode 100644 index 7169bb8..0000000 Binary files a/src/lib/gear-tooltip/images/can/8.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/9.png b/src/lib/gear-tooltip/images/can/9.png deleted file mode 100644 index a0cc8be..0000000 Binary files a/src/lib/gear-tooltip/images/can/9.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/close.png b/src/lib/gear-tooltip/images/can/close.png deleted file mode 100644 index 78f0772..0000000 Binary files a/src/lib/gear-tooltip/images/can/close.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/minus.png b/src/lib/gear-tooltip/images/can/minus.png deleted file mode 100644 index 56f0c5e..0000000 Binary files a/src/lib/gear-tooltip/images/can/minus.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/none.png b/src/lib/gear-tooltip/images/can/none.png deleted file mode 100644 index 56f0c5e..0000000 Binary files a/src/lib/gear-tooltip/images/can/none.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/open.png b/src/lib/gear-tooltip/images/can/open.png deleted file mode 100644 index 1728e0e..0000000 Binary files a/src/lib/gear-tooltip/images/can/open.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/percent.png b/src/lib/gear-tooltip/images/can/percent.png deleted file mode 100644 index f8a539d..0000000 Binary files a/src/lib/gear-tooltip/images/can/percent.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/plus.png b/src/lib/gear-tooltip/images/can/plus.png deleted file mode 100644 index e2b94d8..0000000 Binary files a/src/lib/gear-tooltip/images/can/plus.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/reqDEX.png b/src/lib/gear-tooltip/images/can/reqDEX.png deleted file mode 100644 index 09f2912..0000000 Binary files a/src/lib/gear-tooltip/images/can/reqDEX.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/reqINT.png b/src/lib/gear-tooltip/images/can/reqINT.png deleted file mode 100644 index 6aabe38..0000000 Binary files a/src/lib/gear-tooltip/images/can/reqINT.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/reqLEV.png b/src/lib/gear-tooltip/images/can/reqLEV.png deleted file mode 100644 index f7c9a13..0000000 Binary files a/src/lib/gear-tooltip/images/can/reqLEV.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/reqLUK.png b/src/lib/gear-tooltip/images/can/reqLUK.png deleted file mode 100644 index 5579f6b..0000000 Binary files a/src/lib/gear-tooltip/images/can/reqLUK.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/reqPOP.png b/src/lib/gear-tooltip/images/can/reqPOP.png deleted file mode 100644 index 5a1129b..0000000 Binary files a/src/lib/gear-tooltip/images/can/reqPOP.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/can/reqSTR.png b/src/lib/gear-tooltip/images/can/reqSTR.png deleted file mode 100644 index 7d583c4..0000000 Binary files a/src/lib/gear-tooltip/images/can/reqSTR.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/0.png b/src/lib/gear-tooltip/images/cannot/0.png deleted file mode 100644 index a21cfdf..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/0.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/1.png b/src/lib/gear-tooltip/images/cannot/1.png deleted file mode 100644 index 8d18d11..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/1.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/2.png b/src/lib/gear-tooltip/images/cannot/2.png deleted file mode 100644 index d61596d..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/2.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/3.png b/src/lib/gear-tooltip/images/cannot/3.png deleted file mode 100644 index d491c59..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/3.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/4.png b/src/lib/gear-tooltip/images/cannot/4.png deleted file mode 100644 index dba6e30..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/4.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/5.png b/src/lib/gear-tooltip/images/cannot/5.png deleted file mode 100644 index 0514d0f..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/5.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/6.png b/src/lib/gear-tooltip/images/cannot/6.png deleted file mode 100644 index 5b92971..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/6.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/7.png b/src/lib/gear-tooltip/images/cannot/7.png deleted file mode 100644 index 929b7ac..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/7.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/8.png b/src/lib/gear-tooltip/images/cannot/8.png deleted file mode 100644 index 7d112f1..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/8.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/9.png b/src/lib/gear-tooltip/images/cannot/9.png deleted file mode 100644 index 8b556c1..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/9.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/minus.png b/src/lib/gear-tooltip/images/cannot/minus.png deleted file mode 100644 index b2de816..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/minus.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/none.png b/src/lib/gear-tooltip/images/cannot/none.png deleted file mode 100644 index b2de816..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/none.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/percent.png b/src/lib/gear-tooltip/images/cannot/percent.png deleted file mode 100644 index 5148a66..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/percent.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/plus.png b/src/lib/gear-tooltip/images/cannot/plus.png deleted file mode 100644 index 833656c..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/plus.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/reqDEX.png b/src/lib/gear-tooltip/images/cannot/reqDEX.png deleted file mode 100644 index 56fedab..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/reqDEX.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/reqINT.png b/src/lib/gear-tooltip/images/cannot/reqINT.png deleted file mode 100644 index 5c8f950..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/reqINT.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/reqLEV.png b/src/lib/gear-tooltip/images/cannot/reqLEV.png deleted file mode 100644 index 4cfa6f2..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/reqLEV.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/reqLUK.png b/src/lib/gear-tooltip/images/cannot/reqLUK.png deleted file mode 100644 index f43ac34..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/reqLUK.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/reqPOP.png b/src/lib/gear-tooltip/images/cannot/reqPOP.png deleted file mode 100644 index 36659a1..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/reqPOP.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/cannot/reqSTR.png b/src/lib/gear-tooltip/images/cannot/reqSTR.png deleted file mode 100644 index 73c67a2..0000000 Binary files a/src/lib/gear-tooltip/images/cannot/reqSTR.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/0.png b/src/lib/gear-tooltip/images/disabled/0.png deleted file mode 100644 index 6eeb5c4..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/0.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/1.png b/src/lib/gear-tooltip/images/disabled/1.png deleted file mode 100644 index 0faf755..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/1.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/2.png b/src/lib/gear-tooltip/images/disabled/2.png deleted file mode 100644 index c1cd8f2..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/2.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/3.png b/src/lib/gear-tooltip/images/disabled/3.png deleted file mode 100644 index c63e32d..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/3.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/4.png b/src/lib/gear-tooltip/images/disabled/4.png deleted file mode 100644 index f88a1ea..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/4.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/5.png b/src/lib/gear-tooltip/images/disabled/5.png deleted file mode 100644 index f543529..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/5.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/6.png b/src/lib/gear-tooltip/images/disabled/6.png deleted file mode 100644 index 0a6bbdb..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/6.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/7.png b/src/lib/gear-tooltip/images/disabled/7.png deleted file mode 100644 index 210e0ee..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/7.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/8.png b/src/lib/gear-tooltip/images/disabled/8.png deleted file mode 100644 index 247e647..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/8.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/9.png b/src/lib/gear-tooltip/images/disabled/9.png deleted file mode 100644 index 2a6922f..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/9.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/minus.png b/src/lib/gear-tooltip/images/disabled/minus.png deleted file mode 100644 index ee6ef7a..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/minus.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/none.png b/src/lib/gear-tooltip/images/disabled/none.png deleted file mode 100644 index ee6ef7a..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/none.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/percent.png b/src/lib/gear-tooltip/images/disabled/percent.png deleted file mode 100644 index 700bc29..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/percent.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/plus.png b/src/lib/gear-tooltip/images/disabled/plus.png deleted file mode 100644 index ba6b057..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/plus.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/reqDEX.png b/src/lib/gear-tooltip/images/disabled/reqDEX.png deleted file mode 100644 index fd60b53..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/reqDEX.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/reqINT.png b/src/lib/gear-tooltip/images/disabled/reqINT.png deleted file mode 100644 index 78295c0..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/reqINT.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/reqLEV.png b/src/lib/gear-tooltip/images/disabled/reqLEV.png deleted file mode 100644 index e81b4e3..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/reqLEV.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/reqLUK.png b/src/lib/gear-tooltip/images/disabled/reqLUK.png deleted file mode 100644 index 907367f..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/reqLUK.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/reqPOP.png b/src/lib/gear-tooltip/images/disabled/reqPOP.png deleted file mode 100644 index 00cf087..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/reqPOP.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/disabled/reqSTR.png b/src/lib/gear-tooltip/images/disabled/reqSTR.png deleted file mode 100644 index 54e2f03..0000000 Binary files a/src/lib/gear-tooltip/images/disabled/reqSTR.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/exceptional/exceptional.png b/src/lib/gear-tooltip/images/exceptional/exceptional.png deleted file mode 100644 index e5fb207..0000000 Binary files a/src/lib/gear-tooltip/images/exceptional/exceptional.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/frame/bottom.png b/src/lib/gear-tooltip/images/frame/bottom.png deleted file mode 100644 index 0a181da..0000000 Binary files a/src/lib/gear-tooltip/images/frame/bottom.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/frame/cover.png b/src/lib/gear-tooltip/images/frame/cover.png deleted file mode 100644 index 1d87691..0000000 Binary files a/src/lib/gear-tooltip/images/frame/cover.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/frame/dotline.png b/src/lib/gear-tooltip/images/frame/dotline.png deleted file mode 100644 index 2587d1f..0000000 Binary files a/src/lib/gear-tooltip/images/frame/dotline.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/frame/line.png b/src/lib/gear-tooltip/images/frame/line.png deleted file mode 100644 index efed5e9..0000000 Binary files a/src/lib/gear-tooltip/images/frame/line.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/frame/top.png b/src/lib/gear-tooltip/images/frame/top.png deleted file mode 100644 index 5469cb8..0000000 Binary files a/src/lib/gear-tooltip/images/frame/top.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/itemIcon/base.png b/src/lib/gear-tooltip/images/itemIcon/base.png deleted file mode 100644 index 1c37ad8..0000000 Binary files a/src/lib/gear-tooltip/images/itemIcon/base.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/itemIcon/cover.png b/src/lib/gear-tooltip/images/itemIcon/cover.png deleted file mode 100644 index 979c289..0000000 Binary files a/src/lib/gear-tooltip/images/itemIcon/cover.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/itemIcon/epic.png b/src/lib/gear-tooltip/images/itemIcon/epic.png deleted file mode 100644 index 5244b60..0000000 Binary files a/src/lib/gear-tooltip/images/itemIcon/epic.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/itemIcon/legendary.png b/src/lib/gear-tooltip/images/itemIcon/legendary.png deleted file mode 100644 index a8a16b8..0000000 Binary files a/src/lib/gear-tooltip/images/itemIcon/legendary.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/itemIcon/new.png b/src/lib/gear-tooltip/images/itemIcon/new.png deleted file mode 100644 index 28df269..0000000 Binary files a/src/lib/gear-tooltip/images/itemIcon/new.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/itemIcon/old.png b/src/lib/gear-tooltip/images/itemIcon/old.png deleted file mode 100644 index 1333ec1..0000000 Binary files a/src/lib/gear-tooltip/images/itemIcon/old.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/itemIcon/rare.png b/src/lib/gear-tooltip/images/itemIcon/rare.png deleted file mode 100644 index 57bf97f..0000000 Binary files a/src/lib/gear-tooltip/images/itemIcon/rare.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/itemIcon/shade.png b/src/lib/gear-tooltip/images/itemIcon/shade.png deleted file mode 100644 index 4c0646d..0000000 Binary files a/src/lib/gear-tooltip/images/itemIcon/shade.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/itemIcon/unique.png b/src/lib/gear-tooltip/images/itemIcon/unique.png deleted file mode 100644 index 4cc692d..0000000 Binary files a/src/lib/gear-tooltip/images/itemIcon/unique.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/itemIcon/unknown.png b/src/lib/gear-tooltip/images/itemIcon/unknown.png deleted file mode 100644 index 9de29a6..0000000 Binary files a/src/lib/gear-tooltip/images/itemIcon/unknown.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/job/disable/0.png b/src/lib/gear-tooltip/images/job/disable/0.png deleted file mode 100644 index 5d22f3f..0000000 Binary files a/src/lib/gear-tooltip/images/job/disable/0.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/job/disable/1.png b/src/lib/gear-tooltip/images/job/disable/1.png deleted file mode 100644 index 966a006..0000000 Binary files a/src/lib/gear-tooltip/images/job/disable/1.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/job/disable/2.png b/src/lib/gear-tooltip/images/job/disable/2.png deleted file mode 100644 index 029dab1..0000000 Binary files a/src/lib/gear-tooltip/images/job/disable/2.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/job/disable/3.png b/src/lib/gear-tooltip/images/job/disable/3.png deleted file mode 100644 index 6074b24..0000000 Binary files a/src/lib/gear-tooltip/images/job/disable/3.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/job/disable/4.png b/src/lib/gear-tooltip/images/job/disable/4.png deleted file mode 100644 index 13fe43d..0000000 Binary files a/src/lib/gear-tooltip/images/job/disable/4.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/job/disable/5.png b/src/lib/gear-tooltip/images/job/disable/5.png deleted file mode 100644 index 546195a..0000000 Binary files a/src/lib/gear-tooltip/images/job/disable/5.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/job/enable/0.png b/src/lib/gear-tooltip/images/job/enable/0.png deleted file mode 100644 index f006be0..0000000 Binary files a/src/lib/gear-tooltip/images/job/enable/0.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/job/enable/1.png b/src/lib/gear-tooltip/images/job/enable/1.png deleted file mode 100644 index a1b5f66..0000000 Binary files a/src/lib/gear-tooltip/images/job/enable/1.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/job/enable/2.png b/src/lib/gear-tooltip/images/job/enable/2.png deleted file mode 100644 index 7fee160..0000000 Binary files a/src/lib/gear-tooltip/images/job/enable/2.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/job/enable/3.png b/src/lib/gear-tooltip/images/job/enable/3.png deleted file mode 100644 index 2b51f90..0000000 Binary files a/src/lib/gear-tooltip/images/job/enable/3.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/job/enable/4.png b/src/lib/gear-tooltip/images/job/enable/4.png deleted file mode 100644 index f00fafb..0000000 Binary files a/src/lib/gear-tooltip/images/job/enable/4.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/job/enable/5.png b/src/lib/gear-tooltip/images/job/enable/5.png deleted file mode 100644 index a560d0f..0000000 Binary files a/src/lib/gear-tooltip/images/job/enable/5.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/job/expand.png b/src/lib/gear-tooltip/images/job/expand.png deleted file mode 100644 index 6da1351..0000000 Binary files a/src/lib/gear-tooltip/images/job/expand.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/job/normal.png b/src/lib/gear-tooltip/images/job/normal.png deleted file mode 100644 index bd61ed2..0000000 Binary files a/src/lib/gear-tooltip/images/job/normal.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/lookahead/0.png b/src/lib/gear-tooltip/images/lookahead/0.png deleted file mode 100644 index 37f2a54..0000000 Binary files a/src/lib/gear-tooltip/images/lookahead/0.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/lookahead/1.png b/src/lib/gear-tooltip/images/lookahead/1.png deleted file mode 100644 index d998973..0000000 Binary files a/src/lib/gear-tooltip/images/lookahead/1.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/lookahead/2.png b/src/lib/gear-tooltip/images/lookahead/2.png deleted file mode 100644 index f92681f..0000000 Binary files a/src/lib/gear-tooltip/images/lookahead/2.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/lookahead/3.png b/src/lib/gear-tooltip/images/lookahead/3.png deleted file mode 100644 index 1ec1515..0000000 Binary files a/src/lib/gear-tooltip/images/lookahead/3.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/lookahead/4.png b/src/lib/gear-tooltip/images/lookahead/4.png deleted file mode 100644 index 6af3ea4..0000000 Binary files a/src/lib/gear-tooltip/images/lookahead/4.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/lookahead/5.png b/src/lib/gear-tooltip/images/lookahead/5.png deleted file mode 100644 index 1517ac4..0000000 Binary files a/src/lib/gear-tooltip/images/lookahead/5.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/lookahead/6.png b/src/lib/gear-tooltip/images/lookahead/6.png deleted file mode 100644 index 9d291fd..0000000 Binary files a/src/lib/gear-tooltip/images/lookahead/6.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/lookahead/7.png b/src/lib/gear-tooltip/images/lookahead/7.png deleted file mode 100644 index 14d3222..0000000 Binary files a/src/lib/gear-tooltip/images/lookahead/7.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/lookahead/8.png b/src/lib/gear-tooltip/images/lookahead/8.png deleted file mode 100644 index 1f896dc..0000000 Binary files a/src/lib/gear-tooltip/images/lookahead/8.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/lookahead/9.png b/src/lib/gear-tooltip/images/lookahead/9.png deleted file mode 100644 index 46560ce..0000000 Binary files a/src/lib/gear-tooltip/images/lookahead/9.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/lookahead/minus.png b/src/lib/gear-tooltip/images/lookahead/minus.png deleted file mode 100644 index 3fe866b..0000000 Binary files a/src/lib/gear-tooltip/images/lookahead/minus.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/lookahead/none.png b/src/lib/gear-tooltip/images/lookahead/none.png deleted file mode 100644 index 3fe866b..0000000 Binary files a/src/lib/gear-tooltip/images/lookahead/none.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/lookahead/percent.png b/src/lib/gear-tooltip/images/lookahead/percent.png deleted file mode 100644 index 3a9d83a..0000000 Binary files a/src/lib/gear-tooltip/images/lookahead/percent.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/lookahead/plus.png b/src/lib/gear-tooltip/images/lookahead/plus.png deleted file mode 100644 index 99346b2..0000000 Binary files a/src/lib/gear-tooltip/images/lookahead/plus.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/potential/epic.png b/src/lib/gear-tooltip/images/potential/epic.png deleted file mode 100644 index ecdcd86..0000000 Binary files a/src/lib/gear-tooltip/images/potential/epic.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/potential/legendary.png b/src/lib/gear-tooltip/images/potential/legendary.png deleted file mode 100644 index 83f2fc1..0000000 Binary files a/src/lib/gear-tooltip/images/potential/legendary.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/potential/rare.png b/src/lib/gear-tooltip/images/potential/rare.png deleted file mode 100644 index 201540b..0000000 Binary files a/src/lib/gear-tooltip/images/potential/rare.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/potential/unique.png b/src/lib/gear-tooltip/images/potential/unique.png deleted file mode 100644 index 5ae14db..0000000 Binary files a/src/lib/gear-tooltip/images/potential/unique.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/star/blue.png b/src/lib/gear-tooltip/images/star/blue.png deleted file mode 100644 index c3f8617..0000000 Binary files a/src/lib/gear-tooltip/images/star/blue.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/star/empty.png b/src/lib/gear-tooltip/images/star/empty.png deleted file mode 100644 index cd8b22d..0000000 Binary files a/src/lib/gear-tooltip/images/star/empty.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/star/yellow.png b/src/lib/gear-tooltip/images/star/yellow.png deleted file mode 100644 index ec5f664..0000000 Binary files a/src/lib/gear-tooltip/images/star/yellow.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/decline/0.png b/src/lib/gear-tooltip/images/summary/decline/0.png deleted file mode 100644 index 42d876b..0000000 Binary files a/src/lib/gear-tooltip/images/summary/decline/0.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/decline/1.png b/src/lib/gear-tooltip/images/summary/decline/1.png deleted file mode 100644 index 63ec71f..0000000 Binary files a/src/lib/gear-tooltip/images/summary/decline/1.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/decline/2.png b/src/lib/gear-tooltip/images/summary/decline/2.png deleted file mode 100644 index add159a..0000000 Binary files a/src/lib/gear-tooltip/images/summary/decline/2.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/decline/3.png b/src/lib/gear-tooltip/images/summary/decline/3.png deleted file mode 100644 index 84c3a4f..0000000 Binary files a/src/lib/gear-tooltip/images/summary/decline/3.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/decline/4.png b/src/lib/gear-tooltip/images/summary/decline/4.png deleted file mode 100644 index d7d6186..0000000 Binary files a/src/lib/gear-tooltip/images/summary/decline/4.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/decline/5.png b/src/lib/gear-tooltip/images/summary/decline/5.png deleted file mode 100644 index 62768d4..0000000 Binary files a/src/lib/gear-tooltip/images/summary/decline/5.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/decline/6.png b/src/lib/gear-tooltip/images/summary/decline/6.png deleted file mode 100644 index d559a4d..0000000 Binary files a/src/lib/gear-tooltip/images/summary/decline/6.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/decline/7.png b/src/lib/gear-tooltip/images/summary/decline/7.png deleted file mode 100644 index 854c7a5..0000000 Binary files a/src/lib/gear-tooltip/images/summary/decline/7.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/decline/8.png b/src/lib/gear-tooltip/images/summary/decline/8.png deleted file mode 100644 index 0f9e396..0000000 Binary files a/src/lib/gear-tooltip/images/summary/decline/8.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/decline/9.png b/src/lib/gear-tooltip/images/summary/decline/9.png deleted file mode 100644 index fd13335..0000000 Binary files a/src/lib/gear-tooltip/images/summary/decline/9.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/decline/minus.png b/src/lib/gear-tooltip/images/summary/decline/minus.png deleted file mode 100644 index 6f5dc8a..0000000 Binary files a/src/lib/gear-tooltip/images/summary/decline/minus.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/icon/bdr.png b/src/lib/gear-tooltip/images/summary/icon/bdr.png deleted file mode 100644 index c3c0b86..0000000 Binary files a/src/lib/gear-tooltip/images/summary/icon/bdr.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/icon/igpddr.png b/src/lib/gear-tooltip/images/summary/icon/igpddr.png deleted file mode 100644 index f0c1dee..0000000 Binary files a/src/lib/gear-tooltip/images/summary/icon/igpddr.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/icon/pdd.png b/src/lib/gear-tooltip/images/summary/icon/pdd.png deleted file mode 100644 index 60ac682..0000000 Binary files a/src/lib/gear-tooltip/images/summary/icon/pdd.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/incline/0.png b/src/lib/gear-tooltip/images/summary/incline/0.png deleted file mode 100644 index 822aa50..0000000 Binary files a/src/lib/gear-tooltip/images/summary/incline/0.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/incline/1.png b/src/lib/gear-tooltip/images/summary/incline/1.png deleted file mode 100644 index 1d39986..0000000 Binary files a/src/lib/gear-tooltip/images/summary/incline/1.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/incline/2.png b/src/lib/gear-tooltip/images/summary/incline/2.png deleted file mode 100644 index 76f0c5a..0000000 Binary files a/src/lib/gear-tooltip/images/summary/incline/2.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/incline/3.png b/src/lib/gear-tooltip/images/summary/incline/3.png deleted file mode 100644 index b287a2d..0000000 Binary files a/src/lib/gear-tooltip/images/summary/incline/3.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/incline/4.png b/src/lib/gear-tooltip/images/summary/incline/4.png deleted file mode 100644 index f4baf93..0000000 Binary files a/src/lib/gear-tooltip/images/summary/incline/4.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/incline/5.png b/src/lib/gear-tooltip/images/summary/incline/5.png deleted file mode 100644 index c05288a..0000000 Binary files a/src/lib/gear-tooltip/images/summary/incline/5.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/incline/6.png b/src/lib/gear-tooltip/images/summary/incline/6.png deleted file mode 100644 index f9e3fcb..0000000 Binary files a/src/lib/gear-tooltip/images/summary/incline/6.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/incline/7.png b/src/lib/gear-tooltip/images/summary/incline/7.png deleted file mode 100644 index 83b8b83..0000000 Binary files a/src/lib/gear-tooltip/images/summary/incline/7.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/incline/8.png b/src/lib/gear-tooltip/images/summary/incline/8.png deleted file mode 100644 index ec60922..0000000 Binary files a/src/lib/gear-tooltip/images/summary/incline/8.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/incline/9.png b/src/lib/gear-tooltip/images/summary/incline/9.png deleted file mode 100644 index f4a62d8..0000000 Binary files a/src/lib/gear-tooltip/images/summary/incline/9.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/summary/incline/plus.png b/src/lib/gear-tooltip/images/summary/incline/plus.png deleted file mode 100644 index 1f46aa5..0000000 Binary files a/src/lib/gear-tooltip/images/summary/incline/plus.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/yellowNumber/0.png b/src/lib/gear-tooltip/images/yellowNumber/0.png deleted file mode 100644 index 1bc7b1b..0000000 Binary files a/src/lib/gear-tooltip/images/yellowNumber/0.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/yellowNumber/1.png b/src/lib/gear-tooltip/images/yellowNumber/1.png deleted file mode 100644 index 914b428..0000000 Binary files a/src/lib/gear-tooltip/images/yellowNumber/1.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/yellowNumber/2.png b/src/lib/gear-tooltip/images/yellowNumber/2.png deleted file mode 100644 index 588853a..0000000 Binary files a/src/lib/gear-tooltip/images/yellowNumber/2.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/yellowNumber/3.png b/src/lib/gear-tooltip/images/yellowNumber/3.png deleted file mode 100644 index a5e52c2..0000000 Binary files a/src/lib/gear-tooltip/images/yellowNumber/3.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/yellowNumber/4.png b/src/lib/gear-tooltip/images/yellowNumber/4.png deleted file mode 100644 index a069aab..0000000 Binary files a/src/lib/gear-tooltip/images/yellowNumber/4.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/yellowNumber/5.png b/src/lib/gear-tooltip/images/yellowNumber/5.png deleted file mode 100644 index 2eda4ed..0000000 Binary files a/src/lib/gear-tooltip/images/yellowNumber/5.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/yellowNumber/6.png b/src/lib/gear-tooltip/images/yellowNumber/6.png deleted file mode 100644 index 0ec8f78..0000000 Binary files a/src/lib/gear-tooltip/images/yellowNumber/6.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/yellowNumber/7.png b/src/lib/gear-tooltip/images/yellowNumber/7.png deleted file mode 100644 index b5d12e4..0000000 Binary files a/src/lib/gear-tooltip/images/yellowNumber/7.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/yellowNumber/8.png b/src/lib/gear-tooltip/images/yellowNumber/8.png deleted file mode 100644 index 8531457..0000000 Binary files a/src/lib/gear-tooltip/images/yellowNumber/8.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/yellowNumber/9.png b/src/lib/gear-tooltip/images/yellowNumber/9.png deleted file mode 100644 index 34e4875..0000000 Binary files a/src/lib/gear-tooltip/images/yellowNumber/9.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/yellowNumber/minus.png b/src/lib/gear-tooltip/images/yellowNumber/minus.png deleted file mode 100644 index 9a290ff..0000000 Binary files a/src/lib/gear-tooltip/images/yellowNumber/minus.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/yellowNumber/none.png b/src/lib/gear-tooltip/images/yellowNumber/none.png deleted file mode 100644 index 9a290ff..0000000 Binary files a/src/lib/gear-tooltip/images/yellowNumber/none.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/yellowNumber/percent.png b/src/lib/gear-tooltip/images/yellowNumber/percent.png deleted file mode 100644 index 635b8e3..0000000 Binary files a/src/lib/gear-tooltip/images/yellowNumber/percent.png and /dev/null differ diff --git a/src/lib/gear-tooltip/images/yellowNumber/plus.png b/src/lib/gear-tooltip/images/yellowNumber/plus.png deleted file mode 100644 index ce1d72b..0000000 Binary files a/src/lib/gear-tooltip/images/yellowNumber/plus.png and /dev/null differ diff --git a/src/lib/gear-tooltip/img/GearTooltipCanvas.svelte b/src/lib/gear-tooltip/img/GearTooltipCanvas.svelte deleted file mode 100644 index 864ec1f..0000000 --- a/src/lib/gear-tooltip/img/GearTooltipCanvas.svelte +++ /dev/null @@ -1,46 +0,0 @@ - - -
- -
diff --git a/src/lib/gear-tooltip/strings.ts b/src/lib/gear-tooltip/strings.ts deleted file mode 100644 index d359694..0000000 --- a/src/lib/gear-tooltip/strings.ts +++ /dev/null @@ -1,662 +0,0 @@ -import { GearOption, GearPropType, GearType, PotentialGrade } from '@malib/gear'; - -export function getGearPropString(type: GearPropType, value: number) { - if (value === 0) return ''; - switch (type) { - case GearPropType.incSTR: - return `STR : +${value}`; - case GearPropType.incDEX: - return `DEX : +${value}`; - case GearPropType.incINT: - return `INT : +${value}`; - case GearPropType.incLUK: - return `LUK : +${value}`; - case GearPropType.incAllStat: - return `올스탯 : +${value}`; - case GearPropType.incMHP: - return `최대 HP : +${value}`; - case GearPropType.incMMP: - return `최대 MP : +${value}`; - case GearPropType.incMHPr: - return `최대 HP : +${value}%`; - case GearPropType.incMMPr: - return `최대 MP : +${value}%`; - case GearPropType.incMDF: - return `MaxDF : +${value}`; - case GearPropType.incPAD: - return `공격력 : +${value}`; - case GearPropType.incMAD: - return `마력 : +${value}`; - case GearPropType.incPDD: - return `방어력 : +${value}`; - case GearPropType.incSpeed: - return `이동속도 : +${value}`; - case GearPropType.incJump: - return `점프력 : +${value}`; - case GearPropType.knockback: - return `직접 타격시 ${value}%의 확률로 넉백`; - case GearPropType.bdR: - return `보스 몬스터 공격 시 데미지 +${value}%`; - case GearPropType.imdR: - return `몬스터 방어율 무시 : +${value}%`; - case GearPropType.damR: - return `데미지 : +${value}%`; - case GearPropType.statR: - return `올스탯 : +${value}%`; - case GearPropType.reduceReq: - return `착용 레벨 감소 : - ${value}`; - - case GearPropType.incPADr: - return `공격력 : +${value}%`; - case GearPropType.incMADr: - return `마력 : +${value}%`; - - case GearPropType.incCr: - return `크리티컬 확률 : +${value}%`; - - case GearPropType.only: - return '고유 아이템'; - case GearPropType.tradeBlock: - return '교환 불가'; - case GearPropType.equipTradeBlock: - return '장착 시 교환 불가'; - case GearPropType.accountSharable: - return '월드 내 나의 캐릭터간 이동만 가능'; - case GearPropType.sharableOnce: - return '월드 내 나의 캐릭터 간 1회 이동 가능\n(이동 후 교환불가)'; - case GearPropType.onlyEquip: - return '고유장착 아이템'; - case GearPropType.blockGoldHammer: - return '황금망치 사용 불가'; - case GearPropType.noPotential: - return '잠재능력 설정 불가'; - case GearPropType.fixedPotential: - return '잠재능력 재설정 불가'; - case GearPropType.exceptUpgrade: - return '강화불가'; - case GearPropType.tradeAvailable: - switch (value) { - case 1: - return '#c카르마의 가위 또는 실버 카르마의 가위를 사용하면 1회 교환이 가능하게 할 수 있습니다.#'; - case 2: - return '#c플래티넘 카르마의 가위를 사용하면 1회 교환이 가능하게 할 수 있습니다.#'; - } - break; - case GearPropType.accountShareTag: - return '#c쉐어 네임 텍을 사용하면 월드 내 나의 캐릭터 간 1회 이동할 수 있습니다.#'; - case GearPropType.superiorEqp: - return '아이템 강화 성공시 더욱 높은 효과를 받을 수 있습니다.'; - case GearPropType.jokerToSetItem: - return '#c3개 이상 착용하고 있는 모든 세트 아이템에 포함되는 럭키 아이템! (단, 2개 이상의 럭키 아이템 착용 시 1개만 효과 적용.)#'; - } - return ''; -} - -export function getGearOptionString(type: GearPropType, option: GearOption, amazing: boolean) { - let propStr = getGearPropString(type, option.sum); - if (option.bonus > 0 || option.upgrade + option.enchant > 0) { - let p = ''; - let subfix = ''; - let bonusStr = ''; - let upgradeStr = ''; - let enchantStr = ''; - let upgradeVal = 0; - switch (type) { - case GearPropType.incSTR: - case GearPropType.incDEX: - case GearPropType.incINT: - case GearPropType.incLUK: - case GearPropType.incMHP: - case GearPropType.incMMP: - case GearPropType.incMDF: - case GearPropType.incARC: - case GearPropType.incAUT: - case GearPropType.incPAD: - case GearPropType.incMAD: - case GearPropType.incPDD: - case GearPropType.incSpeed: - case GearPropType.incJump: - break; - case GearPropType.bdR: - case GearPropType.incBDR: - case GearPropType.imdR: - case GearPropType.incIMDR: - case GearPropType.damR: - case GearPropType.incDAMr: - case GearPropType.statR: - p = '%'; - break; - case GearPropType.reduceReq: - return `#g${propStr}#`; - } - if (option.bonus > 0) { - bonusStr = ` #g+${option.bonus}${p}#`; - } - upgradeVal = amazing ? option.upgrade + option.enchant : option.upgrade; - if (upgradeVal > 0) { - upgradeStr = ` #p+${upgradeVal}${p}#`; - } else if (upgradeVal < 0) { - upgradeStr = ` #r+${upgradeVal}${p}#`; - } - if (!amazing && option.enchant > 0) { - enchantStr = ` #o+${option.enchant}${p}#`; - } - subfix = `(${option.base}${p}${bonusStr}${upgradeStr}${enchantStr})`; - propStr = `#$${propStr}# ${subfix}`; - } - return propStr; -} - -export function getGradeString(grade: PotentialGrade) { - switch (grade) { - case PotentialGrade.rare: - return '(레어 아이템)'; - case PotentialGrade.epic: - return '(에픽 아이템)'; - case PotentialGrade.unique: - return '(유니크 아이템)'; - case PotentialGrade.legendary: - return '(레전드리 아이템)'; - case PotentialGrade.special: - return '(스페셜 아이템)'; - default: - return ''; - } -} - -export function getGearTypeString(type: GearType) { - switch (type) { - case GearType.faceAccessory: - return '얼굴장식'; - case GearType.eyeAccessory: - return '눈장식'; - case GearType.earrings: - return '귀고리'; - case GearType.pendant: - return '펜던트'; - case GearType.belt: - return '벨트'; - case GearType.medal: - return '훈장'; - case GearType.shoulder: - return '어깨장식'; - case GearType.cap: - return '모자'; - case GearType.cape: - return '망토'; - case GearType.coat: - return '상의'; - case GearType.dragonMask: - return '드래곤 모자'; - case GearType.dragonPendant: - return '드래곤 펜던트'; - case GearType.dragonWings: - return '드래곤 날개장식'; - case GearType.dragonTail: - return '드래곤 꼬리장식'; - case GearType.glove: - return '장갑'; - case GearType.longcoat: - return '한벌옷'; - case GearType.machineEngine: - return '메카닉 엔진'; - case GearType.machineArms: - return '메카닉 암'; - case GearType.machineLegs: - return '메카닉 레그'; - case GearType.machineBody: - return '메카닉 프레임'; - case GearType.machineTransistors: - return '메카닉 트랜지스터'; - case GearType.pants: - return '하의'; - case GearType.ring: - return '반지'; - case GearType.shield: - return '방패'; - case GearType.shoes: - return '신발'; - case GearType.shiningRod: - return '샤이닝 로드'; - case GearType.soulShooter: - return '소울 슈터'; - case GearType.ohSword: - return '한손검'; - case GearType.ohAxe: - return '한손도끼'; - case GearType.ohBlunt: - return '한손둔기'; - case GearType.dagger: - return '단검'; - case GearType.katara: - return '블레이드'; - case GearType.magicArrow: - return '마법화살'; - case GearType.card: - return '카드'; - case GearType.orb: - return '오브'; - case GearType.dragonEssence: - return '용의 정수'; - case GearType.soulRing: - return '소울링'; - case GearType.magnum: - return '매그넘'; - case GearType.cane: - return '케인'; - case GearType.wand: - return '완드'; - case GearType.staff: - return '스태프'; - case GearType.thSword: - return '두손검'; - case GearType.thAxe: - return '두손도끼'; - case GearType.thBlunt: - return '두손둔기'; - case GearType.spear: - return '창'; - case GearType.polearm: - return '폴암'; - case GearType.bow: - return '활'; - case GearType.crossbow: - return '석궁'; - case GearType.claw: - return '아대'; - case GearType.knuckle: - return '너클'; - case GearType.gun: - return '건'; - case GearType.android: - return '안드로이드'; - case GearType.machineHeart: - return '기계 심장'; - case GearType.pickaxe: - return '채광 도구'; - case GearType.shovel: - return '약초채집 도구'; - case GearType.pocket: - return '포켓 아이템'; - case GearType.dualBowguns: - return '듀얼 보우건'; - case GearType.handCannon: - return '핸드캐논'; - case GearType.badge: - return '뱃지'; - case GearType.emblem: - return '엠블렘'; - case GearType.soulShield: - return '소울실드'; - case GearType.demonShield: - return '포스실드'; - case GearType.petEquip: - return '펫장비'; - case GearType.heavySword: - return '대검'; - case GearType.longSword: - return '태도'; - case GearType.medallion: - return '메달'; - case GearType.rosary: - return '로자리오'; - case GearType.ironChain: - return '쇠사슬'; - case GearType.magicBook1: - case GearType.magicBook2: - case GearType.magicBook3: - return '마도서'; - case GearType.arrowFletching: - return '화살깃'; - case GearType.bowThimble: - return '활골무'; - case GearType.daggerScabbard: - return '단검용 검집'; - case GearType.charm: - return '부적'; - case GearType.wristBand: - return '리스트밴드'; - case GearType.farSight: - return '조준기'; - case GearType.powderKeg: - case GearType.powderKeg2: - return '화약통'; - case GearType.mass: - return '무게추'; - case GearType.document: - return '문서'; - case GearType.magicMarble: - return '마법구슬'; - case GearType.arrowhead: - return '화살촉'; - case GearType.jewel: - return '보석'; - case GearType.controller: - return '컨트롤러'; - case GearType.foxMarble: - return '여우 구슬'; - case GearType.chessPiece: - return '체스피스'; - case GearType.powerSource: - return '파워소스'; - - case GearType.energySword: - return '에너지소드'; - case GearType.desperado: - return '데스페라도'; - case GearType.espLimiter: - return 'ESP 리미터'; - - case GearType.gauntletRevolver: - return '건틀렛 리볼버'; - case GearType.charge: - return '장약'; - - case GearType.chain: - return '체인'; - case GearType.magicGauntlet: - return '매직 건틀렛'; - case GearType.transmitter: - return '무기 전송장치'; - case GearType.magicWing: - return '매직윙'; - case GearType.pathOfAbyss: - return '패스 오브 어비스'; - - case GearType.relic: - return '렐릭'; - case GearType.ancientBow: - return '에인션트 보우'; - - case GearType.ritualFan: - return '부채'; - case GearType.fanTassel: - return '선추'; - - case GearType.tuner: - return '튜너'; - case GearType.bracelet: - return '브레이슬릿'; - - case GearType.breathShooter: - return '브레스 슈터'; - case GearType.weaponBelt: - return '웨폰 벨트'; - - case GearType.ornament: - return '노리개'; - - case GearType.chakram: - return '차크람'; - case GearType.hexSeeker: - return '헥스시커'; - - default: - return type; - } -} - -export function getAttackSpeedString(attackSpeed: number) { - let str: string; - switch (attackSpeed) { - case 2: - case 3: - str = '매우 빠름'; - break; - case 4: - case 5: - str = '빠름'; - break; - case 6: - str = '보통'; - break; - case 7: - case 8: - str = '느림'; - break; - case 9: - str = '매우 느림'; - break; - default: - str = attackSpeed.toString(); - break; - } - return `${str} (${10 - attackSpeed}단계)`; -} - -export function getExtraJobReqString(type: GearType) { - switch (type) { - // 0xxx - case GearType.medallion: - return '히어로 직업군 착용 가능'; - case GearType.rosary: - return '팔라딘 직업군 착용 가능'; - case GearType.ironChain: - return '다크나이트 직업군 착용 가능'; - case GearType.magicBook1: - return '불,독 계열 마법사 착용 가능'; - case GearType.magicBook2: - return '얼음,번개 계열 마법사 착용 가능'; - case GearType.magicBook3: - return '비숍 계열 마법사 착용 가능'; - case GearType.arrowFletching: - return '보우마스터 직업군 착용 가능'; - case GearType.bowThimble: - return '신궁 직업군 착용 가능'; - case GearType.daggerScabbard: - return '섀도어 직업군 착용 가능'; - case GearType.charm: - return '나이트로드 직업군 착용 가능'; - case GearType.katara: - return '듀얼블레이드 직업군 착용 가능'; - case GearType.wristBand: - return '바이퍼 직업군 착용 가능'; - case GearType.farSight: - return '캡틴 직업군 착용 가능'; - case GearType.powderKeg: - return '캐논 슈터 직업군 착용 가능'; - case GearType.relic: - return '패스파인더 직업군 착용 가능'; - - // 1xxx - case GearType.jewel: - return '시그너스 기사단 착용 가능'; - - // 2xxx - case GearType.mass: - return getExtraJobReqStringByJob(21); - case GearType.document: - return getExtraJobReqStringByJob(22); - case GearType.magicArrow: - return getExtraJobReqStringByJob(23); - case GearType.card: - return getExtraJobReqStringByJob(24); - case GearType.foxMarble: - return getExtraJobReqStringByJob(25); - case GearType.orb: - case GearType.shiningRod: - return getExtraJobReqStringByJob(27); - - // 3xxx - case GearType.demonShield: - return getExtraJobReqStringByJob(31); - case GearType.desperado: - return '데몬 어벤져 착용 가능'; - case GearType.magicMarble: - return '배틀메이지 직업군 착용 가능'; - case GearType.arrowhead: - return '와일드헌터 직업군 착용 가능'; - case GearType.magnum: - return '메카닉 착용 가능'; - case GearType.controller: - case GearType.powerSource: - case GearType.energySword: - return getExtraJobReqStringByJob(36); - case GearType.gauntletRevolver: - case GearType.charge: - return getExtraJobReqStringByJob(37); - - // 5xxx - case GearType.soulShield: - return '미하일 착용 가능'; - - // 6xxx - case GearType.dragonEssence: - return getExtraJobReqStringByJob(61); - case GearType.breathShooter: - case GearType.weaponBelt: - return getExtraJobReqStringByJob(63); - case GearType.chain: - case GearType.transmitter: - return getExtraJobReqStringByJob(64); - case GearType.soulRing: - case GearType.soulShooter: - return getExtraJobReqStringByJob(65); - - // 10xxx - case GearType.heavySword: - case GearType.longSword: - return getExtraJobReqStringByJob(101); - - case GearType.espLimiter: - case GearType.chessPiece: - return getExtraJobReqStringByJob(142); - - case GearType.magicGauntlet: - case GearType.magicWing: - return getExtraJobReqStringByJob(152); - - case GearType.pathOfAbyss: - return getExtraJobReqStringByJob(155); - - case GearType.ritualFan: - case GearType.fanTassel: - return getExtraJobReqStringByJob(164); - - case GearType.tuner: - case GearType.bracelet: - return getExtraJobReqStringByJob(151); - - case GearType.ornament: - return getExtraJobReqStringByJob(162); - - case GearType.chakram: - case GearType.hexSeeker: - return getExtraJobReqStringByJob(154); - - default: - return ''; - } -} - -export function getExtraJobReqStringByJob(specJob: number) { - switch (specJob) { - case 21: - return '아란 착용 가능'; - case 22: - return '에반 착용 가능'; - case 23: - return '메르세데스 착용가능'; - case 24: - return '팬텀 착용 가능'; - case 25: - return '은월 착용 가능'; - case 27: - return '루미너스 착용 가능'; - case 31: - return '데몬 직업군 착용 가능'; - case 36: - return '제논 착용 가능'; - case 37: - return '블래스터 착용 가능'; - case 51: - return '미하일 착용 가능'; - case 61: - return '카이저 착용 가능'; - case 63: - return '카인 착용 가능'; - case 64: - return '카데나 착용 가능'; - case 65: - return '엔젤릭 버스터 착용 가능'; - case 101: - return '제로 착용 가능'; - case 142: - return '키네시스 착용 가능'; - case 151: - return '아델 착용 가능'; - case 152: - return '일리움 착용 가능'; - case 154: - return '칼리 착용 가능'; - case 155: - return '아크 착용 가능'; - case 162: - return '라라 착용 가능'; - case 164: - return '호영 착용 가능'; - default: - return ''; - } -} - -export function getSoulOptionString(option: Map) { - if (option.size !== 1) { - return ''; - } - const [type, value] = [...option][0]; - switch (type) { - case GearPropType.bdR: - return `보스 몬스터 공격 시 데미지 : +${value}%`; - default: - return getGearPropString(type, value); - } -} - -export function optionToStrings(option: Map) { - const option2 = new Map(option); - - let temp = option2.get(GearPropType.incSTR); - if ( - temp !== undefined && - temp > 0 && - option2.get(GearPropType.incDEX) === temp && - option2.get(GearPropType.incINT) === temp && - option2.get(GearPropType.incLUK) === temp - ) { - option2.set(GearPropType.incAllStat, temp); - option2.set(GearPropType.incSTR, 0); - option2.set(GearPropType.incDEX, 0); - option2.set(GearPropType.incINT, 0); - option2.set(GearPropType.incLUK, 0); - } - - const sorted = [...option2].sort((a, b) => a[0] - b[0]); - const strings = []; - let skipMMP = false, - skipMAD = false; - for (const [type, value] of sorted) { - if (type === GearPropType.incMHP) { - temp = option2.get(GearPropType.incMHP); - if (temp !== undefined && temp > 0 && option2.get(GearPropType.incMMP) === temp) { - strings.push(`최대 HP / 최대 MP : +${value}`); - skipMMP = true; - continue; - } - } - if (type === GearPropType.incMMP && skipMMP) continue; - - if (type === GearPropType.incPAD) { - temp = option2.get(GearPropType.incPAD); - if (temp !== undefined && temp > 0 && option2.get(GearPropType.incMAD) === temp) { - strings.push(`공격력 / 마력 : +${value}`); - skipMAD = true; - continue; - } - } - if (type === GearPropType.incMAD && skipMAD) continue; - - strings.push(getGearPropString(type, value)); - } - return strings; -} diff --git a/src/lib/gear-tooltip/tooltip.scss b/src/lib/gear-tooltip/tooltip.scss deleted file mode 100644 index f0c9ae3..0000000 --- a/src/lib/gear-tooltip/tooltip.scss +++ /dev/null @@ -1,86 +0,0 @@ -$prefix: gt; - -$gear-white: rgb(255, 255, 255); -$gear-red: rgb(255, 0, 102); -$gear-red2: rgb(255, 51, 51); -$gear-orange: rgb(255, 170, 0); -$gear-orange2: rgb(255, 204, 0); -$gear-orange3: rgb(255, 136, 17); -$gear-yellow: rgb(255, 255, 68); -$gear-green: rgb(204, 255, 0); -$gear-blue: rgb(102, 255, 255); -$gear-purple: rgb(153, 102, 255); -$gear-purple2: rgb(170, 170, 255); -$gear-gray: rgb(187, 187, 187); -$gear-gray2: rgb(153, 153, 153); - -.#{$prefix}--text { - line-height: 15px; - font-size: 11px; - font-family: 돋움; - white-space: pre-wrap; - letter-spacing: normal; - color: $gear-white; -} - -.#{$prefix}--text.#{$prefix}--text--title { - line-height: 19px; - font-size: 14px; - font-weight: bold; - text-align: center; - text-wrap: balance; -} - -.#{$prefix}--text.#{$prefix}--text--soul { - line-height: 16px; - font-size: 12px; -} - -.#{$prefix}--hidden-text .#{$prefix}--text *, -.#{$prefix}--hidden-text .#{$prefix}--text { - color: transparent !important; -} - -.#{$prefix}--hidden-except-text * { - background-image: none !important; -} - -.#{$prefix}--text--white { - color: $gear-white; -} -.#{$prefix}--text--red { - color: $gear-red; -} -.#{$prefix}--text--red2 { - color: $gear-red2; -} -.#{$prefix}--text--orange { - color: $gear-orange; -} -.#{$prefix}--text--orange2 { - color: $gear-orange2; -} -.#{$prefix}--text--orange3 { - color: $gear-orange3; -} -.#{$prefix}--text--yellow { - color: $gear-yellow; -} -.#{$prefix}--text--green { - color: $gear-green; -} -.#{$prefix}--text--blue { - color: $gear-blue; -} -.#{$prefix}--text--purple { - color: $gear-purple; -} -.#{$prefix}--text--purple2 { - color: $gear-purple2; -} -.#{$prefix}--text--gray { - color: $gear-gray; -} -.#{$prefix}--text--gray2 { - color: $gear-gray2; -} diff --git a/src/lib/icon/FetchedOriginIcon.svelte b/src/lib/icon/FetchedOriginIcon.svelte deleted file mode 100644 index 67ccb14..0000000 --- a/src/lib/icon/FetchedOriginIcon.svelte +++ /dev/null @@ -1,36 +0,0 @@ - - - diff --git a/src/lib/icon/GearIcon.svelte b/src/lib/icon/GearIcon.svelte deleted file mode 100644 index 1c58c8d..0000000 --- a/src/lib/icon/GearIcon.svelte +++ /dev/null @@ -1,14 +0,0 @@ - - - diff --git a/src/lib/icon/ItemIcon.svelte b/src/lib/icon/ItemIcon.svelte deleted file mode 100644 index 03fa26c..0000000 --- a/src/lib/icon/ItemIcon.svelte +++ /dev/null @@ -1,14 +0,0 @@ - - - diff --git a/src/lib/icon/OriginIcon.svelte b/src/lib/icon/OriginIcon.svelte deleted file mode 100644 index d4216d3..0000000 --- a/src/lib/icon/OriginIcon.svelte +++ /dev/null @@ -1,35 +0,0 @@ - - -
-
-
- - diff --git a/src/lib/import-gear/ImportGearModal.svelte b/src/lib/import-gear/ImportGearModal.svelte deleted file mode 100644 index 2fda59b..0000000 --- a/src/lib/import-gear/ImportGearModal.svelte +++ /dev/null @@ -1,157 +0,0 @@ - - - -
-
- {#if files.length === 0} -