{"_id":"@bluelovers/rpglevel","_rev":"1-9c3f12cf2500641eb01bb7436d04df5d","name":"@bluelovers/rpglevel","dist-tags":{"latest":"2.0.2"},"versions":{"2.0.1":{"name":"@bluelovers/rpglevel","version":"2.0.1","description":"Manage the \"level\" and the \"exp\"","keywords":["rpg","game","exp","lv","level","create-by-yarn-tool","create-by-tsdx"],"license":"MIT","author":{"name":"kjirou"},"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.esm.mjs"},"./package.json":"./package.json","./src/*":"./src/*"},"main":"dist/index.cjs","unpkg":"dist/index.umd.production.min.cjs","module":"dist/index.esm.mjs","types":"dist/index.d.ts","typings":"dist/index.d.ts","directories":{"test":"test"},"scripts":{"coverage":"yarn run test -- --coverage","pretest":"echo pretest","test":"yarn run test:jest","test:jest":"jest --passWithNoTests","test:jest:clearCache":"jest --clearCache","test:jest:coverage":"yarn run test:jest -- --coverage","test:jest:snapshot":"yarn run test:jest -- -u","test:snapshot":"yarn run test -- -u","test:tsd":"ynpx tsd","posttest":"yarn run build","install:frozenLockfile":"yarn-tool install --frozen-lockfile","install:resetLockfile":"yarn-tool install --reset-lockfile","build":"yarn run build:tsdx && yarn run build:dts:bundle","build:dts:bundle":"ynpx @bluelovers/dts-bundle-generator -o ./dist/index.d.ts ./src/index.ts --no-banner --inline-declare-global & echo build:dts:bundle","build:dts:copy":"copy .\\src\\index.d.ts .\\dist\\index.d.ts & echo build:dts","build:dts:tsc":"yarn run build:dts:copy && yarn run build:dts:tsc:emit && yarn run build:dts:copy","build:dts:tsc:emit":"tsc --emitDeclarationOnly --declaration --noEmit false","build:tsdx":"ynpx @bluelovers/tsdx build --target node","ci:install":"yarn install --frozen-lockfile && yarn add -W yarn-tool lerna@6 ynpx ts-node ts-jest jest typescript@next @bluelovers/jest-config tsx","ci:build":"echo ci:build","npm:publish":"npm publish","npm:publish:bump":"yarn run version:bump && npm publish","npm:publish:bump:major":"yarn run version:bump:major && npm publish","npm:publish:bump:minor":"yarn run version:bump:minor && npm publish","npm:publish:bump:patch":"yarn run version:bump:patch && npm publish","npm:publish:bump:prerelease":"yarn run version:bump:prerelease && npm publish","ws:fix-all":"yarn-tool fix-all  --overwriteHostedGitInfo","ws:fix-all:resetStaticFiles":"yarn run ws:fix-all -- --resetStaticFiles","preversion":"echo preversion && yarn run test","version":"echo version","version:bump":"yarn-tool version","version:bump:major":"yarn run version:bump -- --bump major","version:bump:minor":"yarn run version:bump -- --bump minor","version:bump:patch":"yarn run version:bump -- --bump patch","version:bump:prerelease":"yarn run version:bump -- --bump prerelease","postversion":"echo postversion","prepublish":"echo prepublish","prepare":"echo prepare","prepublishOnly":"yarn run preversion","prepublishOnly:check-bin":"ynpx --quiet @yarn-tool/check-pkg-bin","prepack":"echo prepack","pack":"echo pack","postpack":"echo postpack","publish":"echo publish","postpublish":"yarn run postpublish:changelog && yarn run postpublish:git:commit && yarn run postpublish:git:tag && yarn run postpublish:git:push","postpublish:changelog":"ynpx --quiet @yarn-tool/changelog && git add ./CHANGELOG.md","postpublish:git:commit":"git commit -m \"chore(release): publish\" . & echo postpublish:git:commit","postpublish:git:push":"git push --follow-tags","postpublish:git:tag":"ynpx --quiet @yarn-tool/tag","postpublishOnly":"echo postpublishOnly","cli-browser-test":"testem ci -l phantomjs,chrome,firefox","ncu":"yarn-tool ncu -u","tsc:showConfig":"ynpx get-current-tsconfig -p"},"dependencies":{"lodash":"4.17.21"},"devDependencies":{"@bluelovers/tsconfig":"^1.0.35","@types/jest":"^29.5.12","@types/lodash":"^4.14.202","@types/sinon":"^17.0.3","sinon":"17.0.1"},"packageManager":"yarn@1.22.19","publishConfig":{"access":"public"},"_id":"@bluelovers/rpglevel@2.0.1","gitHead":"249ec5d2bae0f4a2eeda1198454514c76fcd394e","_nodeVersion":"21.6.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-7kjscW7WL95VJAvnD9YH/5A++gbnATD1Q8uBmeZhGgtLsNltPG0Iw4V1+ZA1VNUOUstjLtygxhqiM/us+2TU4g==","shasum":"71cd1742050137066da8eee82a113b0e5eafe1b4","tarball":"https://registry.npmjs.org/@bluelovers/rpglevel/-/rpglevel-2.0.1.tgz","fileCount":18,"unpackedSize":123026,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEc4gRnupA+8fRNPd6QQf26N2bjmJ+nzTcpQGqBIXoFKAiEAtaZh0lbCsd3G0ThUm9zMl6CNWcOh6Vt3UBDbIYFkvgs="}]},"_npmUser":{"name":"bluelovers","email":"codelovers@users.sourceforge.net"},"maintainers":[{"name":"bluelovers","email":"codelovers@users.sourceforge.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rpglevel_2.0.1_1709679499255_0.10847388989601914"},"_hasShrinkwrap":false},"2.0.2":{"name":"@bluelovers/rpglevel","version":"2.0.2","description":"Manage the \"level\" and the \"exp\"","keywords":["rpg","game","exp","lv","level","create-by-yarn-tool","create-by-tsdx"],"license":"MIT","author":{"name":"kjirou"},"sideEffects":false,"exports":{".":{"types":"./dist/index.d.ts","require":"./dist/index.cjs","import":"./dist/index.esm.mjs"},"./package.json":"./package.json","./src/*":"./src/*"},"main":"dist/index.cjs","unpkg":"dist/index.umd.production.min.cjs","module":"dist/index.esm.mjs","types":"dist/index.d.ts","typings":"dist/index.d.ts","directories":{"test":"test"},"scripts":{"coverage":"yarn run test -- --coverage","pretest":"echo pretest","test":"yarn run test:jest","test:jest":"jest --passWithNoTests","test:jest:clearCache":"jest --clearCache","test:jest:coverage":"yarn run test:jest -- --coverage","test:jest:snapshot":"yarn run test:jest -- -u","test:snapshot":"yarn run test -- -u","test:tsd":"ynpx tsd","posttest":"yarn run build","install:frozenLockfile":"yarn-tool install --frozen-lockfile","install:resetLockfile":"yarn-tool install --reset-lockfile","build":"yarn run build:tsdx && yarn run build:dts:bundle","build:dts:bundle":"ynpx @bluelovers/dts-bundle-generator -o ./dist/index.d.ts ./src/index.ts --no-banner --inline-declare-global & echo build:dts:bundle","build:dts:copy":"copy .\\src\\index.d.ts .\\dist\\index.d.ts & echo build:dts","build:dts:tsc":"yarn run build:dts:copy && yarn run build:dts:tsc:emit && yarn run build:dts:copy","build:dts:tsc:emit":"tsc --emitDeclarationOnly --declaration --noEmit false","build:tsdx":"ynpx @bluelovers/tsdx build --target node","ci:install":"yarn install --frozen-lockfile && yarn add -W yarn-tool lerna@6 ynpx ts-node ts-jest jest typescript@next @bluelovers/jest-config tsx","ci:build":"echo ci:build","npm:publish":"npm publish","npm:publish:bump":"yarn run version:bump && npm publish","npm:publish:bump:major":"yarn run version:bump:major && npm publish","npm:publish:bump:minor":"yarn run version:bump:minor && npm publish","npm:publish:bump:patch":"yarn run version:bump:patch && npm publish","npm:publish:bump:prerelease":"yarn run version:bump:prerelease && npm publish","ws:fix-all":"yarn-tool fix-all  --overwriteHostedGitInfo","ws:fix-all:resetStaticFiles":"yarn run ws:fix-all -- --resetStaticFiles","preversion":"echo preversion && yarn run test","version":"echo version","version:bump":"yarn-tool version","version:bump:major":"yarn run version:bump -- --bump major","version:bump:minor":"yarn run version:bump -- --bump minor","version:bump:patch":"yarn run version:bump -- --bump patch","version:bump:prerelease":"yarn run version:bump -- --bump prerelease","postversion":"echo postversion","prepublish":"echo prepublish","prepare":"echo prepare","prepublishOnly":"yarn run preversion","prepublishOnly:check-bin":"ynpx --quiet @yarn-tool/check-pkg-bin","prepack":"echo prepack","pack":"echo pack","postpack":"echo postpack","publish":"echo publish","postpublish":"yarn run postpublish:changelog && yarn run postpublish:git:commit && yarn run postpublish:git:tag && yarn run postpublish:git:push","postpublish:changelog":"ynpx --quiet @yarn-tool/changelog && git add ./CHANGELOG.md","postpublish:git:commit":"git commit -m \"chore(release): publish\" . & echo postpublish:git:commit","postpublish:git:push":"git push --follow-tags","postpublish:git:tag":"ynpx --quiet @yarn-tool/tag","postpublishOnly":"echo postpublishOnly","cli-browser-test":"testem ci -l phantomjs,chrome,firefox","ncu":"yarn-tool ncu -u","tsc:showConfig":"ynpx get-current-tsconfig -p"},"dependencies":{"lodash":"4.17.21"},"devDependencies":{"@bluelovers/tsconfig":"^1.0.35","@types/jest":"^29.5.12","@types/lodash":"^4.14.202","@types/sinon":"^17.0.3","sinon":"17.0.1"},"packageManager":"yarn@1.22.19","publishConfig":{"access":"public"},"_id":"@bluelovers/rpglevel@2.0.2","gitHead":"3fbfdd80f90f4099f3e92bf0d428ed4d86418e25","_nodeVersion":"21.6.1","_npmVersion":"10.2.4","dist":{"integrity":"sha512-DP/uaYwo9r0nk+AVPzDhJ9NV44/caWxY7D0u4GH0GeXldyG/6HblL5jv9zU/1hAtiROPnOmv9/1t1AYekK6P2Q==","shasum":"af824ff4192debb52436752423b9f6d780576331","tarball":"https://registry.npmjs.org/@bluelovers/rpglevel/-/rpglevel-2.0.2.tgz","fileCount":19,"unpackedSize":134669,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDR4yMaemXCr62RGt4JXnA5v1QeEwsVI/ZxvRmj9YRlLAiBFMOldBzlpA1m4WdRPhcN1DyKY/kbeskXSSEBAuOlAxQ=="}]},"_npmUser":{"name":"bluelovers","email":"codelovers@users.sourceforge.net"},"maintainers":[{"name":"bluelovers","email":"codelovers@users.sourceforge.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rpglevel_2.0.2_1709679830515_0.3535956492954464"},"_hasShrinkwrap":false}},"time":{"created":"2024-03-05T22:58:19.120Z","2.0.1":"2024-03-05T22:58:19.440Z","modified":"2024-03-05T23:03:51.085Z","2.0.2":"2024-03-05T23:03:50.670Z"},"maintainers":[{"name":"bluelovers","email":"codelovers@users.sourceforge.net"}],"description":"Manage the \"level\" and the \"exp\"","keywords":["rpg","game","exp","lv","level","create-by-yarn-tool","create-by-tsdx"],"author":{"name":"kjirou"},"license":"MIT","readme":"# rpglevel\n\nManage the \"level\" and the \"exp\"\n\n\n## Installation\n```\nnpm install @bluelovers/rpglevel\n```\n\n## Example\n```\nimport RPGLevel from '@bluelovers/rpglevel';\n\nvar lv = new RPGLevel();\n\n//\n// Define Exp-Table by formula.\n//\n//   Lv1 = 0\n//   Lv2 = 4\n//   Lv3 = 6  (Total = 10)\n//   Lv4 = 8  (Total = 18)\n//   Lv5 = 10 (Total = 28)\n//\nlv.defineExpTable(function(level){\n  return level * 2;\n}, {\n  maxLevel: 5\n});\n\n// You got exps with 2 levels up.\nlv.gainExp(10);\n\n// get your level\nconsole.log(lv.getLevel());  // -> 3\n\n// get more information\nconsole.log(lv.getStates());  // -> { level:3, .. }\n```\n\n\n## API Reference\n\n### RPGLevel Class\n- `new RPGLevel()`\n\n### RPGLevel Instance\n- `defineExpTable(formula, options={})`\n  - Set Exp-Table by formula that is  for each levels.\n  - Define a fomula like `function(level){ return level * level; }`.\n  - Also, a fomula has helper data for calculation in second arg, it is usable as `function(level, data){ .. }`.\n- `defineExpTableByArray(necessaryExps)`\n  - Set Exp-Table by delta exp list. For example, [0, 2, 4, 8] means what it needs total exps [Lv1=0, Lv2=2, Lv3=6, Lv4=14].\n  - For that reason, list[0] is always to contain 0.\n- `getMinLevel()`\n- `getMaxLevel()`\n- `getStartLevel()`\n- `getExp()`\n- `getTotalNecessaryExp(fromLevel, toLevel)`\n- `getNecessaryExpByLevel(level)`\n- `getMaxExp()`\n- `setExp(exp)`\n- `setLevel(level)`\n- `resetExp()`\n- `gainExp(exp)`\n  - That returns a `object` what includes informations about growths in this time.\n  - The `object` is like this: `{ beforeLevel: 3, afterLevel: 5, levelDelta: 2, isLevelUp: true ... }`.\n- `drainExp(exp)`\n  - That reduces your exps.\n- `gainLevel(levelUpCount)`\n- `drainLevel(levelDownCount)`\n- `getStates()`\n  - Returns your statuses about level and exps.\n- `getLevel()`\n- `isMaxLevel()`\n","readmeFilename":"README.md"}