mirror of
https://github.com/HabitRPG/habitica.git
synced 2026-05-19 19:38:45 -05:00
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8aa343d390 | |||
| d80c43c82a | |||
| 80e4b8617a | |||
| b3fac011a9 | |||
| 8f4d871911 | |||
| 19373ce84d | |||
| 55bfca20d9 | |||
| 2ee2b05d1c | |||
| 3d3db1bdd9 | |||
| a5dff99fa1 | |||
| 25435218e1 | |||
| 7746049bb4 |
Generated
+117
-145
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "habitica",
|
||||
"version": "5.47.1",
|
||||
"version": "5.47.4",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "habitica",
|
||||
"version": "5.47.1",
|
||||
"version": "5.47.4",
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.22.10",
|
||||
@@ -46,7 +46,7 @@
|
||||
"gulp.spritesmith": "^6.13.0",
|
||||
"habitica-markdown": "^4.1.0",
|
||||
"heapdump": "^0.3.15",
|
||||
"helmet": "^4.6.0",
|
||||
"helmet": "^8.1.0",
|
||||
"in-app-purchase": "^1.11.3",
|
||||
"js2xmlparser": "^5.0.0",
|
||||
"jsonwebtoken": "^9.0.2",
|
||||
@@ -81,7 +81,6 @@
|
||||
"useragent": "^2.1.9",
|
||||
"uuid": "^9.0.0",
|
||||
"validator": "^13.11.0",
|
||||
"webpack-bundle-analyzer": "^4.10.2",
|
||||
"winston": "^3.10.0",
|
||||
"winston-loggly-bulk": "^3.3.0",
|
||||
"xml2js": "^0.6.2"
|
||||
@@ -3265,11 +3264,6 @@
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
|
||||
},
|
||||
"node_modules/@polka/url": {
|
||||
"version": "1.0.0-next.25",
|
||||
"resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz",
|
||||
"integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ=="
|
||||
},
|
||||
"node_modules/@protobufjs/aspromise": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
|
||||
@@ -3932,17 +3926,6 @@
|
||||
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/acorn-walk": {
|
||||
"version": "8.3.3",
|
||||
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz",
|
||||
"integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==",
|
||||
"dependencies": {
|
||||
"acorn": "^8.11.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/agent-base": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
|
||||
@@ -7751,11 +7734,6 @@
|
||||
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-0.0.3.tgz",
|
||||
"integrity": "sha512-Cp+jOa8QJef5nXS5hU7M1DWzXPEIoVR3kbV0dQuVGwROZg8bGf1DcCnkmajBTnvghTtSNMUdRrPjgaT6ZQucbw=="
|
||||
},
|
||||
"node_modules/debounce": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz",
|
||||
"integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug=="
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "4.4.3",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
||||
@@ -12516,20 +12494,6 @@
|
||||
"node": ">= 0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/gzip-size": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz",
|
||||
"integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==",
|
||||
"dependencies": {
|
||||
"duplexer": "^0.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/habitica-markdown": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/habitica-markdown/-/habitica-markdown-4.1.0.tgz",
|
||||
@@ -12816,11 +12780,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/helmet": {
|
||||
"version": "4.6.0",
|
||||
"resolved": "https://registry.npmjs.org/helmet/-/helmet-4.6.0.tgz",
|
||||
"integrity": "sha512-HVqALKZlR95ROkrnesdhbbZJFi/rIVSoNq6f3jA/9u6MIbTsPh3xZwihjeI5+DO/2sOV6HMHooXcEOuwskHpTg==",
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/helmet/-/helmet-8.1.0.tgz",
|
||||
"integrity": "sha512-jOiHyAZsmnr8LqoPGmCjYAaiuWwjAPLgY8ZX2XrmHawt99/u1y6RgrZMTeoPfpUbV96HOalYgz1qzkRbw54Pmg==",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
"node": ">=18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/hex2dec": {
|
||||
@@ -12871,7 +12835,8 @@
|
||||
"node_modules/html-escaper": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
|
||||
"integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg=="
|
||||
"integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/http-cache-semantics": {
|
||||
"version": "4.1.1",
|
||||
@@ -15670,6 +15635,21 @@
|
||||
"url": "https://opencollective.com/mongoose"
|
||||
}
|
||||
},
|
||||
"node_modules/mongoose/node_modules/kerberos": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/kerberos/-/kerberos-2.2.2.tgz",
|
||||
"integrity": "sha512-42O7+/1Zatsc3MkxaMPpXcIl/ukIrbQaGoArZEAr6GcEi2qhfprOBYOPhj+YvSMJkEkdpTjApUx+2DuWaKwRhg==",
|
||||
"hasInstallScript": true,
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"node-addon-api": "^6.1.0",
|
||||
"prebuild-install": "^7.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/mongoose/node_modules/mongodb": {
|
||||
"version": "6.12.0",
|
||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.12.0.tgz",
|
||||
@@ -15721,6 +15701,99 @@
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
|
||||
},
|
||||
"node_modules/mongoose/node_modules/napi-build-utils": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz",
|
||||
"integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==",
|
||||
"optional": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/mongoose/node_modules/node-abi": {
|
||||
"version": "3.87.0",
|
||||
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.87.0.tgz",
|
||||
"integrity": "sha512-+CGM1L1CgmtheLcBuleyYOn7NWPVu0s0EJH2C4puxgEZb9h8QpR9G2dBfZJOAUhi7VQxuBPMd0hiISWcTyiYyQ==",
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"semver": "^7.3.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/mongoose/node_modules/node-addon-api": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz",
|
||||
"integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==",
|
||||
"optional": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/mongoose/node_modules/prebuild-install": {
|
||||
"version": "7.1.3",
|
||||
"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz",
|
||||
"integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==",
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"detect-libc": "^2.0.0",
|
||||
"expand-template": "^2.0.3",
|
||||
"github-from-package": "0.0.0",
|
||||
"minimist": "^1.2.3",
|
||||
"mkdirp-classic": "^0.5.3",
|
||||
"napi-build-utils": "^2.0.0",
|
||||
"node-abi": "^3.3.0",
|
||||
"pump": "^3.0.0",
|
||||
"rc": "^1.2.7",
|
||||
"simple-get": "^4.0.0",
|
||||
"tar-fs": "^2.0.0",
|
||||
"tunnel-agent": "^0.6.0"
|
||||
},
|
||||
"bin": {
|
||||
"prebuild-install": "bin.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/mongoose/node_modules/semver": {
|
||||
"version": "7.7.3",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
|
||||
"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/mongoose/node_modules/simple-get": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
|
||||
"integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"decompress-response": "^6.0.0",
|
||||
"once": "^1.3.1",
|
||||
"simple-concat": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/monk": {
|
||||
"version": "7.3.4",
|
||||
"resolved": "https://registry.npmjs.org/monk/-/monk-7.3.4.tgz",
|
||||
@@ -15852,14 +15925,6 @@
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/mrmime": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz",
|
||||
"integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
@@ -17128,14 +17193,6 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/opener": {
|
||||
"version": "1.5.2",
|
||||
"resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
|
||||
"integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==",
|
||||
"bin": {
|
||||
"opener": "bin/opener-bin.js"
|
||||
}
|
||||
},
|
||||
"node_modules/optional-require": {
|
||||
"version": "1.1.8",
|
||||
"resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.1.8.tgz",
|
||||
@@ -19346,19 +19403,6 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/sirv": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz",
|
||||
"integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==",
|
||||
"dependencies": {
|
||||
"@polka/url": "^1.0.0-next.24",
|
||||
"mrmime": "^2.0.0",
|
||||
"totalist": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/slash": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
|
||||
@@ -20849,14 +20893,6 @@
|
||||
"node": ">=0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/totalist": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
|
||||
"integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/touch": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
|
||||
@@ -21870,50 +21906,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/webpack-bundle-analyzer": {
|
||||
"version": "4.10.2",
|
||||
"resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz",
|
||||
"integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==",
|
||||
"dependencies": {
|
||||
"@discoveryjs/json-ext": "0.5.7",
|
||||
"acorn": "^8.0.4",
|
||||
"acorn-walk": "^8.0.0",
|
||||
"commander": "^7.2.0",
|
||||
"debounce": "^1.2.1",
|
||||
"escape-string-regexp": "^4.0.0",
|
||||
"gzip-size": "^6.0.0",
|
||||
"html-escaper": "^2.0.2",
|
||||
"opener": "^1.5.2",
|
||||
"picocolors": "^1.0.0",
|
||||
"sirv": "^2.0.3",
|
||||
"ws": "^7.3.1"
|
||||
},
|
||||
"bin": {
|
||||
"webpack-bundle-analyzer": "lib/bin/analyzer.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack-bundle-analyzer/node_modules/commander": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
|
||||
"integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack-bundle-analyzer/node_modules/escape-string-regexp": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
|
||||
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack-cli": {
|
||||
"version": "4.10.0",
|
||||
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz",
|
||||
@@ -22279,26 +22271,6 @@
|
||||
"typedarray-to-buffer": "^3.1.5"
|
||||
}
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "7.5.10",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
|
||||
"integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
|
||||
"engines": {
|
||||
"node": ">=8.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": "^5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/xml-crypto": {
|
||||
"version": "0.10.1",
|
||||
"resolved": "https://registry.npmjs.org/xml-crypto/-/xml-crypto-0.10.1.tgz",
|
||||
|
||||
+2
-3
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "habitica",
|
||||
"description": "A habit tracker app which treats your goals like a Role Playing Game.",
|
||||
"version": "5.47.1",
|
||||
"version": "5.47.4",
|
||||
"main": "./website/server/index.js",
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.22.10",
|
||||
@@ -41,7 +41,7 @@
|
||||
"gulp.spritesmith": "^6.13.0",
|
||||
"habitica-markdown": "^4.1.0",
|
||||
"heapdump": "^0.3.15",
|
||||
"helmet": "^4.6.0",
|
||||
"helmet": "^8.1.0",
|
||||
"in-app-purchase": "^1.11.3",
|
||||
"js2xmlparser": "^5.0.0",
|
||||
"jsonwebtoken": "^9.0.2",
|
||||
@@ -76,7 +76,6 @@
|
||||
"useragent": "^2.1.9",
|
||||
"uuid": "^9.0.0",
|
||||
"validator": "^13.11.0",
|
||||
"webpack-bundle-analyzer": "^4.10.2",
|
||||
"winston": "^3.10.0",
|
||||
"winston-loggly-bulk": "^3.3.0",
|
||||
"xml2js": "^0.6.2"
|
||||
|
||||
@@ -12,20 +12,12 @@ module.exports = {
|
||||
rules: {
|
||||
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
||||
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
||||
// TODO find a way to let eslint understand webpack aliases
|
||||
'import/no-unresolved': 'off',
|
||||
'import/no-extraneous-dependencies': 'off',
|
||||
'import/extensions': 'off',
|
||||
'prefer-regex-literals': 'warn',
|
||||
'vue/no-v-html': 'off',
|
||||
'vue/no-mutating-props': 'warn',
|
||||
// this creates issues with the current way we have to push the process.env vars to webpack
|
||||
// https://github.com/eslint/eslint/issues/14918
|
||||
// https://github.com/webpack/webpack/issues/5392
|
||||
// off for now, because any eslint --fix will then still do it anyway
|
||||
// maybe this can be turned on again once we switch to newer vue/vite
|
||||
// Important! process.env.XYZ should not be destructured
|
||||
'prefer-destructuring': 'off',
|
||||
'vue/html-self-closing': ['error', {
|
||||
html: {
|
||||
void: 'never',
|
||||
|
||||
Generated
+20
-589
@@ -41,7 +41,6 @@
|
||||
"vite": "^6.3.6",
|
||||
"vite-plugin-compression2": "^1.3.3",
|
||||
"vue": "^2.7.10",
|
||||
"vue-fragment": "^1.6.0",
|
||||
"vue-mugen-scroll": "^0.2.6",
|
||||
"vue-router": "^3.6.5",
|
||||
"vuedraggable": "^2.24.3",
|
||||
@@ -55,9 +54,7 @@
|
||||
"jsdom": "^26.0.0",
|
||||
"mocha": "^11.1.0",
|
||||
"playwright": "^1.50.1",
|
||||
"terser-webpack-plugin": "^5.3.10",
|
||||
"vitest": "^3.0.5",
|
||||
"webpack": "^5.94.0"
|
||||
"vitest": "^3.0.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@amplitude/analytics-connector": {
|
||||
@@ -2111,8 +2108,9 @@
|
||||
"version": "0.3.11",
|
||||
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz",
|
||||
"integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==",
|
||||
"devOptional": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jridgewell/gen-mapping": "^0.3.5",
|
||||
"@jridgewell/trace-mapping": "^0.3.25"
|
||||
@@ -3634,41 +3632,12 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/eslint": {
|
||||
"version": "9.6.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz",
|
||||
"integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/estree": "*",
|
||||
"@types/json-schema": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/eslint-scope": {
|
||||
"version": "3.7.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
|
||||
"integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/eslint": "*",
|
||||
"@types/estree": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/estree": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
|
||||
"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/json-schema": {
|
||||
"version": "7.0.15",
|
||||
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
|
||||
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/json5": {
|
||||
"version": "0.0.29",
|
||||
"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
|
||||
@@ -3679,8 +3648,9 @@
|
||||
"version": "24.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz",
|
||||
"integrity": "sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==",
|
||||
"devOptional": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"undici-types": "~7.16.0"
|
||||
}
|
||||
@@ -3876,181 +3846,6 @@
|
||||
"vue-template-compiler": "^2.x"
|
||||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/ast": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz",
|
||||
"integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@webassemblyjs/helper-numbers": "1.13.2",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.13.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/floating-point-hex-parser": {
|
||||
"version": "1.13.2",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz",
|
||||
"integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-api-error": {
|
||||
"version": "1.13.2",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz",
|
||||
"integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-buffer": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz",
|
||||
"integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-numbers": {
|
||||
"version": "1.13.2",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz",
|
||||
"integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@webassemblyjs/floating-point-hex-parser": "1.13.2",
|
||||
"@webassemblyjs/helper-api-error": "1.13.2",
|
||||
"@xtuc/long": "4.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-wasm-bytecode": {
|
||||
"version": "1.13.2",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz",
|
||||
"integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@webassemblyjs/helper-wasm-section": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz",
|
||||
"integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.14.1",
|
||||
"@webassemblyjs/helper-buffer": "1.14.1",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.13.2",
|
||||
"@webassemblyjs/wasm-gen": "1.14.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/ieee754": {
|
||||
"version": "1.13.2",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz",
|
||||
"integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@xtuc/ieee754": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/leb128": {
|
||||
"version": "1.13.2",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz",
|
||||
"integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@xtuc/long": "4.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/utf8": {
|
||||
"version": "1.13.2",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz",
|
||||
"integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@webassemblyjs/wasm-edit": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz",
|
||||
"integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.14.1",
|
||||
"@webassemblyjs/helper-buffer": "1.14.1",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.13.2",
|
||||
"@webassemblyjs/helper-wasm-section": "1.14.1",
|
||||
"@webassemblyjs/wasm-gen": "1.14.1",
|
||||
"@webassemblyjs/wasm-opt": "1.14.1",
|
||||
"@webassemblyjs/wasm-parser": "1.14.1",
|
||||
"@webassemblyjs/wast-printer": "1.14.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/wasm-gen": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz",
|
||||
"integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.14.1",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.13.2",
|
||||
"@webassemblyjs/ieee754": "1.13.2",
|
||||
"@webassemblyjs/leb128": "1.13.2",
|
||||
"@webassemblyjs/utf8": "1.13.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/wasm-opt": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz",
|
||||
"integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.14.1",
|
||||
"@webassemblyjs/helper-buffer": "1.14.1",
|
||||
"@webassemblyjs/wasm-gen": "1.14.1",
|
||||
"@webassemblyjs/wasm-parser": "1.14.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/wasm-parser": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz",
|
||||
"integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.14.1",
|
||||
"@webassemblyjs/helper-api-error": "1.13.2",
|
||||
"@webassemblyjs/helper-wasm-bytecode": "1.13.2",
|
||||
"@webassemblyjs/ieee754": "1.13.2",
|
||||
"@webassemblyjs/leb128": "1.13.2",
|
||||
"@webassemblyjs/utf8": "1.13.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@webassemblyjs/wast-printer": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz",
|
||||
"integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@webassemblyjs/ast": "1.14.1",
|
||||
"@xtuc/long": "4.2.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@xtuc/ieee754": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
|
||||
"integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
|
||||
"dev": true,
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/@xtuc/long": {
|
||||
"version": "4.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
|
||||
"integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/acorn": {
|
||||
"version": "7.4.1",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
|
||||
@@ -4098,48 +3893,6 @@
|
||||
"url": "https://github.com/sponsors/epoberezkin"
|
||||
}
|
||||
},
|
||||
"node_modules/ajv-formats": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
|
||||
"integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ajv": "^8.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"ajv": "^8.0.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"ajv": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/ajv-formats/node_modules/ajv": {
|
||||
"version": "8.17.1",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
|
||||
"integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"fast-uri": "^3.0.1",
|
||||
"json-schema-traverse": "^1.0.0",
|
||||
"require-from-string": "^2.0.2"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/epoberezkin"
|
||||
}
|
||||
},
|
||||
"node_modules/ajv-formats/node_modules/json-schema-traverse": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
||||
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/amplitude-js": {
|
||||
"version": "8.21.9",
|
||||
"resolved": "https://registry.npmjs.org/amplitude-js/-/amplitude-js-8.21.9.tgz",
|
||||
@@ -4617,8 +4370,9 @@
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
||||
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
|
||||
"devOptional": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/cac": {
|
||||
"version": "6.7.14",
|
||||
@@ -4783,16 +4537,6 @@
|
||||
"url": "https://paulmillr.com/funding/"
|
||||
}
|
||||
},
|
||||
"node_modules/chrome-trace-event": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
|
||||
"integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/cli-cursor": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
|
||||
@@ -4859,8 +4603,9 @@
|
||||
"version": "2.20.3",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
||||
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
||||
"devOptional": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/concat-map": {
|
||||
"version": "0.0.1",
|
||||
@@ -5196,20 +4941,6 @@
|
||||
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/enhanced-resolve": {
|
||||
"version": "5.18.3",
|
||||
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz",
|
||||
"integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"graceful-fs": "^4.2.4",
|
||||
"tapable": "^2.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/enquirer": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz",
|
||||
@@ -6384,16 +6115,6 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/events": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
|
||||
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=0.8.x"
|
||||
}
|
||||
},
|
||||
"node_modules/expect-type": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz",
|
||||
@@ -6871,13 +6592,6 @@
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/glob-to-regexp": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
|
||||
"integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
|
||||
"dev": true,
|
||||
"license": "BSD-2-Clause"
|
||||
},
|
||||
"node_modules/globals": {
|
||||
"version": "13.24.0",
|
||||
"resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
|
||||
@@ -6921,13 +6635,6 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/graceful-fs": {
|
||||
"version": "4.2.11",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
|
||||
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
|
||||
"dev": true,
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/habitica-markdown": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/habitica-markdown/-/habitica-markdown-4.1.0.tgz",
|
||||
@@ -7726,37 +7433,6 @@
|
||||
"@pkgjs/parseargs": "^0.11.0"
|
||||
}
|
||||
},
|
||||
"node_modules/jest-worker": {
|
||||
"version": "27.5.1",
|
||||
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
|
||||
"integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/node": "*",
|
||||
"merge-stream": "^2.0.0",
|
||||
"supports-color": "^8.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/jest-worker/node_modules/supports-color": {
|
||||
"version": "8.1.1",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
|
||||
"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"has-flag": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/chalk/supports-color?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/jquery": {
|
||||
"version": "3.7.1",
|
||||
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
|
||||
@@ -7841,13 +7517,6 @@
|
||||
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/json-parse-even-better-errors": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
|
||||
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/json-schema-traverse": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
|
||||
@@ -7911,20 +7580,6 @@
|
||||
"uc.micro": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/loader-runner": {
|
||||
"version": "4.3.1",
|
||||
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz",
|
||||
"integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6.11.5"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/webpack"
|
||||
}
|
||||
},
|
||||
"node_modules/locate-path": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
|
||||
@@ -8128,13 +7783,6 @@
|
||||
"integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/merge-stream": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
|
||||
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/micromatch": {
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
|
||||
@@ -8458,13 +8106,6 @@
|
||||
"node": ">= 0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/neo-async": {
|
||||
"version": "2.6.2",
|
||||
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
|
||||
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/nice-try": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
|
||||
@@ -9504,63 +9145,6 @@
|
||||
"node": ">=v12.22.7"
|
||||
}
|
||||
},
|
||||
"node_modules/schema-utils": {
|
||||
"version": "4.3.3",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz",
|
||||
"integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.9",
|
||||
"ajv": "^8.9.0",
|
||||
"ajv-formats": "^2.1.1",
|
||||
"ajv-keywords": "^5.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.13.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/webpack"
|
||||
}
|
||||
},
|
||||
"node_modules/schema-utils/node_modules/ajv": {
|
||||
"version": "8.17.1",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
|
||||
"integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"fast-uri": "^3.0.1",
|
||||
"json-schema-traverse": "^1.0.0",
|
||||
"require-from-string": "^2.0.2"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/epoberezkin"
|
||||
}
|
||||
},
|
||||
"node_modules/schema-utils/node_modules/ajv-keywords": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
|
||||
"integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"fast-deep-equal": "^3.1.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"ajv": "^8.8.2"
|
||||
}
|
||||
},
|
||||
"node_modules/schema-utils/node_modules/json-schema-traverse": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
||||
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/secure-keys": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz",
|
||||
@@ -9838,8 +9422,9 @@
|
||||
"version": "0.5.21",
|
||||
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
|
||||
"integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
|
||||
"devOptional": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"buffer-from": "^1.0.0",
|
||||
"source-map": "^0.6.0"
|
||||
@@ -10130,20 +9715,6 @@
|
||||
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/tapable": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz",
|
||||
"integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/webpack"
|
||||
}
|
||||
},
|
||||
"node_modules/tar-mini": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/tar-mini/-/tar-mini-0.2.0.tgz",
|
||||
@@ -10154,8 +9725,9 @@
|
||||
"version": "5.44.1",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.44.1.tgz",
|
||||
"integrity": "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==",
|
||||
"devOptional": true,
|
||||
"license": "BSD-2-Clause",
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@jridgewell/source-map": "^0.3.3",
|
||||
"acorn": "^8.15.0",
|
||||
@@ -10169,47 +9741,13 @@
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/terser-webpack-plugin": {
|
||||
"version": "5.3.14",
|
||||
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz",
|
||||
"integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@jridgewell/trace-mapping": "^0.3.25",
|
||||
"jest-worker": "^27.4.5",
|
||||
"schema-utils": "^4.3.0",
|
||||
"serialize-javascript": "^6.0.2",
|
||||
"terser": "^5.31.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.13.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/webpack"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"webpack": "^5.1.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@swc/core": {
|
||||
"optional": true
|
||||
},
|
||||
"esbuild": {
|
||||
"optional": true
|
||||
},
|
||||
"uglify-js": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/terser/node_modules/acorn": {
|
||||
"version": "8.15.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
||||
"devOptional": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
@@ -10585,8 +10123,9 @@
|
||||
"version": "7.16.0",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
|
||||
"integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
|
||||
"devOptional": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/update-browserslist-db": {
|
||||
"version": "1.1.4",
|
||||
@@ -10965,15 +10504,6 @@
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vue-fragment": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-fragment/-/vue-fragment-1.6.0.tgz",
|
||||
"integrity": "sha512-a5T8ZZZK/EQzgVShEl374HbobUJ0a7v12BzOzS6Z/wd/5EE/5SffcyHC+7bf9hP3L7Yc0hhY/GhMdwFQ25O/8A==",
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"vue": "^2.5.16"
|
||||
}
|
||||
},
|
||||
"node_modules/vue-functional-data-merge": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-functional-data-merge/-/vue-functional-data-merge-3.1.0.tgz",
|
||||
@@ -11041,20 +10571,6 @@
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/watchpack": {
|
||||
"version": "2.4.4",
|
||||
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz",
|
||||
"integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"glob-to-regexp": "^0.4.1",
|
||||
"graceful-fs": "^4.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/webidl-conversions": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
|
||||
@@ -11065,91 +10581,6 @@
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack": {
|
||||
"version": "5.102.1",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.102.1.tgz",
|
||||
"integrity": "sha512-7h/weGm9d/ywQ6qzJ+Xy+r9n/3qgp/thalBbpOi5i223dPXKi04IBtqPN9nTd+jBc7QKfvDbaBnFipYp4sJAUQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/eslint-scope": "^3.7.7",
|
||||
"@types/estree": "^1.0.8",
|
||||
"@types/json-schema": "^7.0.15",
|
||||
"@webassemblyjs/ast": "^1.14.1",
|
||||
"@webassemblyjs/wasm-edit": "^1.14.1",
|
||||
"@webassemblyjs/wasm-parser": "^1.14.1",
|
||||
"acorn": "^8.15.0",
|
||||
"acorn-import-phases": "^1.0.3",
|
||||
"browserslist": "^4.26.3",
|
||||
"chrome-trace-event": "^1.0.2",
|
||||
"enhanced-resolve": "^5.17.3",
|
||||
"es-module-lexer": "^1.2.1",
|
||||
"eslint-scope": "5.1.1",
|
||||
"events": "^3.2.0",
|
||||
"glob-to-regexp": "^0.4.1",
|
||||
"graceful-fs": "^4.2.11",
|
||||
"json-parse-even-better-errors": "^2.3.1",
|
||||
"loader-runner": "^4.2.0",
|
||||
"mime-types": "^2.1.27",
|
||||
"neo-async": "^2.6.2",
|
||||
"schema-utils": "^4.3.3",
|
||||
"tapable": "^2.3.0",
|
||||
"terser-webpack-plugin": "^5.3.11",
|
||||
"watchpack": "^2.4.4",
|
||||
"webpack-sources": "^3.3.3"
|
||||
},
|
||||
"bin": {
|
||||
"webpack": "bin/webpack.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.13.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/webpack"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"webpack-cli": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/webpack-sources": {
|
||||
"version": "3.3.3",
|
||||
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz",
|
||||
"integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack/node_modules/acorn": {
|
||||
"version": "8.15.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack/node_modules/acorn-import-phases": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz",
|
||||
"integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10.13.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"acorn": "^8.14.0"
|
||||
}
|
||||
},
|
||||
"node_modules/whatwg-encoding": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
|
||||
|
||||
@@ -46,7 +46,6 @@
|
||||
"vite": "^6.3.6",
|
||||
"vite-plugin-compression2": "^1.3.3",
|
||||
"vue": "^2.7.10",
|
||||
"vue-fragment": "^1.6.0",
|
||||
"vue-mugen-scroll": "^0.2.6",
|
||||
"vue-router": "^3.6.5",
|
||||
"vuedraggable": "^2.24.3",
|
||||
@@ -60,8 +59,6 @@
|
||||
"jsdom": "^26.0.0",
|
||||
"mocha": "^11.1.0",
|
||||
"playwright": "^1.50.1",
|
||||
"terser-webpack-plugin": "^5.3.10",
|
||||
"vitest": "^3.0.5",
|
||||
"webpack": "^5.94.0"
|
||||
"vitest": "^3.0.5"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,10 @@
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.d-content {
|
||||
display: contents;
|
||||
}
|
||||
|
||||
* {
|
||||
transition: none;
|
||||
}
|
||||
|
||||
@@ -108,15 +108,15 @@ export default {
|
||||
const allEmails = [];
|
||||
if (user.auth.local.email) allEmails.push(user.auth.local.email);
|
||||
if (user.auth.google && user.auth.google.emails) {
|
||||
const emails = user.auth.google.emails;
|
||||
const { emails } = user.auth.google;
|
||||
allEmails.push(...this.findSocialEmails(emails));
|
||||
}
|
||||
if (user.auth.apple && user.auth.apple.emails) {
|
||||
const emails = user.auth.apple.emails;
|
||||
const { emails } = user.auth.apple;
|
||||
allEmails.push(...this.findSocialEmails(emails));
|
||||
}
|
||||
if (user.auth.facebook && user.auth.facebook.emails) {
|
||||
const emails = user.auth.facebook.emails;
|
||||
const { emails } = user.auth.facebook;
|
||||
allEmails.push(...this.findSocialEmails(emails));
|
||||
}
|
||||
return allEmails;
|
||||
|
||||
+1
-1
@@ -609,7 +609,7 @@ import subscriptionBlocks from '@/../../common/script/content/subscriptionBlocks
|
||||
import saveHero from '../mixins/saveHero';
|
||||
import LoadingSpinner from '@/components/ui/loadingSpinner';
|
||||
|
||||
const PLAY_CONSOLE_ORDERS_BASE_URL = import.meta.env.PLAY_CONSOLE_ORDERS_BASE_URL;
|
||||
const { PLAY_CONSOLE_ORDERS_BASE_URL } = import.meta.env;
|
||||
|
||||
const humanReadablePaymentDetails = {
|
||||
customerId: {
|
||||
|
||||
@@ -20,6 +20,29 @@
|
||||
class="form mx-auto"
|
||||
@submit.prevent.stop="register()"
|
||||
>
|
||||
<div v-if="needsEmailField">
|
||||
<input
|
||||
id="emailInput"
|
||||
v-model="email"
|
||||
class="form-control dark"
|
||||
type="text"
|
||||
:placeholder="$t('emailAddress')"
|
||||
:class="{
|
||||
'mb-3': !emailError,
|
||||
'input-invalid input-with-error mb-2': emailError,
|
||||
'input-valid': email && emailValid,
|
||||
}"
|
||||
>
|
||||
<div
|
||||
v-if="emailError"
|
||||
class="input-error"
|
||||
>
|
||||
{{ emailError }}
|
||||
</div>
|
||||
<p class="purple-600 mb-3">
|
||||
{{ $t('emailRequiredForSupport') }}
|
||||
</p>
|
||||
</div>
|
||||
<input
|
||||
id="usernameInput"
|
||||
v-model="username"
|
||||
@@ -58,8 +81,9 @@
|
||||
></label>
|
||||
</div>
|
||||
<button
|
||||
class="btn btn-info d-block w-100 sign-up mx-auto mb-5"
|
||||
:disabled="!username || usernameInvalid || !privacyAccepted"
|
||||
class="btn btn-info d-flex justify-content-center
|
||||
align-items-center w-100 sign-up mx-auto mb-5"
|
||||
:disabled="!email || emailError || !username || usernameInvalid || !privacyAccepted"
|
||||
type="submit"
|
||||
>
|
||||
{{ $t('getStarted') }}
|
||||
@@ -133,10 +157,12 @@
|
||||
border: 2px solid transparent;
|
||||
box-shadow: 0 1px 3px 0 rgba($black, 0.16), 0 1px 3px 0 rgba($black, 0.24);
|
||||
|
||||
&:focus, &:active {
|
||||
background-color: $blue-50;
|
||||
border: 2px solid $purple-400;
|
||||
box-shadow: 0 3px 6px 0 rgba($black, 0.16), 0 3px 6px 0 rgba($black, 0.24);
|
||||
&:not(:disabled):not(.disabled) {
|
||||
&:focus, &:active {
|
||||
background-color: $blue-50;
|
||||
border: 2px solid $purple-400;
|
||||
box-shadow: 0 3px 6px 0 rgba($black, 0.16), 0 3px 6px 0 rgba($black, 0.24);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -148,23 +174,19 @@
|
||||
<script>
|
||||
import debounce from 'lodash/debounce';
|
||||
import PrivacyBanner from '@/components/header/banners/privacy';
|
||||
import accountCreation from '@/mixins/accountCreation';
|
||||
import sanitizeRedirect from '@/mixins/sanitizeRedirect';
|
||||
|
||||
export default {
|
||||
components: {
|
||||
PrivacyBanner,
|
||||
},
|
||||
mixins: [sanitizeRedirect],
|
||||
mixins: [accountCreation, sanitizeRedirect],
|
||||
data () {
|
||||
return {
|
||||
authData: {},
|
||||
email: '',
|
||||
password: '',
|
||||
passwordConfirm: '',
|
||||
privacyAccepted: false,
|
||||
registrationMethod: null,
|
||||
username: '',
|
||||
usernameIssues: [],
|
||||
needsEmailField: false,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@@ -183,30 +205,40 @@ export default {
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
if (window.sessionStorage.getItem('apple-token')) {
|
||||
this.registrationMethod = 'apple';
|
||||
} else if (!this.$store.state.registrationOptions.registrationMethod) {
|
||||
this.$router.push('/');
|
||||
} else {
|
||||
this.registrationMethod = this.$store.state.registrationOptions.registrationMethod;
|
||||
}
|
||||
this.authData = this.$store.state.registrationOptions.authData;
|
||||
this.email = this.$store.state.registrationOptions.email;
|
||||
this.username = this.$store.state.registrationOptions.username;
|
||||
this.password = this.$store.state.registrationOptions.password;
|
||||
this.passwordConfirm = this.$store.state.registrationOptions.passwordConfirm;
|
||||
|
||||
if (!this.email) {
|
||||
if (window.sessionStorage.getItem('apple-token')) {
|
||||
this.registrationMethod = 'apple';
|
||||
if (!this.email) {
|
||||
this.email = window.sessionStorage.getItem('apple-email');
|
||||
}
|
||||
} else if (!this.$store.state.registrationOptions.registrationMethod) {
|
||||
this.$router.push('/');
|
||||
} else {
|
||||
this.registrationMethod = this.$store.state.registrationOptions.registrationMethod;
|
||||
}
|
||||
|
||||
if (!this.email && this.registrationMethod !== 'apple') {
|
||||
return;
|
||||
}
|
||||
const usernameToCheck = this.email.split('@')[0].replace(/[^a-zA-Z0-9\-_]/g, '');
|
||||
this.$store.dispatch('auth:verifyUsername', {
|
||||
username: usernameToCheck,
|
||||
}).then(res => {
|
||||
if (!res.issues) {
|
||||
this.username = usernameToCheck;
|
||||
}
|
||||
});
|
||||
|
||||
if ((!this.email || this.email === '') && this.registrationMethod === 'apple') {
|
||||
this.needsEmailField = true;
|
||||
}
|
||||
if (this.email) {
|
||||
const usernameToCheck = this.email.split('@')[0].replace(/[^a-zA-Z0-9\-_]/g, '');
|
||||
this.$store.dispatch('auth:verifyUsername', {
|
||||
username: usernameToCheck,
|
||||
}).then(res => {
|
||||
if (!res.issues) {
|
||||
this.username = usernameToCheck;
|
||||
}
|
||||
});
|
||||
}
|
||||
document.getElementById('usernameInput').focus();
|
||||
},
|
||||
methods: {
|
||||
@@ -237,6 +269,7 @@ export default {
|
||||
idToken: window.sessionStorage.getItem('apple-token'),
|
||||
name: window.sessionStorage.getItem('apple-name'),
|
||||
username: this.username,
|
||||
email: this.email,
|
||||
allowRegister: true,
|
||||
});
|
||||
} else {
|
||||
|
||||
@@ -189,7 +189,7 @@ export default {
|
||||
this.cancel();
|
||||
return [];
|
||||
}
|
||||
this.currentSearch = regexRes[1];
|
||||
this.currentSearch = regexRes[1]; // eslint-disable-line prefer-destructuring
|
||||
|
||||
if (this.currentSearch.length === 0) return [];
|
||||
|
||||
|
||||
@@ -470,7 +470,7 @@ export default {
|
||||
return this.userGuilds.filter(group => {
|
||||
const leaderId = group.leader?._id || group.leader;
|
||||
if (leaderId !== this.user._id) return false;
|
||||
const purchased = group.purchased;
|
||||
const { purchased } = group;
|
||||
if (!purchased?.wasUpgraded) return false;
|
||||
if (this.activeGroupPlanIds.includes(group._id)) return false;
|
||||
if (!purchased.dateTerminated) return false;
|
||||
@@ -492,7 +492,7 @@ export default {
|
||||
},
|
||||
isPartyPreviouslyUpgraded () {
|
||||
if (!this.userParty) return false;
|
||||
const purchased = this.userParty.purchased;
|
||||
const { purchased } = this.userParty;
|
||||
if (!purchased?.wasUpgraded) return false;
|
||||
if (!purchased.dateTerminated) return false;
|
||||
return new Date(purchased.dateTerminated) < new Date();
|
||||
@@ -533,7 +533,7 @@ export default {
|
||||
|
||||
this.$nextTick(() => {
|
||||
if (this.upgradeableGuilds.length > 0) {
|
||||
this.selectedOption = this.upgradeableGuilds[0];
|
||||
[this.selectedOption] = this.upgradeableGuilds;
|
||||
} else if (this.upgradeableParty) {
|
||||
this.selectedOption = this.upgradeableParty;
|
||||
} else {
|
||||
|
||||
@@ -37,6 +37,9 @@ export default {
|
||||
window.location.href = '/';
|
||||
} else {
|
||||
window.sessionStorage.setItem('apple-token', response.idToken);
|
||||
if (response.email) {
|
||||
window.sessionStorage.setItem('apple-email', response.email);
|
||||
}
|
||||
window.location.href = '/username';
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1399,7 +1399,7 @@ export default {
|
||||
this.task.down = !this.task.down;
|
||||
},
|
||||
weekdaysMin (dayNumber) {
|
||||
return moment.weekdaysMin(dayNumber);
|
||||
return this.$t(`weekdaysMin${dayNumber}`);
|
||||
},
|
||||
formattedDate (date) {
|
||||
return moment(date).format('MM/DD/YYYY');
|
||||
|
||||
@@ -6,7 +6,7 @@ import amplitude from 'amplitude-js';
|
||||
import Vue from 'vue';
|
||||
import getStore from '@/store';
|
||||
|
||||
const AMPLITUDE_KEY = import.meta.env.AMPLITUDE_KEY;
|
||||
const { AMPLITUDE_KEY } = import.meta.env;
|
||||
const REQUIRED_FIELDS = ['eventCategory', 'eventAction'];
|
||||
|
||||
let analyticsLoading = false;
|
||||
|
||||
@@ -1,28 +1,10 @@
|
||||
// Vue plugin to globally expose a '$t' method that calls common/i18n.t.
|
||||
// Can be anywhere inside vue as 'this.$t' or '$t' in templates.
|
||||
|
||||
import moment from 'moment';
|
||||
import i18n from '@/../../common/script/i18n';
|
||||
|
||||
function loadLocale (i18nData) {
|
||||
// Load i18n strings
|
||||
i18n.strings = i18nData.strings;
|
||||
|
||||
// Load Moment.js locale
|
||||
const { language } = i18nData;
|
||||
|
||||
if (language && i18nData.momentLang && language.momentLangCode) {
|
||||
// Make moment available under `window` so that the locale can be set
|
||||
window.moment = moment;
|
||||
|
||||
// Execute the script and set the locale
|
||||
const head = document.getElementsByTagName('head')[0];
|
||||
const script = document.createElement('script');
|
||||
script.type = 'text/javascript';
|
||||
script.text = i18nData.momentLang;
|
||||
head.appendChild(script);
|
||||
moment.updateLocale(language.momentLangCode);
|
||||
}
|
||||
}
|
||||
|
||||
export default {
|
||||
|
||||
@@ -11,7 +11,6 @@ import {
|
||||
NavbarPlugin,
|
||||
CollapsePlugin,
|
||||
} from 'bootstrap-vue';
|
||||
import Fragment from 'vue-fragment';
|
||||
import AppComponent from './app';
|
||||
import { setUpLogging } from '@/libs/logging';
|
||||
import router from './router/index';
|
||||
@@ -44,7 +43,6 @@ Vue.use(FormRadioPlugin);
|
||||
Vue.use(TooltipPlugin);
|
||||
Vue.use(NavbarPlugin);
|
||||
Vue.use(CollapsePlugin);
|
||||
Vue.use(Fragment.Plugin);
|
||||
|
||||
setUpLogging();
|
||||
const store = getStore();
|
||||
|
||||
@@ -8,7 +8,7 @@ import notificationsMixin from '@/mixins/notifications';
|
||||
import { CONSTANTS, setLocalSetting } from '@/libs/userlocalManager';
|
||||
import * as Analytics from '@/libs/analytics';
|
||||
|
||||
const STRIPE_PUB_KEY = import.meta.env.STRIPE_PUB_KEY;
|
||||
const { STRIPE_PUB_KEY } = import.meta.env;
|
||||
|
||||
let stripeInstance = null;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<fragment>
|
||||
<div class="d-content">
|
||||
<tr
|
||||
v-if="!mixinData.inlineSettingMixin.modalVisible"
|
||||
>
|
||||
@@ -90,7 +90,7 @@
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</fragment>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<fragment v-if="allowedToChangeClass">
|
||||
<div class="d-content" v-if="allowedToChangeClass">
|
||||
<tr
|
||||
v-if="!mixinData.inlineSettingMixin.modalVisible"
|
||||
>
|
||||
@@ -71,7 +71,7 @@
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</fragment>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<fragment>
|
||||
<div class="d-content">
|
||||
<tr
|
||||
v-if="!mixinData.inlineSettingMixin.modalVisible"
|
||||
>
|
||||
@@ -55,7 +55,7 @@
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</fragment>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<fragment>
|
||||
<div class="d-content">
|
||||
<tr
|
||||
v-if="!mixinData.inlineSettingMixin.modalVisible"
|
||||
>
|
||||
@@ -77,7 +77,7 @@
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</fragment>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<fragment>
|
||||
<div class="d-content">
|
||||
<tr
|
||||
v-if="!mixinData.inlineSettingMixin.modalVisible"
|
||||
>
|
||||
@@ -94,7 +94,7 @@
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</fragment>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<fragment>
|
||||
<div class="d-content">
|
||||
<tr
|
||||
v-if="!mixinData.inlineSettingMixin.modalVisible"
|
||||
>
|
||||
@@ -78,7 +78,7 @@
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</fragment>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<fragment>
|
||||
<div class="d-content">
|
||||
<tr
|
||||
v-if="!mixinData.inlineSettingMixin.modalVisible"
|
||||
>
|
||||
@@ -83,7 +83,7 @@
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</fragment>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<fragment>
|
||||
<div class="d-content">
|
||||
<tr>
|
||||
<td class="settings-label">
|
||||
{{ $t("showHeader") }}
|
||||
@@ -26,7 +26,7 @@
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</fragment>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<fragment>
|
||||
<div class="d-content">
|
||||
<tr
|
||||
v-if="!mixinData.inlineSettingMixin.modalVisible"
|
||||
>
|
||||
@@ -67,7 +67,7 @@
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</fragment>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<fragment>
|
||||
<div class="d-content">
|
||||
<tr
|
||||
v-for="network in SOCIAL_AUTH_NETWORKS"
|
||||
:key="network.key"
|
||||
@@ -39,7 +39,7 @@
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</fragment>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<fragment>
|
||||
<div class="d-content">
|
||||
<tr
|
||||
v-if="!mixinData.inlineSettingMixin.modalVisible"
|
||||
>
|
||||
@@ -66,7 +66,7 @@
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</fragment>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<fragment>
|
||||
<div class="d-content">
|
||||
<tr
|
||||
v-if="!mixinData.inlineSettingMixin.modalVisible"
|
||||
>
|
||||
@@ -111,7 +111,7 @@
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</fragment>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<fragment>
|
||||
<div class="d-content">
|
||||
<tr
|
||||
v-if="!mixinData.inlineSettingMixin.modalVisible"
|
||||
>
|
||||
@@ -56,7 +56,7 @@
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</fragment>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<fragment>
|
||||
<div class="d-content">
|
||||
<tr
|
||||
v-if="!mixinData.inlineSettingMixin.modalVisible"
|
||||
>
|
||||
@@ -60,7 +60,7 @@
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</fragment>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<fragment>
|
||||
<div class="d-content">
|
||||
<tr
|
||||
v-if="!mixinData.inlineSettingMixin.modalVisible"
|
||||
>
|
||||
@@ -54,7 +54,7 @@
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</fragment>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<fragment>
|
||||
<div class="d-content">
|
||||
<tr
|
||||
v-if="!mixinData.inlineSettingMixin.modalVisible"
|
||||
>
|
||||
@@ -48,7 +48,7 @@
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</fragment>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<fragment>
|
||||
<div class="d-content">
|
||||
<tr
|
||||
v-if="!mixinData.inlineSettingMixin.modalVisible"
|
||||
>
|
||||
@@ -76,7 +76,7 @@
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</fragment>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@@ -11,56 +11,56 @@ import { DEPRECATED_ROUTES } from '@/router/deprecated-routes';
|
||||
|
||||
// NOTE: when adding a page make sure to implement the `common:setTitle` action
|
||||
|
||||
const Logout = () => import(/* webpackChunkName: "auth" */'@/components/auth/logout');
|
||||
const Logout = () => import('@/components/auth/logout');
|
||||
|
||||
// Hall
|
||||
const HallPage = () => import(/* webpackChunkName: "hall" */'@/components/hall/index');
|
||||
const PatronsPage = () => import(/* webpackChunkName: "hall" */'@/components/hall/patrons');
|
||||
const HeroesPage = () => import(/* webpackChunkName: "hall" */'@/components/hall/heroes');
|
||||
const HallPage = () => import('@/components/hall/index');
|
||||
const PatronsPage = () => import('@/components/hall/patrons');
|
||||
const HeroesPage = () => import('@/components/hall/heroes');
|
||||
|
||||
// Admin Pages
|
||||
const AdminContainerPage = () => import(/* webpackChunkName: "admin-panel" */'@/components/admin/container');
|
||||
const AdminPanelPage = () => import(/* webpackChunkName: "admin-panel" */'@/components/admin/admin-panel');
|
||||
const AdminPanelUserPage = () => import(/* webpackChunkName: "admin-panel" */'@/components/admin/admin-panel/user-support');
|
||||
const AdminPanelSearchPage = () => import(/* webpackChunkName: "admin-panel" */'@/components/admin/admin-panel/search');
|
||||
const GroupAdminPage = () => import(/* webpackChunkName: "admin-panel" */'@/components/admin/groups');
|
||||
const GroupAdminGroupPage = () => import(/* webpackChunkName: "admin-panel" */'@/components/admin/groups/group-support');
|
||||
const BlockerPage = () => import(/* webpackChunkName: "admin-panel" */'@/components/admin/blocker');
|
||||
const AdminContainerPage = () => import('@/components/admin/container');
|
||||
const AdminPanelPage = () => import('@/components/admin/admin-panel');
|
||||
const AdminPanelUserPage = () => import('@/components/admin/admin-panel/user-support');
|
||||
const AdminPanelSearchPage = () => import('@/components/admin/admin-panel/search');
|
||||
const GroupAdminPage = () => import('@/components/admin/groups');
|
||||
const GroupAdminGroupPage = () => import('@/components/admin/groups/group-support');
|
||||
const BlockerPage = () => import('@/components/admin/blocker');
|
||||
|
||||
// Tasks
|
||||
const UserTasks = () => import(/* webpackChunkName: "userTasks" */'@/components/tasks/user');
|
||||
const UserTasks = () => import('@/components/tasks/user');
|
||||
|
||||
// Inventory
|
||||
const InventoryContainer = () => import(/* webpackChunkName: "inventory" */'@/components/inventory/index');
|
||||
const ItemsPage = () => import(/* webpackChunkName: "inventory" */'@/components/inventory/items/index');
|
||||
const EquipmentPage = () => import(/* webpackChunkName: "inventory" */'@/components/inventory/equipment/index');
|
||||
const StablePage = () => import(/* webpackChunkName: "inventory" */'@/components/inventory/stable/index');
|
||||
const InventoryContainer = () => import('@/components/inventory/index');
|
||||
const ItemsPage = () => import('@/components/inventory/items/index');
|
||||
const EquipmentPage = () => import('@/components/inventory/equipment/index');
|
||||
const StablePage = () => import('@/components/inventory/stable/index');
|
||||
|
||||
// Guilds & Parties
|
||||
const GroupPage = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/group');
|
||||
const GroupPlansAppPage = () => import(/* webpackChunkName: "guilds" */ '@/components/static/groupPlans');
|
||||
const LookingForParty = () => import(/* webpackChunkName: "guilds" */ '@/components/groups/lookingForParty');
|
||||
const GroupPage = () => import('@/components/groups/group');
|
||||
const GroupPlansAppPage = () => import('@/components/static/groupPlans');
|
||||
const LookingForParty = () => import('@/components/groups/lookingForParty');
|
||||
|
||||
// Group Plans
|
||||
const GroupPlanIndex = () => import(/* webpackChunkName: "group-plans" */ '@/components/group-plans/index');
|
||||
const GroupPlanTaskInformation = () => import(/* webpackChunkName: "group-plans" */ '@/components/group-plans/taskInformation');
|
||||
const GroupPlanBilling = () => import(/* webpackChunkName: "group-plans" */ '@/components/group-plans/billing');
|
||||
const GroupPlanIndex = () => import('@/components/group-plans/index');
|
||||
const GroupPlanTaskInformation = () => import('@/components/group-plans/taskInformation');
|
||||
const GroupPlanBilling = () => import('@/components/group-plans/billing');
|
||||
|
||||
const MessagesIndex = () => import(/* webpackChunkName: "private-messages" */ '@/pages/private-messages/index.vue');
|
||||
const MessagesIndex = () => import('@/pages/private-messages/index.vue');
|
||||
|
||||
// Challenges
|
||||
const ChallengeIndex = () => import(/* webpackChunkName: "challenges" */ '@/components/challenges/index');
|
||||
const MyChallenges = () => import(/* webpackChunkName: "challenges" */ '@/components/challenges/myChallenges');
|
||||
const FindChallenges = () => import(/* webpackChunkName: "challenges" */ '@/components/challenges/findChallenges');
|
||||
const ChallengeDetail = () => import(/* webpackChunkName: "challenges" */ '@/components/challenges/challengeDetail');
|
||||
const ChallengeIndex = () => import('@/components/challenges/index');
|
||||
const MyChallenges = () => import('@/components/challenges/myChallenges');
|
||||
const FindChallenges = () => import('@/components/challenges/findChallenges');
|
||||
const ChallengeDetail = () => import('@/components/challenges/challengeDetail');
|
||||
|
||||
// Shops
|
||||
const ShopsContainer = () => import(/* webpackChunkName: "shops" */'@/components/shops/index');
|
||||
const MarketPage = () => import(/* webpackChunkName: "shops-market" */'@/components/shops/market/index');
|
||||
const QuestsPage = () => import(/* webpackChunkName: "shops-quest" */'@/components/shops/quests/index');
|
||||
const CustomizationsPage = () => import(/* webpackChunkName: "shops-customizations" */'@/components/shops/customizations/index');
|
||||
const SeasonalPage = () => import(/* webpackChunkName: "shops-seasonal" */'@/components/shops/seasonal/index');
|
||||
const TimeTravelersPage = () => import(/* webpackChunkName: "shops-timetravelers" */'@/components/shops/timeTravelers/index');
|
||||
const ShopsContainer = () => import('@/components/shops/index');
|
||||
const MarketPage = () => import('@/components/shops/market/index');
|
||||
const QuestsPage = () => import('@/components/shops/quests/index');
|
||||
const CustomizationsPage = () => import('@/components/shops/customizations/index');
|
||||
const SeasonalPage = () => import('@/components/shops/seasonal/index');
|
||||
const TimeTravelersPage = () => import('@/components/shops/timeTravelers/index');
|
||||
|
||||
Vue.use(VueRouter);
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@ const NewsPage = () => import('@/components/static/newStuff');
|
||||
const OverviewPage = () => import('@/components/static/overview');
|
||||
const PressKitPage = () => import('@/components/static/pressKit');
|
||||
const PrivacyPage = () => import('@/components/static/privacy');
|
||||
const RegisterLoginReset = () => import(/* webpackChunkName: "auth" */'@/components/auth/registerLoginReset');
|
||||
const RegisterUsername = () => import(/* webpackChunkName: "auth" */'@/components/auth/registerUsername');
|
||||
const RegisterLoginReset = () => import('@/components/auth/registerLoginReset');
|
||||
const RegisterUsername = () => import('@/components/auth/registerUsername');
|
||||
const SubscriptionBenefitsFaq = () => import('@/components/static/subscriptionBenefitsFaq');
|
||||
const TermsPage = () => import('@/components/static/terms');
|
||||
|
||||
|
||||
@@ -101,6 +101,7 @@ export async function appleAuth (store, params) {
|
||||
id_token: params.idToken,
|
||||
name: params.name,
|
||||
username: params.username,
|
||||
email: params.email,
|
||||
},
|
||||
});
|
||||
|
||||
@@ -109,7 +110,10 @@ export async function appleAuth (store, params) {
|
||||
}
|
||||
|
||||
if (result.data.message && result.data.id_token) {
|
||||
return { idToken: result.data.id_token };
|
||||
return {
|
||||
idToken: result.data.id_token,
|
||||
email: result.data.email,
|
||||
};
|
||||
}
|
||||
|
||||
const user = result.data.data;
|
||||
|
||||
@@ -187,5 +187,7 @@
|
||||
"learnMore": "Learn More",
|
||||
"translateHabitica": "Translate Habitica",
|
||||
"whatToCallYou": "What should we call you?",
|
||||
"acceptPrivacyTOS": "You confirm that you are at least 18 years old, and that you have read and agree to our <a href='/static/terms' target='_blank'>Terms of Service</a> and <a href='/static/privacy' target='_blank'>Privacy Policy</a>"
|
||||
"acceptPrivacyTOS": "You confirm that you are at least 18 years old, and that you have read and agree to our <a href='/static/terms' target='_blank'>Terms of Service</a> and <a href='/static/privacy' target='_blank'>Privacy Policy</a>",
|
||||
"emailAddress": "Email address",
|
||||
"emailRequiredForSupport": "We require an email address for user support. Please enter an email address to continue creating your account."
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"brokenChaLink": "Broken Challenge Link",
|
||||
"keepIt": "Keep It",
|
||||
"removeIt": "Remove It",
|
||||
"brokenChallenge": "Broken Challenge Link: this task was part of a challenge, but the challenge (or group) has been deleted. What to do with the orphan tasks?",
|
||||
"brokenChallenge": "Broken Challenge Link",
|
||||
"challengeCompleted": "This challenge has been completed, and the winner was <span class=\"badge\"><%= user %></span>! What to do with the orphan tasks?",
|
||||
"unsubChallenge": "Broken Challenge Link: this task was part of a challenge, but you have unsubscribed from the challenge. What to do with the orphan tasks?",
|
||||
"challenges": "Challenges",
|
||||
|
||||
@@ -114,8 +114,8 @@
|
||||
"unallocated": "Unallocated Stat Points",
|
||||
"autoAllocation": "Automatic Allocation",
|
||||
"autoAllocationPop": "Places Points into Stats according to your preferences, when you level up.",
|
||||
"evenAllocation": "Distribute Stat Points evenly",
|
||||
"evenAllocationPop": "Assigns the same number of Points to each Stat.",
|
||||
"evenAllocation": "Distribute evenly",
|
||||
"evenAllocationPop": "Assigns the same number of points to each attribute",
|
||||
"classAllocation": "Distribute based on class",
|
||||
"classAllocationPop": "Assigns more points to the attributes important to your class",
|
||||
"taskAllocation": "Distribute based on task activity",
|
||||
@@ -123,7 +123,7 @@
|
||||
"distributePoints": "Distribute Unallocated Points",
|
||||
"distributePointsPop": "Assigns all unallocated Stat Points according to the selected allocation scheme.",
|
||||
"warriorText": "Warriors score more and better \"critical hits\", which randomly give bonus Gold, Experience, and drop chance for scoring a task. They also deal heavy damage to boss monsters. Play a Warrior if you find motivation from unpredictable jackpot-style rewards, or want to dish out the hurt in boss Quests!",
|
||||
"wizardText": "Mages learn swiftly, gaining Experience and Levels faster than other classes. They also get a great deal of Mana for using special abilities. Play a Mage if you enjoy the tactical game aspects of Habitica, or if you are strongly motivated by leveling up and unlocking advanced features!",
|
||||
"wizardText": "Mages learn swiftly, gaining Experience and Levels faster than other classes. They also get a great deal of Mana for using special abilities. Play a Mage if you enjoy the tactical game aspects of Habitica, or if you are strongly motivated by levelling up and unlocking advanced features!",
|
||||
"mageText": "Mages learn swiftly, gaining Experience and Levels faster than other classes. They also get a great deal of Mana for using special abilities. Play a Mage if you enjoy the tactical game aspects of Habitica, or if you are strongly motivated by levelling up and unlocking advanced features!",
|
||||
"rogueText": "Rogues love to accumulate wealth, gaining more Gold than anyone else, and are adept at finding random items. Their iconic Stealth ability lets them duck the consequences of missed Dailies. Play a Rogue if you find strong motivation from Rewards and Achievements, striving for loot and badges!",
|
||||
"healerText": "Healers stand impervious against harm, and extend that protection to others. Missed Dailies and bad Habits don't faze them much, and they have ways to recover Health from failure. Play a Healer if you enjoy assisting others in your Party, or if the idea of cheating Death through hard work inspires you!",
|
||||
@@ -178,7 +178,7 @@
|
||||
"mainHand": "Main-Hand",
|
||||
"offHand": "Off-Hand",
|
||||
"statPoints": "Stat Points",
|
||||
"pts": "pts",
|
||||
"pts": "PTS",
|
||||
"chatCastSpellUser": "<%= username %> casts <%= spell %> on <%= target %>.",
|
||||
"chatCastSpellParty": "<%= username %> casts <%= spell %> for the party.",
|
||||
"purchasePetItemConfirm": "This purchase would exceed the number of items you need to hatch all possible <%= itemText %> pets. Are you sure?",
|
||||
|
||||
@@ -134,7 +134,7 @@
|
||||
"subscriptionDetail48": "Are there any changes to other subscription benefits, like Mystery Gear Sets?",
|
||||
"subscriptionDetail480": "These changes only affect Mystic Hourglasses and subscriber Gems. All other benefits will remain the same.",
|
||||
"subscriptionPara2": "If you have any questions not covered by the answers above, you can always contact our team at <%= mailto %>.",
|
||||
"contentAnswer01": "<strong>Grand Galas are being extended</strong> to be active throughout the whole season, along with all their Class gear, Avatar Customizations, and other goodies.",
|
||||
"contentAnswer01": "<strong>Grand Galas are being extended</strong> to be active throughout the whole season, along with all their Class gear, Avatar Customisations, and other goodies.",
|
||||
"contentAnswer10": "Habitica has been around since 2013 (wow!) and over time we’ve released thousands of items players can collect. This can be overwhelming, especially for new players. We want to be sure that we showcase everything we have to offer, and that excellent items released earlier in our history aren’t overlooked.",
|
||||
"contentAnswer11": "When new players join between Grand Galas they are often unaware of these events and miss out on the fun. We want to be sure all new players can join in on our seasonal festivities no matter when they choose to start their journeys.",
|
||||
"subscriptionDetail00": "All subscribers, including those with gifted subscriptions, will receive 1 Mystic Hourglass at the start of each month they have subscriber benefits.",
|
||||
@@ -192,7 +192,7 @@
|
||||
"faqQuestion63": "How do unassigned tasks work?",
|
||||
"webFaqAnswer63": "Unassigned tasks can be completed by any member. For example, taking out the trash. Whoever takes out the trash can complete the unassigned task and it will show as completed for everyone.",
|
||||
"faqQuestion64": "How does the synchronised day reset work?",
|
||||
"webFaqAnswer64": "Shared tasks will reset at the same time for everyone to keep the shared task board in sync. This time is visible on the shared task board and is determined by the Group Plan leader’s day start time. Because shared tasks reset automatically, you will not get a chance to complete yesterday’s uncompleted shared Dailies when you check in the next morning.\n\nShared Dailies will not do damage if they are missed, however they will degrade in colour to help visualize progress.",
|
||||
"webFaqAnswer64": "Shared tasks will reset at the same time for everyone to keep the shared task board in sync. This time is visible on the shared task board and is determined by the Group Plan leader’s day start time. Because shared tasks reset automatically, you will not get a chance to complete yesterday’s uncompleted shared Dailies when you check in the next morning.\n\nShared Dailies will not do damage if they are missed, however they will degrade in colour to help visualise progress.",
|
||||
"webFaqAnswer65": "While the mobile apps don’t fully support all Group Plans functionality yet, you can still complete shared tasks from the iOS and Android apps!\n\nOn Android, you can tap your Display Name at the top of the screen when viewing your tasks to switch to your shared task board. From there you can view members, access your chat, and create, complete, or assign tasks.\n\nYou can also switch on a preference to copy shared tasks to your personal task board so you can complete all your tasks from one place.\n\nTo do this on the mobile apps:\n * Open Settings and switch on “Copy shared tasks”\n\nTo do this on Habitica’s website:\n * Navigate to your Group Plan and switch on the “Copy tasks” toggle on the shared task board",
|
||||
"faqQuestion66": "What’s the difference between a Group Plan’s shared tasks and Challenge tasks?",
|
||||
"webFaqAnswer66": "Group Plan shared task boards are more dynamic than Challenges, in that they can constantly be updated and interacted with. Challenges are great if you have one set of tasks to send out to many people.\n\nGroup Plans are also a paid feature, while Challenges are available free to everyone.\n\nYou cannot assign specific tasks in Challenges, and Challenges do not have a shared day reset. In general, Challenges offer less control and direct interaction.",
|
||||
|
||||
@@ -132,7 +132,7 @@
|
||||
"invalidReqParams": "Invalid request parameters.",
|
||||
"memberIdRequired": "\"member\" must be a valid UUID.",
|
||||
"heroIdRequired": "\"heroId\" must be a valid UUID.",
|
||||
"cannotFulfillReq": "Please enter a valid email address. Email admin@habitica.com if this error persists.",
|
||||
"cannotFulfillReq": "This email address is already in use. You can try logging in or use a different email to register. If you need help, reach out to admin@habitica.com.",
|
||||
"modelNotFound": "This model does not exist.",
|
||||
"signUpWithSocial": "Continue with <%= social %>",
|
||||
"loginWithSocial": "Log in with <%= social %>",
|
||||
@@ -163,7 +163,7 @@
|
||||
"schoolAndWork": "School and Work",
|
||||
"schoolAndWorkDesc": "Whether you're preparing a report for your teacher or your boss, it's easy to keep track of your progress as you tackle your toughest tasks.",
|
||||
"muchmuchMore": "And much, much more!",
|
||||
"muchmuchMoreDesc": "Our fully customizable task list means that you can shape Habitica to fit your personal goals. Work on creative projects, emphasise self-care, or pursue a different dream -- it's all up to you.",
|
||||
"muchmuchMoreDesc": "Our fully customisable task list means that you can shape Habitica to fit your personal goals. Work on creative projects, emphasise self-care, or pursue a different dream -- it's all up to you.",
|
||||
"levelUpAnywhere": "Level Up Anywhere",
|
||||
"levelUpAnywhereDesc": "Our mobile apps make it simple to keep track of your tasks on-the-go. Accomplish your goals with a single tap, no matter where you are.",
|
||||
"joinMany": "Join over <%= userCountInMillions %> million people having fun while accomplishing their goals!",
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
"weaponSpecialSummer2015MageNotes": "Hidden power glimmers in the jewels of this staff. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2015 Summer Gear.",
|
||||
"weaponSpecialSummer2015HealerText": "Wand of the Waves",
|
||||
"weaponSpecialSummer2015HealerNotes": "Cures seasickness and sea sickness! Increases Intelligence by <%= int %>. Limited Edition 2015 Summer Gear.",
|
||||
"weaponSpecialFall2015RogueText": "Bat-tle Ax",
|
||||
"weaponSpecialFall2015RogueText": "Bat-tle Axe",
|
||||
"weaponSpecialFall2015RogueNotes": "Fearsome To Do's cower before the flapping of this axe. Increases Strength by <%= str %>. Limited Edition 2015 Autumn Gear.",
|
||||
"weaponSpecialFall2015WarriorText": "Wooden Plank",
|
||||
"weaponSpecialFall2015WarriorNotes": "Great for elevating things in cornfields and/or smacking tasks. Increases Strength by <%= str %>. Limited Edition 2015 Autumn Gear.",
|
||||
@@ -246,7 +246,7 @@
|
||||
"weaponSpecialWinter2018WarriorText": "Holiday Bow Hammer",
|
||||
"weaponSpecialWinter2018WarriorNotes": "The sparkly appearance of this bright weapon will dazzle your enemies as you swing it! Increases Strength by <%= str %>. Limited Edition 2017-2018 Winter Gear.",
|
||||
"weaponSpecialWinter2018MageText": "Holiday Confetti",
|
||||
"weaponSpecialWinter2018MageNotes": "Magic--and glitter--is in the air! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2017-2018 Winter Gear.",
|
||||
"weaponSpecialWinter2018MageNotes": "Magic—and glitter—is in the air! Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2017-2018 Winter Gear.",
|
||||
"weaponSpecialWinter2018HealerText": "Mistletoe Wand",
|
||||
"weaponSpecialWinter2018HealerNotes": "This mistletoe ball is sure to enchant and delight passersby! Increases Intelligence by <%= int %>. Limited Edition 2017-2018 Winter Gear.",
|
||||
"weaponSpecialSpring2018RogueText": "Buoyant Bullrush",
|
||||
@@ -326,7 +326,7 @@
|
||||
"weaponArmoireBasicLongbowText": "Basic Longbow",
|
||||
"weaponArmoireBasicLongbowNotes": "A serviceable hand-me-down bow. Increases Strength by <%= str %>. Enchanted Armoire: Basic Archer Set (Item 1 of 3).",
|
||||
"weaponArmoireHabiticanDiplomaText": "Habitican Diploma",
|
||||
"weaponArmoireHabiticanDiplomaNotes": "A certificate of significant achievement -- well done! Increases Intelligence by <%= int %>. Enchanted Armoire: Graduate Set (Item 1 of 3).",
|
||||
"weaponArmoireHabiticanDiplomaNotes": "A certificate of significant achievement—well done! Increases Intelligence by <%= int %>. Enchanted Armoire: Graduate Set (Item 1 of 3).",
|
||||
"weaponArmoireSandySpadeText": "Sandy Spade",
|
||||
"weaponArmoireSandySpadeNotes": "A tool for digging, as well as flicking sand into the eyes of enemy monsters. Increases Strength by <%= str %>. Enchanted Armoire: Seaside Set (Item 1 of 3).",
|
||||
"weaponArmoireCannonText": "Cannon",
|
||||
@@ -806,7 +806,7 @@
|
||||
"armorArmoireCoverallsOfBookbindingText": "Coveralls of Bookbinding",
|
||||
"armorArmoireCoverallsOfBookbindingNotes": "Everything you need in a set of coveralls, including pockets for everything. A pair of goggles, loose change, a golden ring... Increases Constitution by <%= con %> and Perception by <%= per %>. Enchanted Armoire: Bookbinder Set (Item 2 of 4).",
|
||||
"armorArmoireRobeOfSpadesText": "Robe of Spades",
|
||||
"armorArmoireRobeOfSpadesNotes": "These luxuriant robes conceal hidden pockets for treasures or weapons--your choice! Increases Strength by <%= str %>. Enchanted Armoire: Ace of Spades Set (Item 2 of 3).",
|
||||
"armorArmoireRobeOfSpadesNotes": "These luxuriant robes conceal hidden pockets for treasures or weapons—your choice! Increases Strength by <%= str %>. Enchanted Armoire: Ace of Spades Set (Item 2 of 3).",
|
||||
"armorArmoireSoftBlueSuitText": "Soft Blue Suit",
|
||||
"armorArmoireSoftBlueSuitNotes": "Blue is a calming colour. So calming, some even wear this soft outfit to sleep... zZz. Increases Intelligence by <%= int %> and Perception by <%= per %>. Enchanted Armoire: Blue Loungewear Set (Item 2 of 3).",
|
||||
"armorArmoireSoftGreenSuitText": "Soft Green Suit",
|
||||
@@ -876,7 +876,7 @@
|
||||
"headSpecialLunarWarriorHelmText": "Lunar Warrior Helm",
|
||||
"headSpecialLunarWarriorHelmNotes": "The power of the moon will strengthen you in battle! Increases Strength and Intelligence by <%= attrs %> each.",
|
||||
"headSpecialMammothRiderHelmText": "Mammoth Rider Helm",
|
||||
"headSpecialMammothRiderHelmNotes": "Don't let its fluffiness fool you--this hat will grant you piercing powers of perception! Increases Perception by <%= per %>.",
|
||||
"headSpecialMammothRiderHelmNotes": "Don't let its fluffiness fool you—this hat will grant you piercing powers of perception! Increases Perception by <%= per %>.",
|
||||
"headSpecialPageHelmText": "Page Helm",
|
||||
"headSpecialPageHelmNotes": "Chainmail: for the stylish AND the practical. Increases Perception by <%= per %>.",
|
||||
"headSpecialRoguishRainbowMessengerHoodText": "Roguish Rainbow Messenger Hood",
|
||||
@@ -960,7 +960,7 @@
|
||||
"headSpecialFall2015RogueText": "Bat-tle Wings",
|
||||
"headSpecialFall2015RogueNotes": "Echolocate your enemies with this powerful helm! Increases Perception by <%= per %>. Limited Edition 2015 Autumn Gear.",
|
||||
"headSpecialFall2015WarriorText": "Scarecrow Hat",
|
||||
"headSpecialFall2015WarriorNotes": "Everyone would want this hat--if they only had a brain. Increases Strength by <%= str %>. Limited Edition 2015 Autumn Gear.",
|
||||
"headSpecialFall2015WarriorNotes": "Everyone would want this hat—if they only had a brain. Increases Strength by <%= str %>. Limited Edition 2015 Autumn Gear.",
|
||||
"headSpecialFall2015MageText": "Stitched Hat",
|
||||
"headSpecialFall2015MageNotes": "Every stitch in this hat augments its power. Increases Perception by <%= per %>. Limited Edition 2015 Autumn Gear.",
|
||||
"headSpecialFall2015HealerText": "Hat of Frog",
|
||||
@@ -1435,7 +1435,7 @@
|
||||
"shieldArmoireMushroomDruidShieldText": "Mushroom Druid Shield",
|
||||
"shieldArmoireMushroomDruidShieldNotes": "Though made from a mushroom, there's nothing mushy about this tough shield! Increases Constitution by <%= con %> and Strength by <%= str %>. Enchanted Armoire: Mushroom Druid Set (Item 3 of 3).",
|
||||
"shieldArmoireFestivalParasolText": "Festival Parasol",
|
||||
"shieldArmoireFestivalParasolNotes": "This lightweight parasol will shield you from the glare--whether it's from the sun or from dark red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Festival Attire Set (Item 2 of 3).",
|
||||
"shieldArmoireFestivalParasolNotes": "This lightweight parasol will shield you from the glare—whether it's from the sun or from dark red Dailies! Increases Constitution by <%= con %>. Enchanted Armoire: Festival Attire Set (Item 2 of 3).",
|
||||
"shieldArmoireVikingShieldText": "Viking Shield",
|
||||
"shieldArmoireVikingShieldNotes": "This sturdy shield of wood and hide can stand up to the most daunting of foes. Increases Perception by <%= per %> and Intelligence by <%= int %>. Enchanted Armoire: Viking Set (Item 3 of 3).",
|
||||
"shieldArmoireSwanFeatherFanText": "Swan Feather Fan",
|
||||
@@ -2042,7 +2042,7 @@
|
||||
"weaponSpecialSpring2020WarriorText": "Sharpened Wing",
|
||||
"weaponSpecialSpring2020RogueNotes": "You'll strike so fast it'll look even MORE blue! Increases Strength by <%= str %>. Limited Edition 2020 Spring Gear.",
|
||||
"weaponSpecialSpring2020RogueText": "Lazurite Blade",
|
||||
"headAccessoryMystery202004Notes": "They twitch just a bit if the scent of flowers drifts by--use them to find a pretty garden! Confers no benefit. April 2020 Subscriber Item.",
|
||||
"headAccessoryMystery202004Notes": "They twitch just a bit if the scent of flowers drifts by—use them to find a pretty garden! Confers no benefit. April 2020 Subscriber Item.",
|
||||
"headAccessoryMystery202004Text": "Mighty Monarch Antennae",
|
||||
"backMystery202004Notes": "Make a quick flutter to the nearest flowery meadow or migrate across the continent with these beautiful wings! Confers no benefit. April 2020 Subscriber Item.",
|
||||
"backMystery202004Text": "Mighty Monarch Wings",
|
||||
@@ -2092,7 +2092,7 @@
|
||||
"shieldSpecialSummer2020WarriorText": "Huge Trout Scale",
|
||||
"armorSpecialSummer2020WarriorNotes": "You'll be the bright fish in a dull stream, with these dazzling scales! Increases Constitution by <%= con %>. Limited Edition 2020 Summer Gear.",
|
||||
"armorSpecialSummer2020WarriorText": "Rainbow Trout Tail",
|
||||
"armorSpecialSummer2020RogueNotes": "A crocodile makes the perfect Rogue, waiting for the perfect moment to strike. Borrow their skills--and their explosive speed. Increases Perception by <%= per %>. Limited Edition 2020 Summer Gear.",
|
||||
"armorSpecialSummer2020RogueNotes": "A crocodile makes the perfect Rogue, waiting for the perfect moment to strike. Borrow their skills—and their explosive speed. Increases Perception by <%= per %>. Limited Edition 2020 Summer Gear.",
|
||||
"armorSpecialSummer2020RogueText": "Crocodile Disguise",
|
||||
"weaponSpecialSummer2020HealerNotes": "As the currents wear away sharp edges, so shall your magic soften your friends' pain. Increases Intelligence by <%= int %>. Limited Edition 2020 Summer Gear.",
|
||||
"weaponSpecialSummer2020HealerText": "Frosted Glass Rod",
|
||||
@@ -2278,7 +2278,7 @@
|
||||
"weaponSpecialFall2021RogueText": "Dripping Goo",
|
||||
"weaponSpecialFall2021RogueNotes": "What on Earth did you get into? When people say Rogues have sticky fingers, this is not what they mean! Increases Strength by <%= str %>. Limited Edition 2021 Autumn Gear.",
|
||||
"weaponSpecialFall2021WarriorText": "Horse Rider's Axe",
|
||||
"weaponSpecialFall2021WarriorNotes": "This stylized, single-bladed axe is ideal for chopping... pumpkins! Increases Strength by <%= str %>. Limited Edition 2021 Autumn Gear.",
|
||||
"weaponSpecialFall2021WarriorNotes": "This stylised, single-bladed axe is ideal for chopping... pumpkins! Increases Strength by <%= str %>. Limited Edition 2021 Autumn Gear.",
|
||||
"weaponSpecialFall2021MageText": "Staff of Pure Thought",
|
||||
"weaponSpecialSummer2022RogueNotes": "If you're in a pinch, don't hesitate to show these fearsome claws! Increases Strength by <%= str %>. Limited Edition 2022 Summer Gear.",
|
||||
"weaponSpecialSummer2022RogueText": "Crab Claw",
|
||||
@@ -2435,7 +2435,7 @@
|
||||
"armorSpecialSummer2022MageNotes": "When wearing this armour, you will glide easily through your work like the manta ray glides through water. Increases Intelligence by <%= int %>. Limited Edition 2022 Summer Gear.",
|
||||
"armorSpecialFall2022RogueNotes": "Whether you’re swimming, sneaking, or wrestling, you will be safe in this armour. Increases Perception by <%= per %>. Limited Edition 2022 Autumn Gear.",
|
||||
"armorSpecialSpring2023WarriorText": "Hummingbird Armour",
|
||||
"weaponArmoireRidingBroomNotes": "Run all your most magical errands on this fine broom--or, just take it for a joyride around the neighbourhood. Whee! Increases Strength by <%= str %> and Intelligence by <%= int %>. Enchanted Armoire: Spooky Sorcery Set (Item 1 of 3)",
|
||||
"weaponArmoireRidingBroomNotes": "Run all your most magical errands on this fine broom—or, just take it for a joyride around the neighbourhood. Whee! Increases Strength by <%= str %> and Intelligence by <%= int %>. Enchanted Armoire: Spooky Sorcery Set (Item 1 of 3)",
|
||||
"armorSpecialSummer2021WarriorText": "Finny Armour",
|
||||
"armorSpecialSummer2023WarriorNotes": "Goldfish Warriors actually have excellent memories because they always keep their Dailies and To Do's organised in lists. Increases Constitution by <%= con %>. Limited Edition 2023 Summer Gear.",
|
||||
"armorSpecialFall2023RogueNotes": "You were lured with the promise of a nice hot soak... Joke's on you! Increases Perception by <%= per %>. Limited Edition 2023 Autumn Gear.",
|
||||
@@ -2557,5 +2557,18 @@
|
||||
"weaponMystery202212Text": "Glacial Wand",
|
||||
"weaponSpecialWinter2024MageNotes": "Thanks to a generous, magical narwhal that sensed your great abilities, you have been gifted a tusk that lets you sense changes happening around you. Increases Intelligence by <%= int %>. Limited Edition Winter 2023-2024 Gear.",
|
||||
"weaponSpecialSpring2024RogueNotes": "Challenges that are as hard as ice can be sliced into smaller pieces. Increases Strength by <%= str %>. Limited Edition Spring 2024 Gear.",
|
||||
"backMystery202602Notes": "These fluffy tails are the colour of cherry blossoms, a reminder that spring is on the way! Confers no benefit. February 2026 Subscriber Item."
|
||||
"backMystery202602Notes": "These fluffy tails are the colour of cherry blossoms, a reminder that spring is on the way! Confers no benefit. February 2026 Subscriber Item.",
|
||||
"armorSpecialSpring2026RogueText": "Birch Bark Armour",
|
||||
"armorSpecialSpring2026WarriorText": "Frog Armour",
|
||||
"armorMystery202512Text": "Cookie Champion Armour",
|
||||
"shieldArmoireSoftWhitePillowNotes": "The organised warrior packs a pillow for any expedition. Protect yourself from overlooked obligations… even while you nap. Increases Intelligence and Perception by <%= attrs %> each. Enchanted Armoire: White Loungewear Set (Item 3 of 3)",
|
||||
"headSpecialSummer2025MageNotes": "All will be mesmerised by the way your fins move with the currents. Increases Perception by <%= per %>. Limited Edition Summer 2025 Gear.",
|
||||
"headSpecialSpring2025HealerNotes": "This flower symbolises birth, love, and new beginnings! It also provides a beautiful scent you can enjoy as you work on your tasks. Increases Intelligence by <%= int %>. Limited Edition Spring 2025 Gear.",
|
||||
"armorArmoireFancyPirateSuitNotes": "Wear this fine jacket well as you organise your ship’s library or talk it through as a crew. Increases Constitution and Intelligence by <%= attrs %> each. Enchanted Armoire: Fancy Pirate Set (Item 1 of 3).",
|
||||
"armorArmoireJewelersApronNotes": "This heavy-duty apron is just the thing to wear when you feel creative. Best of all, there are dozens of small pockets to hold everything you need. Increases Intelligence by <%= int %>. Enchanted Armoire: Jeweller Set (Item 1 of 4).",
|
||||
"shieldArmoireJewelersPliersText": "Jeweller's Pliers",
|
||||
"shieldArmoireJewelersPliersNotes": "They cut, twist, pinch, and more. This tool can help you create whatever you can imagine. Increases Strength by <%= str %>. Enchanted Armoire: Jeweller Set (Item 3 of 4).",
|
||||
"weaponArmoireFinelyCutGemNotes": "What a find! This stunning, precision-cut gem will be the prize of your collection. And it might contain some special magic, just waiting for you to tap into it. Increases Constitution by <%= con %>. Enchanted Armoire: Jeweller Set (Item 4 of 4).",
|
||||
"eyewearArmoireJewelersEyeLoupeText": "Jeweller's Eye Loupe",
|
||||
"eyewearArmoireJewelersEyeLoupeNotes": "This eye loupe magnifies what you’re working on so you can see absolutely every detail. Increases Perception by <%= per %>. Enchanted Armoire: Jeweller Set (Item 2 of 4)."
|
||||
}
|
||||
|
||||
@@ -263,24 +263,24 @@
|
||||
"summer2024SeaAnemoneMageSet": "Sea Anemone Set (Mage)",
|
||||
"summer2024SeaSnailHealerSet": "Sea Snail Set (Healer)",
|
||||
"summer2024NudibranchRogueSet": "Nudibranch Set (Rogue)",
|
||||
"winter2025AuroraMageSet": "Aurora Mage Set",
|
||||
"winter2025SnowRogueSet": "Snow Rogue Set",
|
||||
"spring2025SunshineWarriorSet": "Sunshine Warrior Set",
|
||||
"spring2025CrystalPointRogueSet": "Crystal Point Rogue Set",
|
||||
"spring2025PlumeriaHealerSet": "Plumeria Healer Set",
|
||||
"spring2025MantisMageSet": "Mantis Mage Set",
|
||||
"winter2025AuroraMageSet": "Aurora Set (Mage)",
|
||||
"winter2025SnowRogueSet": "Snow Set (Rogue)",
|
||||
"spring2025SunshineWarriorSet": "Sunshine Set (Warrior)",
|
||||
"spring2025CrystalPointRogueSet": "Crystal Point Set (Rogue)",
|
||||
"spring2025PlumeriaHealerSet": "Plumeria Set (Healer)",
|
||||
"spring2025MantisMageSet": "Mantis Set (Mage)",
|
||||
"fall2024FieryImpWarriorSet": "Fiery Imp Set (Warrior)",
|
||||
"fall2024UnderworldSorcerorMageSet": "Underworld Sorceror Set (Mage)",
|
||||
"fall2024SpaceInvaderHealerSet": "Space Invader Set (Healer)",
|
||||
"fall2024BlackCatRogueSet": "Black Cat Set (Rogue)",
|
||||
"winter2025MooseWarriorSet": "Moose Warrior Set",
|
||||
"winter2025StringLightsHealerSet": "String Lights Healer Set",
|
||||
"fall2025SasquatchWarriorSet": "Sasquatch Warrior Set",
|
||||
"fall2025SkeletonRogueSet": "Skeleton Rogue Set",
|
||||
"fall2025KoboldHealerSet": "Kobold Healer Set",
|
||||
"fall2025MaskedGhostMageSet": "Masked Ghost Mage Set",
|
||||
"summer2025ScallopWarriorSet": "Scallop Warrior Set",
|
||||
"summer2025SquidRogueSet": "Squid Rogue Set",
|
||||
"summer2025SeaAngelHealerSet": "Sea Angel Healer Set",
|
||||
"summer2025FairyWrasseMageSet": "Fairy Wrasse Mage Set"
|
||||
"winter2025MooseWarriorSet": "Moose Set (Warrior)",
|
||||
"winter2025StringLightsHealerSet": "String Lights Set (Healer)",
|
||||
"fall2025SasquatchWarriorSet": "Sasquatch Set (Warrior)",
|
||||
"fall2025SkeletonRogueSet": "Skeleton Set (Rogue)",
|
||||
"fall2025KoboldHealerSet": "Kobold Set (Healer)",
|
||||
"fall2025MaskedGhostMageSet": "Masked Ghost Set (Mage)",
|
||||
"summer2025ScallopWarriorSet": "Scallop Set (Warrior)",
|
||||
"summer2025SquidRogueSet": "Squid Set (Rogue)",
|
||||
"summer2025SeaAngelHealerSet": "Sea Angel Set (Healer)",
|
||||
"summer2025FairyWrasseMageSet": "Fairy Wrasse Set (Mage)"
|
||||
}
|
||||
|
||||
@@ -189,7 +189,7 @@
|
||||
"questTRexUndeadBoss": "Skeletal Tyrannosaur",
|
||||
"questTRexUndeadRageTitle": "Skeleton Healing",
|
||||
"questTRexUndeadRageDescription": "This bar fills when you don't complete your Dailies. When it is full, the Skeletal Tyrannosaur will heal 30% of its remaining health!",
|
||||
"questTRexUndeadRageEffect": "`Skeletal Tyrannosaur uses SKELETON HEALING!`\n\nThe monster lets forth an unearthly roar, and some of its damaged bones knit back together!",
|
||||
"questTRexUndeadRageEffect": "Skeletal Tyrannosaur uses SKELETON HEALING!\n\nThe monster lets forth an unearthly roar, and some of its damaged bones knit back together!",
|
||||
"questTRexDropTRexEgg": "Tyrannosaur (Egg)",
|
||||
"questTRexUnlockText": "Unlocks Tyrannosaur Eggs for purchase in the Market",
|
||||
"questRockText": "Escape the Cave Creature",
|
||||
@@ -241,7 +241,7 @@
|
||||
"questDilatoryDistress2Boss": "Water Skull Swarm",
|
||||
"questDilatoryDistress2RageTitle": "Swarm Respawn",
|
||||
"questDilatoryDistress2RageDescription": "Swarm Respawn: This bar fills when you don't complete your Dailies. When it is full, the Water Skull Swarm will heal 30% of its remaining health!",
|
||||
"questDilatoryDistress2RageEffect": "`Water Skull Swarm uses SWARM RESPAWN!`\n\nEmboldened by their victories, more skulls pour forth from the crevasse, bolstering the swarm!",
|
||||
"questDilatoryDistress2RageEffect": "Water Skull Swarm uses SWARM RESPAWN!\n\nEmboldened by their victories, more skulls pour forth from the crevasse, bolstering the swarm!",
|
||||
"questDilatoryDistress2DropSkeletonPotion": "Skeleton Hatching Potion",
|
||||
"questDilatoryDistress2DropCottonCandyBluePotion": "Candyfloss Blue Hatching Potion",
|
||||
"questDilatoryDistress2DropHeadgear": "Fire Coral Circlet (Headgear)",
|
||||
@@ -253,7 +253,7 @@
|
||||
"questDilatoryDistress3DropWeapon": "Trident of Crashing Tides (Weapon)",
|
||||
"questDilatoryDistress3DropShield": "Moonpearl Shield (Off-Hand Item)",
|
||||
"questCheetahText": "Such a Cheetah",
|
||||
"questCheetahNotes": "As you hike across the Sloensteadi Savannah with your friends @PainterProphet, @tivaquinn, @Unruly Hyena, and @Crawford, you're startled to see a Cheetah screeching past with a new Habitican clamped in its jaws. Under the Cheetah's scorching paws, tasks burn away as though complete -- before anyone has the chance to actually finish them! The Habitican sees you and yells, \"Please help me! This Cheetah is making me level too quickly, but I'm not getting anything done. I want to slow down and enjoy the game. Make it stop!\" You fondly remember your own fledgling days, and know that you have to help the newbie by stopping the Cheetah!",
|
||||
"questCheetahNotes": "As you hike across the Sloensteadi Savannah with your friends @PainterProphet, @tivaquinn, @Unruly Hyena, and @Crawford, you're startled to see a Cheetah screeching past with a new Habitican clamped in its jaws. Under the Cheetah's scorching paws, tasks burn away as though complete—before anyone has the chance to actually finish them! The Habitican sees you and yells, \"Please help me! This Cheetah is making me level too quickly, but I'm not getting anything done. I want to slow down and enjoy the game. Make it stop!\" You fondly remember your own fledgling days, and know that you have to help the newbie by stopping the Cheetah!",
|
||||
"questCheetahCompletion": "The new Habitican is breathing heavily after the wild ride, but thanks you and your friends for your help. \"I'm glad that Cheetah won't be able to grab anyone else. It did leave some Cheetah eggs for us, so maybe we can raise them into more trustworthy pets!\"",
|
||||
"questCheetahBoss": "Cheetah",
|
||||
"questCheetahDropCheetahEgg": "Cheetah (Egg)",
|
||||
@@ -277,7 +277,7 @@
|
||||
"questBurnoutBossRageSeasonalShop": "`Burnout uses EXHAUST STRIKE!`\n\nAhh!!! Our incomplete Dailies have fed the flames of Burnout, and now it has enough energy to strike again! It lets loose a gout of spectral flame that sears the Seasonal Shop. You're horrified to see that the cheery Seasonal Sorceress has been transformed into a drooping Exhaust Spirit.\n\nWe have to rescue our NPCs! Hurry, Habiticans, complete your tasks and defeat Burnout before it strikes for a third time!",
|
||||
"questBurnoutBossRageTavern": "`Burnout uses EXHAUST STRIKE!`\n\nMany Habiticans have been hiding from Burnout in the Tavern, but no longer! With a screeching howl, Burnout rakes the Tavern with its white-hot hands. As the Tavern patrons flee, Daniel is caught in Burnout's grip, and transforms into an Exhaust Spirit right in front of you!\n\nThis hot-headed horror has gone on for too long. Don't give up... we're so close to vanquishing Burnout for once and for all!",
|
||||
"questFrogText": "Swamp of the Clutter Frog",
|
||||
"questFrogNotes": "As you and your friends are slogging through the Swamps of Stagnation, @starsystemic points at a large sign. \"Stay on the path -- if you can.\"<br><br>\"Surely that isn't hard!\" @RosemonkeyCT says. \"It's broad and clear.\"<br><br>But as you continue, you notice that path is gradually overtaken by the muck of the swamp, laced with bits of strange blue debris and clutter, until it's impossible to proceed.<br><br>As you look around, wondering how it got this messy, @Jon Arjinborn shouts, \"Look out!\" An angry frog leaps from the sludge, clad in dirty laundry and lit by blue fire. You will have to overcome this poisonous Clutter Frog to progress!",
|
||||
"questFrogNotes": "As you and your friends are slogging through the Swamps of Stagnation, @starsystemic points at a large sign. \"Stay on the path—if you can.\"<br><br>\"Surely that isn't hard!\" @RosemonkeyCT says. \"It's broad and clear.\"<br><br>But as you continue, you notice that path is gradually overtaken by the muck of the swamp, laced with bits of strange blue debris and clutter, until it's impossible to proceed.<br><br>As you look around, wondering how it got this messy, @Jon Arjinborn shouts, \"Look out!\" An angry frog leaps from the sludge, clad in dirty laundry and lit by blue fire. You will have to overcome this poisonous Clutter Frog to progress!",
|
||||
"questFrogCompletion": "The frog cowers back into the muck, defeated. As it slinks away, the blue slime fades, leaving the way ahead clear.<br><br>Sitting in the middle of the path are three pristine eggs. \"You can even see the tiny tadpoles through the clear casing!\" @Breadstrings says. \"Here, you should take them.\"",
|
||||
"questFrogBoss": "Clutter Frog",
|
||||
"questFrogDropFrogEgg": "Frog (Egg)",
|
||||
@@ -313,7 +313,7 @@
|
||||
"questSnailDropSnailEgg": "Snail (Egg)",
|
||||
"questSnailUnlockText": "Unlocks Snail Eggs for purchase in the Market",
|
||||
"questBewilderText": "The Be-Wilder",
|
||||
"questBewilderNotes": "The party begins like any other.<br><br>The appetisers are excellent, the music is swinging, and even the dancing elephants have become routine. Habiticans laugh and frolic amid the overflowing floral centrepieces, happy to have a distraction from their least-favourite tasks, and the April Fool whirls among them, eagerly providing an amusing trick here and a witty twist there.<br><br>As the Mistiflying clock tower strikes midnight, the April Fool leaps onto the stage to give a speech.<br><br>“Friends! Enemies! Tolerant acquaintances! Lend me your ears.” The crowd chuckles as animal ears sprout from their heads, and they pose with their new accessories.<br><br>“As you know,” the Fool continues, “my confusing illusions usually only last a single day. But I’m pleased to announce that I’ve discovered a shortcut that will guarantee us non-stop fun, without having to deal with the pesky weight of our responsibilities. Charming Habiticans, meet my magical new friend... the Be-Wilder!”<br><br>Lemoness pales suddenly, dropping her hors d'oeuvres. “Wait! Don’t trust--”<br><br>But suddenly mists are pouring into the room, glittering and thick, and they swirl around the April Fool, coalescing into cloudy feathers and a stretching neck. The crowd is speechless as a monstrous bird unfolds before them, its wings shimmering with illusions. It lets out a horrible screeching laugh.<br><br>“Oh, it has been ages since a Habitican has been foolish enough to summon me! How wonderful it feels, to have a tangible form at last.”<br><br>Buzzing in terror, the magic bees of Mistiflying flee the floating city, which sags from the sky. One by one, the brilliant spring flowers wither up and wisp away.<br><br>“My dearest friends, why so alarmed?” crows the Be-Wilder, beating its wings. “There’s no need to toil for your rewards any more. I’ll just give you all the things that you desire!”<br><br>A rain of coins pours from the sky, hammering into the ground with brutal force, and the crowd screams and flees for cover. “Is this a joke?” Baconsaur shouts, as the gold smashes through windows and shatters roof shingles.<br><br>PainterProphet ducks as lightning bolts crackle overhead, and fog blots out the sun. “No! This time, I don’t think it is!”<br><br>Quickly, Habiticans, don’t let this World Boss distract us from our goals! Stay focused on the tasks that you need to complete so we can rescue Mistiflying -- and hopefully, ourselves.",
|
||||
"questBewilderNotes": "The party begins like any other.<br><br>The appetisers are excellent, the music is swinging, and even the dancing elephants have become routine. Habiticans laugh and frolic amid the overflowing floral centrepieces, happy to have a distraction from their least-favourite tasks, and the April Fool whirls among them, eagerly providing an amusing trick here and a witty twist there.<br><br>As the Mistiflying clock tower strikes midnight, the April Fool leaps onto the stage to give a speech.<br><br>“Friends! Enemies! Tolerant acquaintances! Lend me your ears.” The crowd chuckles as animal ears sprout from their heads, and they pose with their new accessories.<br><br>“As you know,” the Fool continues, “my confusing illusions usually only last a single day. But I’m pleased to announce that I’ve discovered a shortcut that will guarantee us non-stop fun, without having to deal with the pesky weight of our responsibilities. Charming Habiticans, meet my magical new friend... the Be-Wilder!”<br><br>Lemoness pales suddenly, dropping her hors d'oeuvres. “Wait! Don’t trust—”<br><br>But suddenly mists are pouring into the room, glittering and thick, and they swirl around the April Fool, coalescing into cloudy feathers and a stretching neck. The crowd is speechless as a monstrous bird unfolds before them, its wings shimmering with illusions. It lets out a horrible screeching laugh.<br><br>“Oh, it has been ages since a Habitican has been foolish enough to summon me! How wonderful it feels, to have a tangible form at last.”<br><br>Buzzing in terror, the magic bees of Mistiflying flee the floating city, which sags from the sky. One by one, the brilliant spring flowers wither up and wisp away.<br><br>“My dearest friends, why so alarmed?” crows the Be-Wilder, beating its wings. “There’s no need to toil for your rewards any more. I’ll just give you all the things that you desire!”<br><br>A rain of coins pours from the sky, hammering into the ground with brutal force, and the crowd screams and flees for cover. “Is this a joke?” Baconsaur shouts, as the gold smashes through windows and shatters roof shingles.<br><br>PainterProphet ducks as lightning bolts crackle overhead, and fog blots out the sun. “No! This time, I don’t think it is!”<br><br>Quickly, Habiticans, don’t let this World Boss distract us from our goals! Stay focused on the tasks that you need to complete so we can rescue Mistiflying—and hopefully, ourselves.",
|
||||
"questBewilderCompletion": "<strong>The Be-Wilder is DEFEATED!</strong><br><br>We've done it! The Be-Wilder lets out a ululating cry as it twists in the air, shedding feathers like falling rain. Slowly, gradually, it coils into a cloud of sparkling mist. As the newly-revealed sun pierces the fog, it burns away, revealing the coughing, mercifully human forms of Bailey, Matt, Alex.... and the April Fool himself.<br><br><strong>Mistiflying is saved!</strong><br><br>The April Fool has enough shame to look a bit sheepish. “Oh, hm,” he says. “Perhaps I got a little…. carried away.”<br><br>The crowd mutters. Sodden flowers wash up on pavements. Somewhere in the distance, a roof collapses with a spectacular splash.<br><br>“Er, yes,” the April Fool says. “That is. What I meant to say was, I’m dreadfully sorry.” He heaves a sigh. “I suppose it can’t all be fun and games, after all. It might not hurt to focus occasionally. Maybe I’ll get a head start on next year’s pranking.”<br><br>Redphoenix coughs meaningfully.<br><br>“I mean, get a head start on this year’s spring cleaning!” the April Fool says. “Nothing to fear, I’ll have Habit City in spit-shape soon. Luckily nobody is better than I at dual-wielding mops.”<br><br>Encouraged, the marching band starts up.<br><br>It isn’t long before all is back to normal in Habit City. Plus, now that the Be-Wilder has evaporated, the magical bees of Mistiflying bustle back to work, and soon the flowers are blooming and the city is floating once more.<br><br>As Habiticans cuddle the magical fuzzy bees, the April Fool’s eyes light up. “Oho, I’ve had a thought! Why don’t you all keep some of these fuzzy Bee Pets and Mounts? It’s a gift that perfectly symbolises the balance between hard work and sweet rewards, if I’m going to get all boring and allegorical on you.” He winks. “Besides, they don’t have stingers! Fool’s honour.”",
|
||||
"questBewilderCompletionChat": "`The Be-Wilder is DEFEATED!`\n\nWe've done it! The Be-Wilder lets out a ululating cry as it twists in the air, shedding feathers like falling rain. Slowly, gradually, it coils into a cloud of sparkling mist. As the newly-revealed sun pierces the fog, it burns away, revealing the coughing, mercifully human forms of Bailey, Matt, Alex.... and the April Fool himself.\n\n`Mistiflying is saved!`\n\nThe April Fool has enough shame to look a bit sheepish. “Oh, hm,” he says. “Perhaps I got a little…. carried away.”\n\nThe crowd mutters. Sodden flowers wash up on pavements. Somewhere in the distance, a roof collapses with a spectacular splash.\n\n“Er, yes,” the April Fool says. “That is. What I meant to say was, I’m dreadfully sorry.” He heaves a sigh. “I suppose it can’t all be fun and games, after all. It might not hurt to focus occasionally. Maybe I’ll get a head start on next year’s pranking.”\n\nRedphoenix coughs meaningfully.\n\n“I mean, get a head start on this year’s spring cleaning!” the April Fool says. “Nothing to fear, I’ll have Habit City in spit-shape soon. Luckily nobody is better than I at dual-wielding mops.”\n\nEncouraged, the marching band starts up.\n\nIt isn’t long before all is back to normal in Habit City. Plus, now that the Be-Wilder has evaporated, the magical bees of Mistiflying bustle back to work, and soon the flowers are blooming and the city is floating once more.\n\nAs Habiticans cuddle the magical fuzzy bees, the April Fool’s eyes light up. “Oho, I’ve had a thought! Why don’t you all keep some of these fuzzy Bee Pets and Mounts? It’s a gift that perfectly symbolises the balance between hard work and sweet rewards, if I’m going to get all boring and allegorical on you.” He winks. “Besides, they don’t have stingers! Fool’s honour.”",
|
||||
"questBewilderBossRageTitle": "Beguilement Strike",
|
||||
@@ -343,7 +343,7 @@
|
||||
"questAxolotlUnlockText": "Unlocks Axolotl Eggs for purchase in the Market",
|
||||
"questAxolotlRageTitle": "Axolotl Regeneration",
|
||||
"questAxolotlRageDescription": "This bar fills when you don't complete your Dailies. When it is full, the Magical Axolotl will heal 30% of its remaining health!",
|
||||
"questAxolotlRageEffect": "`Magical Axolotl uses AXOLOTL REGENERATION!`\n\n`A curtain of colourful bubbles obscures the monster for a moment, and when it clears, some of its wounds have vanished!`",
|
||||
"questAxolotlRageEffect": "Magical Axolotl uses AXOLOTL REGENERATION!\n\nA curtain of colourful bubbles obscures the monster for a moment, and when it clears, some of its wounds have vanished!",
|
||||
"questTurtleText": "Guide the Turtle",
|
||||
"questTurtleNotes": "Help! This giant sea turtle cannot find her way to her nesting beach. She returns there every year to lay her eggs, but this year Inkomplete Bay is filled with toxic Task Flotsam made of red Dailies and unchecked To Do's. \"She's thrashing in a panic!\" @JessicaChase says.<br><br>@UncommonCriminal nods. \"It's because her guiding senses are fogged and confused.\"<br><br>@Scarabsi grabs your arm. \"Can you help clear the Task Flotsam blocking her path? It may be hazardous, but we have to help her!\"",
|
||||
"questTurtleCompletion": "Your valiant work has cleared the waters for our sea turtle to find her beach. You, @Bambin, and @JaizakAripaik watch as she buries her brood of eggs deep in the sand so they can grow and hatch into hundreds of little sea turtles. Ever the lady, she gives you three eggs each, asking that you feed and nurture them so one day they become big sea turtles themselves.",
|
||||
@@ -357,7 +357,7 @@
|
||||
"questArmadilloDropArmadilloEgg": "Armadillo (Egg)",
|
||||
"questArmadilloUnlockText": "Unlocks Armadillo Eggs for purchase in the Market",
|
||||
"questCowText": "The Mootant Cow",
|
||||
"questCowNotes": "It’s been a long, hot day at Sparring Farms, and there is nothing more you want than a long sip of water and some sleep. You're standing there daydreaming when @Soloana suddenly screams, \"Everyone run! The prize cow has mootated!\"<br><br>@eevachu gulps. \"It must be our bad habits that infected it.\"<br><br>\"Quick!\" @Feralem Tau says. \"Let’s do something before the udder cows mootate, too.\"<br><br>You’ve herd enough. No more daydreaming -- it's time to get those bad habits under control!",
|
||||
"questCowNotes": "It’s been a long, hot day at Sparring Farms, and there is nothing more you want than a long sip of water and some sleep. You're standing there daydreaming when @Soloana suddenly screams, \"Everyone run! The prize cow has mootated!\"<br><br>@eevachu gulps. \"It must be our bad habits that infected it.\"<br><br>\"Quick!\" @Feralem Tau says. \"Let’s do something before the udder cows mootate, too.\"<br><br>You’ve herd enough. No more daydreaming—it's time to get those bad habits under control!",
|
||||
"questCowCompletion": "You milk your good habits for all they are worth until the cow reverts to its original form. The cow looks over at you with her pretty brown eyes and nudges over three eggs.<br><br>@fuzzytrees laughs and hands you the eggs, \"Maybe it still is mootated if there are baby cows in these eggs. But I trust you to stick to your good habits when you raise them!\"",
|
||||
"questCowBoss": "Mootant Cow",
|
||||
"questCowDropCowEgg": "Cow (Egg)",
|
||||
@@ -375,7 +375,7 @@
|
||||
"questTaskwoodsTerror1Boss": "Fire Skull Swarm",
|
||||
"questTaskwoodsTerror1RageTitle": "Swarm Respawn",
|
||||
"questTaskwoodsTerror1RageDescription": "Swarm Respawn: This bar fills when you don't complete your Dailies. When it is full, the Fire Skull Swarm will heal 30% of its remaining health!",
|
||||
"questTaskwoodsTerror1RageEffect": "`Fire Skull Swarm uses SWARM RESPAWN!`\n\nEmboldened by their victories, more skulls swirl around you in a gout of flame!",
|
||||
"questTaskwoodsTerror1RageEffect": "Fire Skull Swarm uses SWARM RESPAWN!\n\nEmboldened by their victories, more skulls swirl around you in a gout of flame!",
|
||||
"questTaskwoodsTerror1DropSkeletonPotion": "Skeleton Hatching Potion",
|
||||
"questTaskwoodsTerror1DropRedPotion": "Red Hatching Potion",
|
||||
"questTaskwoodsTerror1DropHeadgear": "Pyromancer's Turban (Headgear)",
|
||||
@@ -387,7 +387,7 @@
|
||||
"questTaskwoodsTerror2CollectDryads": "Dryads",
|
||||
"questTaskwoodsTerror2DropArmor": "Pyromancer's Robes (Armour)",
|
||||
"questTaskwoodsTerror3Text": "Terror in the Taskwoods, Part 3: Jacko of the Lantern",
|
||||
"questTaskwoodsTerror3Notes": "Ready for battle, your group marches to the heart of the forest, where the renegade spirit is trying to destroy an ancient apple tree surrounded by fruitful berry bushes. His pumpkin-like head radiates a terrible light wherever it turns, and in his left hand he holds a long rod, with a lantern hanging from its tip. Instead of fire or flame, however, the lantern contains a dark crystal that chills you to the very bone.<br><br>The Joyful Reaper raises a bony hand to her mouth. \"That's -- that's Jacko, the Lantern Spirit! But he's a helpful harvest ghost who guides our farmers. What could possibly drive the dear soul to act this way?\"<br><br>\"I don't know,\" says @bridgetteempress. \"But it looks like that 'dear soul' is about to attack us!\"",
|
||||
"questTaskwoodsTerror3Notes": "Ready for battle, your group marches to the heart of the forest, where the renegade spirit is trying to destroy an ancient apple tree surrounded by fruitful berry bushes. His pumpkin-like head radiates a terrible light wherever it turns, and in his left hand he holds a long rod, with a lantern hanging from its tip. Instead of fire or flame, however, the lantern contains a dark crystal that chills you to the very bone.<br><br>The Joyful Reaper raises a bony hand to her mouth. \"That's—that's Jacko, the Lantern Spirit! But he's a helpful harvest ghost who guides our farmers. What could possibly drive the dear soul to act this way?\"<br><br>\"I don't know,\" says @bridgetteempress. \"But it looks like that 'dear soul' is about to attack us!\"",
|
||||
"questTaskwoodsTerror3Completion": "After a long battle, you manage to land a well-aimed blow at the lantern that Jacko carries, and the crystal within shatters. Jacko suddenly snaps back to his senses and bursts into glowing tears. \"Oh, my beautiful forest! What have I done?!\" he wails. His tears extinguish the remaining fires, and the apple tree and wild berries are saved.<br><br>After you help him relax, he explains, \"I met this charming lady named Tzina, and she gave me this glowing crystal as a gift. At her urging, I put it in my lantern... but that's the last thing I recall.\" He turns to you with a golden smile. \"Perhaps you should take it for safekeeping while I help the wild orchards to regrow.\"",
|
||||
"questTaskwoodsTerror3Boss": "Jacko of the Lantern",
|
||||
"questTaskwoodsTerror3DropStrawberry": "Strawberry (Food)",
|
||||
@@ -425,24 +425,24 @@
|
||||
"questSlothDropSlothEgg": "Sloth (Egg)",
|
||||
"questSlothUnlockText": "Unlocks Sloth Eggs for purchase in the Market",
|
||||
"questTriceratopsText": "The Trampling Triceratops",
|
||||
"questTriceratopsNotes": "The snow-capped Stoïkalm Volcanoes are always bustling with hikers and sight-seers. One tourist, @plumilla, calls over a crowd. \"Look! I enchanted the ground to glow so that we can play field games on it for our outdoor activity Dailies!\" Sure enough, the ground is swirling with glowing red patterns. Even some of the prehistoric pets from the area come over to play.<br><br>Suddenly, there's a loud snap -- a curious Triceratops has stepped on @plumilla's wand! It's engulfed in a burst of magic energy, and the ground starts shaking and growing hot. The Triceratops' eyes shine red, and it roars and begins to stampede!<br><br>\"That's not good,\" calls @McCoyly, pointing in the distance. Each magic-fueled stomp is causing the volcanoes to erupt, and the glowing ground is turning to lava beneath the dinosaur's feet! Quickly, you must hold off the Trampling Triceratops until someone can reverse the spell!",
|
||||
"questTriceratopsNotes": "The snow-capped Stoïkalm Volcanoes are always bustling with hikers and sight-seers. One tourist, @plumilla, calls over a crowd. \"Look! I enchanted the ground to glow so that we can play field games on it for our outdoor activity Dailies!\" Sure enough, the ground is swirling with glowing red patterns. Even some of the prehistoric pets from the area come over to play.<br><br>Suddenly, there's a loud snap—a curious Triceratops has stepped on @plumilla's wand! It's engulfed in a burst of magic energy, and the ground starts shaking and growing hot. The Triceratops' eyes shine red, and it roars and begins to stampede!<br><br>\"That's not good,\" calls @McCoyly, pointing in the distance. Each magic-fuelled stomp is causing the volcanoes to erupt, and the glowing ground is turning to lava beneath the dinosaur's feet! Quickly, you must hold off the Trampling Triceratops until someone can reverse the spell!",
|
||||
"questTriceratopsCompletion": "With quick thinking, you herd the creature towards the soothing Stoïkalm Steppes so that @*~Seraphina~* and @PainterProphet can reverse the lava spell without distraction. The calming aura of the Steppes takes effect, and the Triceratops curls up as the volcanoes go dormant once more. @PainterProphet passes you some eggs that were rescued from the lava. \"Without you, we wouldn't have been able to concentrate to stop the eruptions. Give these pets a good home.\"",
|
||||
"questTriceratopsBoss": "Trampling Triceratops",
|
||||
"questTriceratopsDropTriceratopsEgg": "Triceratops (Egg)",
|
||||
"questTriceratopsUnlockText": "Unlocks Triceratops Eggs for purchase in the Market",
|
||||
"questGroupStoikalmCalamity": "Stoïkalm Calamity",
|
||||
"questStoikalmCalamity1Text": "Stoïkalm Calamity, Part 1: Earthen Enemies",
|
||||
"questStoikalmCalamity1Notes": "A terse missive arrives from @Kiwibot, and the frost-crusted scroll chills your heart as well as your fingertips. \"Visiting Stoïkalm Steppes -- monsters bursting from earth -- send help!\" You gather your party and ride north, but as soon as you venture down from the mountains, the snow beneath your feet explodes and gruesomely grinning skulls surround you!<br><br>Suddenly, a spear sails past, burying itself in a skull that was burrowing through the snow in an attempt to catch you unawares. A tall woman in finely-crafted armour gallops into the fray on the back of a mastodon, her long braid swinging as she yanks the spear unceremoniously from the crushed beast. It's time to fight off these foes with the help of Lady Glaciate, the leader of the Mammoth Riders!",
|
||||
"questStoikalmCalamity1Notes": "A terse missive arrives from @Kiwibot, and the frost-crusted scroll chills your heart as well as your fingertips. \"Visiting Stoïkalm Steppes—monsters bursting from earth—send help!\" You gather your party and ride north, but as soon as you venture down from the mountains, the snow beneath your feet explodes and gruesomely grinning skulls surround you!<br><br>Suddenly, a spear sails past, burying itself in a skull that was burrowing through the snow in an attempt to catch you unawares. A tall woman in finely-crafted armour gallops into the fray on the back of a mastodon, her long braid swinging as she yanks the spear unceremoniously from the crushed beast. It's time to fight off these foes with the help of Lady Glaciate, the leader of the Mammoth Riders!",
|
||||
"questStoikalmCalamity1Completion": "As you deliver a final blow to the skulls, they dissipate in a puff of magic. \"The dratted swarm may be gone,\" Lady Glaciate says, \"but we have bigger problems. Follow me.\" She tosses you a cloak to protect you from the chill air, and you ride off after her.",
|
||||
"questStoikalmCalamity1Boss": "Earth Skull Swarm",
|
||||
"questStoikalmCalamity1RageTitle": "Swarm Respawn",
|
||||
"questStoikalmCalamity1RageDescription": "Swarm Respawn: This bar fills when you don't complete your Dailies. When it is full, the Earth Skull Swarm will heal 30% of its remaining health!",
|
||||
"questStoikalmCalamity1RageEffect": "`Earth Skull Swarm uses SWARM RESPAWN!`\n\nMore skulls break free from the ground, their teeth chattering in the cold!",
|
||||
"questStoikalmCalamity1RageEffect": "Earth Skull Swarm uses SWARM RESPAWN!\n\nMore skulls break free from the ground, their teeth chattering in the cold!",
|
||||
"questStoikalmCalamity1DropSkeletonPotion": "Skeleton Hatching Potion",
|
||||
"questStoikalmCalamity1DropDesertPotion": "Desert Hatching Potion",
|
||||
"questStoikalmCalamity1DropArmor": "Mammoth Rider Armour",
|
||||
"questStoikalmCalamity2Text": "Stoïkalm Calamity, Part 2: Seek the Icicle Caverns",
|
||||
"questStoikalmCalamity2Notes": "The stately hall of the Mammoth Riders is an austere masterpiece of architecture, but it is also entirely empty. There's no furniture, the weapons are missing, and even the columns were picked clean of their inlays.<br><br>\"Those skulls scoured the place,\" Lady Glaciate says, and there is a blizzard brewing in her tone. \"Humiliating. Not a soul is to mention this to the April Fool, or I will never hear the end of it.\"<br><br>\"How mysterious!\" says @Beffymaroo. \"But where did they--\"<br><br>\"The icicle drake caverns.\" Lady Glaciate gestures at shining coins spilled in the snow outside. \"Sloppy.\"<br><br>\"But aren't icicle drakes honorable creatures with their own treasure hoards?\" @Beffymaroo asks. \"Why would they possibly--\"<br><br>\"Mind control,\" says Lady Glaciate, utterly unfazed. \"Or something equally melodramatic and inconvenient.\" She begins to stride from the hall. \"Why are you just standing there?\"<br><br>Quickly, go follow the trail of Icicle Coins!",
|
||||
"questStoikalmCalamity2Notes": "The stately hall of the Mammoth Riders is an austere masterpiece of architecture, but it is also entirely empty. There's no furniture, the weapons are missing, and even the columns were picked clean of their inlays.<br><br>\"Those skulls scoured the place,\" Lady Glaciate says, and there is a blizzard brewing in her tone. \"Humiliating. Not a soul is to mention this to the April Fool, or I will never hear the end of it.\"<br><br>\"How mysterious!\" says @Beffymaroo. \"But where did they—\"<br><br>\"The icicle drake caverns.\" Lady Glaciate gestures at shining coins spilled in the snow outside. \"Sloppy.\"<br><br>\"But aren't icicle drakes honourable creatures with their own treasure hoards?\" @Beffymaroo asks. \"Why would they possibly—\"<br><br>\"Mind control,\" says Lady Glaciate, utterly unfazed. \"Or something equally melodramatic and inconvenient.\" She begins to stride from the hall. \"Why are you just standing there?\"<br><br>Quickly, go follow the trail of Icicle Coins!",
|
||||
"questStoikalmCalamity2Completion": "The Icicle Coins lead you straight to the buried entrance of a cleverly hidden cavern. Though the weather outside is calm and lovely, with the sunlight sparkling across the expanse of snow, there is a howling within like a fierce winter wind. Lady Glaciate grimaces and hands you a Mammoth Rider helm. \"Wear this,\" she says. \"You'll need it.\"",
|
||||
"questStoikalmCalamity2CollectIcicleCoins": "Icicle Coins",
|
||||
"questStoikalmCalamity2DropHeadgear": "Mammoth Rider Helm (Headgear)",
|
||||
@@ -454,19 +454,19 @@
|
||||
"questStoikalmCalamity3DropShield": "Mammoth Rider's Horn (Off-Hand Item)",
|
||||
"questStoikalmCalamity3DropWeapon": "Mammoth Rider Spear (Weapon)",
|
||||
"questGuineaPigText": "The Guinea Pig Gang",
|
||||
"questGuineaPigNotes": "You're casually strolling through Habit City's famous Market when @Pandah waves you down. \"Hey, check these out!\" They're holding up a brown and beige egg you don't recognise.<br><br>Alexander the Merchant frowns at it. \"I don't remember putting that out. I wonder where it came--\" A small paw cuts him off.<br><br>\"Guinea all your gold, merchant!\" squeaks a tiny voice brimming with evil.<br><br>\"Oh no, the egg was a distraction!\" @mewrose exclaims. \"It's the gritty, greedy Guinea Pig Gang! They never do their Dailies, so they constantly steal gold to buy health potions.\"<br><br>\"Robbing the Market?\" says @emmavig. \"Not on our watch!\" Without further prompting, you leap to Alexander's aid.",
|
||||
"questGuineaPigCompletion": "\"We submit!\" The Guinea Pig Gang Boss waves his paws at you, fluffy head hanging in shame. From underneath his hat falls a list, and @snazzyorange quickly swipes it for evidence. \"Wait a minute,\" you say. \"It's no wonder you've been getting hurt! You've got way too many Dailies. You don't need health potions -- you just need help organising.\"<br><br>\"Really?\" squeaks the Guinea Pig Gang Boss. \"We've robbed so many people because of this! Please take our eggs as an apology for our crooked ways.\"",
|
||||
"questGuineaPigNotes": "You're casually strolling through Habit City's famous Market when @Pandah waves you down. \"Hey, check these out!\" They're holding up a brown and beige egg you don't recognise.<br><br>Alexander the Merchant frowns at it. \"I don't remember putting that out. I wonder where it came—\" A small paw cuts him off.<br><br>\"Guinea all your gold, merchant!\" squeaks a tiny voice brimming with evil.<br><br>\"Oh no, the egg was a distraction!\" @mewrose exclaims. \"It's the gritty, greedy Guinea Pig Gang! They never do their Dailies, so they constantly steal gold to buy health potions.\"<br><br>\"Robbing the Market?\" says @emmavig. \"Not on our watch!\" Without further prompting, you leap to Alexander's aid.",
|
||||
"questGuineaPigCompletion": "\"We submit!\" The Guinea Pig Gang Boss waves his paws at you, fluffy head hanging in shame. From underneath his hat falls a list, and @snazzyorange quickly swipes it for evidence. \"Wait a minute,\" you say. \"It's no wonder you've been getting hurt! You've got way too many Dailies. You don't need health potions—you just need help organising.\"<br><br>\"Really?\" squeaks the Guinea Pig Gang Boss. \"We've robbed so many people because of this! Please take our eggs as an apology for our crooked ways.\"",
|
||||
"questGuineaPigBoss": "Guinea Pig Gang",
|
||||
"questGuineaPigDropGuineaPigEgg": "Guinea Pig (Egg)",
|
||||
"questGuineaPigUnlockText": "Unlocks Guinea Pig Eggs for purchase in the Market",
|
||||
"questPeacockText": "The Push-and-Pull Peacock",
|
||||
"questPeacockNotes": "You trek through the Taskwoods, wondering which of the enticing new goals you should pick. As you go deeper into the forest, you realise that you're not alone in your indecision. \"I could learn a new language, or go to the gym...\" @Cecily Perez mutters. \"I could sleep more,\" muses @Lilith of Alfheim, \"or spend time with my friends...\" It looks like @PainterProphet, @Pfeffernusse, and @Draayder are equally paralysed by the overwhelming options.<br><br>You realise that these ever-more-demanding feelings aren't really your own... you've stumbled straight into the trap of the pernicious Push-and-Pull Peacock! Before you can run, it leaps from the bushes. With each head pulling you in conflicting directions, you start to feel burnout overcoming you. You can't defeat both foes at once, so you only have one option -- concentrate on the nearest task to fight back!",
|
||||
"questPeacockNotes": "You trek through the Taskwoods, wondering which of the enticing new goals you should pick. As you go deeper into the forest, you realise that you're not alone in your indecision. \"I could learn a new language, or go to the gym...\" @Cecily Perez mutters. \"I could sleep more,\" muses @Lilith of Alfheim, \"or spend time with my friends...\" It looks like @PainterProphet, @Pfeffernusse, and @Draayder are equally paralysed by the overwhelming options.<br><br>You realise that these ever-more-demanding feelings aren't really your own... you've stumbled straight into the trap of the pernicious Push-and-Pull Peacock! Before you can run, it leaps from the bushes. With each head pulling you in conflicting directions, you start to feel burnout overcoming you. You can't defeat both foes at once, so you only have one option—concentrate on the nearest task to fight back!",
|
||||
"questPeacockCompletion": "The Push-and-Pull Peacock is caught off guard by your sudden conviction. Defeated by your single-minded drive, its heads merge back into one, revealing the most beautiful creature you've ever seen. \"Thank you,\" the peacock says. \"I’ve spent so long pulling myself in different directions that I lost sight of what I truly wanted. Please accept these eggs as a token of my gratitude.\"",
|
||||
"questPeacockBoss": "Push-and-Pull Peacock",
|
||||
"questPeacockDropPeacockEgg": "Peacock (Egg)",
|
||||
"questPeacockUnlockText": "Unlocks Peacock Eggs for purchase in the Market",
|
||||
"questButterflyText": "Bye, Bye, Butterfry",
|
||||
"questButterflyNotes": "Your gardener friend @Megan sends you an invitation: “These warm days are the perfect time to visit Habitica’s butterfly garden in the Taskan countryside. Come see the butterflies migrate!” When you arrive, however, the garden is in shambles -- little more than scorched grass and dried-out weeds. It’s been so hot that the Habiticans haven’t come out to water the flowers, and the dark-red Dailies have turned it into a dry, sun-baked, fire-hazard. There's only one butterfly there, and there's something odd about it...<br><br>“Oh no! This is the perfect hatching ground for the Flaming Butterfry,” cries @Leephon.<br><br>“If we don’t catch it, it’ll destroy everything!” gasps @Eevachu.<br><br>Time to say bye, bye to Butterfry!",
|
||||
"questButterflyNotes": "Your gardener friend @Megan sends you an invitation: “These warm days are the perfect time to visit Habitica’s butterfly garden in the Taskan countryside. Come see the butterflies migrate!” When you arrive, however, the garden is in shambles—little more than scorched grass and dried-out weeds. It’s been so hot that the Habiticans haven’t come out to water the flowers, and the dark-red Dailies have turned it into a dry, sun-baked, fire-hazard. There's only one butterfly there, and there's something odd about it...<br><br>“Oh no! This is the perfect hatching ground for the Flaming Butterfry,” cries @Leephon.<br><br>“If we don’t catch it, it’ll destroy everything!” gasps @Eevachu.<br><br>Time to say bye, bye to Butterfry!",
|
||||
"questButterflyCompletion": "After a blazing battle, the Flaming Butterfry is captured. “Great job catching that would-be arsonist,” says @Megan with a sigh of relief. “Still, it’s hard to vilify even the vilest butterfly. We’d better free this Butterfry someplace safe…like the desert.”<br><br>One of the other gardeners, @Beffymaroo, comes up to you, singed but smiling. “Will you help raise these foundling chrysalises we found? Perhaps next year we’ll have a greener garden for them.”",
|
||||
"questButterflyBoss": "Flaming Butterfry",
|
||||
"questButterflyDropButterflyEgg": "Caterpillar (Egg)",
|
||||
@@ -478,7 +478,7 @@
|
||||
"questMayhemMistiflying1Boss": "Air Skull Swarm",
|
||||
"questMayhemMistiflying1RageTitle": "Swarm Respawn",
|
||||
"questMayhemMistiflying1RageDescription": "Swarm Respawn: This bar fills when you don't complete your Dailies. When it is full, the Air Skull Swarm will heal 30% of its remaining health!",
|
||||
"questMayhemMistiflying1RageEffect": "`Air Skull Swarm uses SWARM RESPAWN!`\n\nEmboldened by their victories, more skulls come whirling out of the clouds!",
|
||||
"questMayhemMistiflying1RageEffect": "Air Skull Swarm uses SWARM RESPAWN!\n\nEmboldened by their victories, more skulls come whirling out of the clouds!",
|
||||
"questMayhemMistiflying1DropSkeletonPotion": "Skeleton Hatching Potion",
|
||||
"questMayhemMistiflying1DropWhitePotion": "White Hatching Potion",
|
||||
"questMayhemMistiflying1DropArmor": "Roguish Rainbow Messenger Robes (Armour)",
|
||||
@@ -535,7 +535,7 @@
|
||||
"questLostMasterclasser3Boss": "Void Skull Swarm",
|
||||
"questLostMasterclasser3RageTitle": "Swarm Respawn",
|
||||
"questLostMasterclasser3RageDescription": "Swarm Respawn: This bar fills when you don't complete your Dailies. When it is full, the Void Skull Swarm will heal 30% of its remaining health!",
|
||||
"questLostMasterclasser3RageEffect": "`Void Skull Swarm uses SWARM RESPAWN!`\n\nEmboldened by their victories, more skulls scream down from the heavens, bolstering the swarm!",
|
||||
"questLostMasterclasser3RageEffect": "Void Skull Swarm uses SWARM RESPAWN!\n\nEmboldened by their victories, more skulls scream down from the heavens, bolstering the swarm!",
|
||||
"questLostMasterclasser3DropBodyAccessory": "Aether Amulet (Body Accessory)",
|
||||
"questLostMasterclasser3DropBasePotion": "Base Hatching Potion",
|
||||
"questLostMasterclasser3DropGoldenPotion": "Golden Hatching Potion",
|
||||
@@ -548,7 +548,7 @@
|
||||
"questLostMasterclasser4Boss": "Anti'zinnya",
|
||||
"questLostMasterclasser4RageTitle": "Siphoning Void",
|
||||
"questLostMasterclasser4RageDescription": "Siphoning Void: This bar fills when you don't complete your Dailies. When it is full, Anti'zinnya will remove the party's Mana!",
|
||||
"questLostMasterclasser4RageEffect": "`Anti'zinnya uses SIPHONING VOID!` In a twisted inversion of the Ethereal Surge spell, you feel your magic drain away into the darkness!",
|
||||
"questLostMasterclasser4RageEffect": "Anti'zinnya uses SIPHONING VOID! In a twisted inversion of the Ethereal Surge spell, you feel your magic drain away into the darkness!",
|
||||
"questLostMasterclasser4DropBackAccessory": "Aether Cloak (Back Accessory)",
|
||||
"questLostMasterclasser4DropWeapon": "Aether Crystals (Two-Handed Weapon)",
|
||||
"questLostMasterclasser4DropMount": "Invisible Aether Mount",
|
||||
@@ -612,7 +612,7 @@
|
||||
"questSeaSerpentDropSeaSerpentEgg": "Sea Serpent (Egg)",
|
||||
"questSeaSerpentUnlockText": "Unlocks Sea Serpent Eggs for purchase in the Market",
|
||||
"questKangarooText": "Kangaroo Catastrophe",
|
||||
"questKangarooNotes": "Maybe you should have finished that last task… you know, the one you keep avoiding, even though it always comes back around? But @Mewrose and @LilithofAlfheim invited you and @stefalupagus to see a rare kangaroo troop hopping through the Sloensteadi Savannah; how could you say no?! As the troop comes into view, something hits you on the back of the head with a mighty <em>whack!</em><br><br>Shaking the stars from your vision, you pick up the responsible object--a dark red boomerang, with the very task you continually push back etched into its surface. A quick glance around confirms the rest of your party met a similar fate. One larger kangaroo looks at you with a smug grin, like she’s daring you to face her and that dreaded task once and for all!",
|
||||
"questKangarooNotes": "Maybe you should have finished that last task… you know, the one you keep avoiding, even though it always comes back around? But @Mewrose and @LilithofAlfheim invited you and @stefalupagus to see a rare kangaroo troop hopping through the Sloensteadi Savannah; how could you say no?! As the troop comes into view, something hits you on the back of the head with a mighty <em>whack!</em><br><br>Shaking the stars from your vision, you pick up the responsible object—a dark red boomerang, with the very task you continually push back etched into its surface. A quick glance around confirms the rest of your party met a similar fate. One larger kangaroo looks at you with a smug grin, like she’s daring you to face her and that dreaded task once and for all!",
|
||||
"questKangarooCompletion": "“NOW!” You signal your party to throw the boomerangs back at the kangaroo. The beast hops further away with each hit until she flees, leaving nothing more than a dark red cloud of dust, a few eggs, and some gold coins.<br><br>@Mewrose walks forward to where the kangaroo once stood. “Hey, where did the boomerangs go?”<br><br>“They probably dissolved into dust, making that dark red cloud, when we finished our respective tasks,” @stefalupagus speculates.<br><br>@LilithofAlfheim squints at the horizon. “Is that another kangaroo troop heading our way?”<br><br>You all break into a run back to Habit City. Better to face your difficult tasks than take another lump to the back of the head!",
|
||||
"questKangarooBoss": "Catastrophic Kangaroo",
|
||||
"questKangarooDropKangarooEgg": "Kangaroo (Egg)",
|
||||
@@ -672,7 +672,7 @@
|
||||
"delightfulDinosNotes": "Contains Quests to obtain Triceratops, T-Rex, and Pterodactyl Pet eggs: The Trampling Triceratops, The Dinosaur Unearthed, and The Pterror-dactyl.",
|
||||
"questAmberText": "The Amber Alliance",
|
||||
"questAmberNotes": "You’re sitting in the Tavern with @beffymaroo and @-Tyr- when @Vikte bursts through the door and excitedly tells you about the rumours of another type of Magic Hatching Potion hidden in the Taskwoods. Having completed your Dailies, the three of you immediately agree to help @Vikte on their search. After all, what’s the harm in a little adventure?<br><br>After walking through the Taskwoods for hours, you’re beginning to regret joining such a wild chase. You’re about to head home, when you hear a surprised yelp and turn to see a huge lizard with shiny amber scales coiled around a tree, clutching @Vikte in her claws. @beffymaroo reaches for her sword.<br><br>“Wait!” cries @-Tyr-. “It’s the Trerezin! She’s not dangerous, just dangerously clingy!”",
|
||||
"questAmberCompletion": "“Trerezin?” @-Tyr- says calmly. “Could you let @Vikte go? I don’t think they’re enjoying being so high up.”<br><br>The Trerezin’s amber skin blushes crimson and she gently lowers @Vikte to the ground. “My apologies! It’s been so long since I’ve had any guests that I’ve forgotten my manners!” She slithers forward to greet you properly before disappearing into her treehouse, and returning with an armful of Amber Hatching Potions as thank-you gifts!<br><br>“Magic Potions!” @Vikte gasps.<br><br>“Oh, these old things?” The Trerezin's tongue flickers as she thinks. “How about this? I’ll give you this whole stack if you promise to visit me every so often...”<br><br>And so you leave the Taskwoods, excited to tell everyone about the new potions--and your new friend!",
|
||||
"questAmberCompletion": "“Trerezin?” @-Tyr- says calmly. “Could you let @Vikte go? I don’t think they’re enjoying being so high up.”<br><br>The Trerezin’s amber skin blushes crimson and she gently lowers @Vikte to the ground. “My apologies! It’s been so long since I’ve had any guests that I’ve forgotten my manners!” She slithers forward to greet you properly before disappearing into her treehouse, and returning with an armful of Amber Hatching Potions as thank-you gifts!<br><br>“Magic Potions!” @Vikte gasps.<br><br>“Oh, these old things?” The Trerezin's tongue flickers as she thinks. “How about this? I’ll give you this whole stack if you promise to visit me every so often...”<br><br>And so you leave the Taskwoods, excited to tell everyone about the new potions—and your new friend!",
|
||||
"questAmberBoss": "Trerezin",
|
||||
"questAmberDropAmberPotion": "Amber Hatching Potion",
|
||||
"questAmberUnlockText": "Unlocks Amber Hatching Potions for purchase in the Market",
|
||||
@@ -686,12 +686,12 @@
|
||||
"questRubyText": "Ruby Rapport",
|
||||
"questWaffleRageTitle": "Maple Mire",
|
||||
"questWaffleBoss": "Awful Waffle",
|
||||
"questWaffleCompletion": "Battered and buttered but triumphant, you savour sweet victory as the Awful Waffle collapses into a pool of sticky goo.<br><br>“Wow, you really creamed that monster,” says Lady Glaciate, impressed.<br><br>“A piece of cake!” beams the April Fool.<br><br>“Kind of a shame, though,” says @beffymaroo. “It looked good enough to eat.”<br><br>The Fool takes a set of potion bottles from somewhere in his cape, fills them with the syrupy leavings of the Waffle, and mixes in a pinch of sparkling dust. The liquid swirls with colour--new Hatching Potions! He tosses them into your arms. “All that adventure has given me an appetite. Who wants to join me for breakfast?”",
|
||||
"questWaffleCompletion": "Battered and buttered but triumphant, you savour sweet victory as the Awful Waffle collapses into a pool of sticky goo.<br><br>“Wow, you really creamed that monster,” says Lady Glaciate, impressed.<br><br>“A piece of cake!” beams the April Fool.<br><br>“Kind of a shame, though,” says @beffymaroo. “It looked good enough to eat.”<br><br>The Fool takes a set of potion bottles from somewhere in his cape, fills them with the syrupy leavings of the Waffle, and mixes in a pinch of sparkling dust. The liquid swirls with colour—new Hatching Potions! He tosses them into your arms. “All that adventure has given me an appetite. Who wants to join me for breakfast?”",
|
||||
"questWaffleNotes": "“April Fool!” storms a flustered Lady Glaciate. “You said your dessert-themed prank was ‘over with and completely cleaned up’!”<br><br>“Why, it was and is, my dear,” replies the Fool, puzzled. “And I am the most honest of Fools. What's wrong?”<br><br>“There's a giant sugary monster approaching Habit City!”<br><br>“Hmm,” muses the Fool. “I did raid a few lairs for the mystic reagents for my last event. Maybe I attracted some unwanted attention. Is it the Saccharine Serpent? The Torte-oise? Tiramisu Rex?”<br><br>“No! It's some sort of... Awful Waffle!”<br><br>“Huh. That's a new one! Perhaps it spawned from all the ambient shenanigan energy.” He turns to you and @beffymaroo with a lopsided smile. “I don't suppose you'd be available for some heroics?”",
|
||||
"questWaffleText": "Waffling with the Fool: Disaster Breakfast!",
|
||||
"questWaffleUnlockText": "Unlocks Confection Hatching Potions for purchase in the Market",
|
||||
"questWaffleDropDessertPotion": "Confection Hatching Potion",
|
||||
"questWaffleRageEffect": "`Awful Waffle uses MAPLE MIRE!` Sticky sappy syrup slows your swings and spells! Pending damage reduced.",
|
||||
"questWaffleRageEffect": "Awful Waffle uses MAPLE MIRE! Sticky sappy syrup slows your swings and spells! Pending damage reduced.",
|
||||
"questWaffleRageDescription": "Maple Mire: This bar fills when you don't complete your Dailies. When it is full, the Awful Waffle will set back the party's attack progress!",
|
||||
"jungleBuddiesNotes": "Contains Quests to obtain Monkey, Treeling, and Sloth Pet eggs: Monstrous Mandrill and the Mischief Monkeys, The Tangle Tree, and The Somnolent Sloth.",
|
||||
"jungleBuddiesText": "Jungle Buddies Quest Bundle",
|
||||
@@ -701,7 +701,7 @@
|
||||
"questFluoriteCompletion": "As you do battle, the crystal creature seems more and more distracted by the light show you are creating. “So shiny…” it mutters.<br><br>“Of course!” @nirbhao exclaims. “It must be a fluorite elemental. All they want is light to let them glow. Let’s help it shine.”<br><br>The elemental giggles happily and glows all the brighter as you light up torches and motes of magic. It’s so glad to be shining again that it leads you to a rich deposit of fluorite crystals.<br><br>“This is the perfect ingredient for a new hatching potion,” says @nirbhao. “One which will make our pets as bright as our new fluorescent friend.”",
|
||||
"questFluoriteNotes": "Unusual minerals are in high demand these days, so you and a few friends have trekked deep into the mines of the Meandering Mountains, in search of exciting ores. It’s a long and boring expedition, until @-Tyr- stumbles over a large rock, sitting right in the middle of the tunnel.<br><br>“This should help brighten things up,” says @nirbhao, before conjuring up an orb of light.<br><br>A warm brightness fills the tunnel, but something odd starts happening to that large rock. Feeding on the magical light, it begins to glow with fluorescent blues, greens and purples. Then it rears upright into a vaguely humanoid shape, complete with glowing red eyes fixed right on you! You jump into action with flashing spells and shining weapons.",
|
||||
"questFluoriteText": "A Bright Fluorite Fright",
|
||||
"questWindupNotes": "Habit City is seldom quiet, but you weren’t prepared for the cacophony of creaks, squeaks and screams escaping Good Timekeeping, Habitica’s finest clockwork emporium. You sigh--you just wanted your watch fixed. The proprietor, known only as “Great and Powerful”, tumbles out the door, pursued by a clanking copper colossus!<br><br>“Ki-! Ki-! Ki!” it clangs, arms smashing up and down. Its gears grind and screech in protest.<br><br>“My robot Clankton has gone mad! It’s trying to kill me!” the supposedly Powerful one shrieks.<br><br>Even with a broken watch, you can tell when it’s time to fight. You leap forward to defend the panicking watchmaker. @Vikte and @a_diamond also step up to help!<br><br>“Ki-! Ki-! Ki-!” Clankton chants with each blow. “Mew!”<br><br>Wait, was that mechanical mewling amidst the murderous monotone?",
|
||||
"questWindupNotes": "Habit City is seldom quiet, but you weren’t prepared for the cacophony of creaks, squeaks and screams escaping Good Timekeeping, Habitica’s finest clockwork emporium. You sigh—you just wanted your watch fixed. The proprietor, known only as “Great and Powerful”, tumbles out the door, pursued by a clanking copper colossus!<br><br>“Ki-! Ki-! Ki!” it clangs, arms smashing up and down. Its gears grind and screech in protest.<br><br>“My robot Clankton has gone mad! It’s trying to kill me!” the supposedly Powerful one shrieks.<br><br>Even with a broken watch, you can tell when it’s time to fight. You leap forward to defend the panicking watchmaker. @Vikte and @a_diamond also step up to help!<br><br>“Ki-! Ki-! Ki-!” Clankton chants with each blow. “Mew!”<br><br>Wait, was that mechanical mewling amidst the murderous monotone?",
|
||||
"questWindupText": "A Whirl with a Wind-Up Warrior",
|
||||
"questBlackPearlUnlockText": "Unlocks Black Pearl Hatching Potions for purchase in the Market",
|
||||
"questBlackPearlDropBlackPearlPotion": "Black Pearl Hatching Potion",
|
||||
@@ -739,7 +739,7 @@
|
||||
"questStoneText": "A Maze of Moss",
|
||||
"questSolarSystemUnlockText": "Unlocks Solar System Hatching Potions for purchase in the Market",
|
||||
"questSolarSystemText": "A Voyage of Cosmic Concentration",
|
||||
"questSolarSystemNotes": "Your party is traveling through the cosmos, seeing the sights in a fantastical airship designed by talented space engineer @gawrone. Its meditationite propulsion relies on the calm of your Party to stay on course.<br><br>Up ahead in the clouds of sparkling galaxies, you spot an ominously pulsing star. “Keep your focus,” warns @beffymaroo. “If we get too distracted when we’re passing that nova, the pull between the star and our ship may veer us off course!”<br><br>As you near the star, pulses of strange energy come toward the ship.<br><br>“They’re Diversionoids, thought creatures trying to get us lost,” says @SabreCat. “If we can let them flow by without carrying us away, we should be able to stay pointed toward our goal!”",
|
||||
"questSolarSystemNotes": "Your party is travelling through the cosmos, seeing the sights in a fantastical airship designed by talented space engineer @gawrone. Its meditationite propulsion relies on the calm of your Party to stay on course.<br><br>Up ahead in the clouds of sparkling galaxies, you spot an ominously pulsing star. “Keep your focus,” warns @beffymaroo. “If we get too distracted when we’re passing that nova, the pull between the star and our ship may veer us off course!”<br><br>As you near the star, pulses of strange energy come toward the ship.<br><br>“They’re Diversionoids, thought creatures trying to get us lost,” says @SabreCat. “If we can let them flow by without carrying us away, we should be able to stay pointed toward our goal!”",
|
||||
"questStoneCollectMarsRunes": "Mars Runes",
|
||||
"questSolarSystemCompletion": "Through careful practice, you and the crew manage to keep the Diversionoids from sweeping you overboard, just by noticing and acknowledging them without letting them take over. As you pass safely by the pulsing star, @gawrone notices a cluster of floating bottles and pulls them aboard. Each appears to contain a tiny solar system!<br><br>“Well, looks like our hard work has brought us some fine rewards!” says @beffymaroo. “Let’s see what celestial wonders might appear if we hatch pet eggs with these new potions.”",
|
||||
"questStoneDropMossyStonePotion": "Mossy Stone Hatching Potion",
|
||||
@@ -760,7 +760,7 @@
|
||||
"questVirtualPetCompletion": "Some careful button pushing seems to have fulfilled the virtual pet’s mysterious needs, and finally it has quieted down and appears content.<br><br>Suddenly in a burst of confetti, the April Fool appears with a basket full of strange potions emitting soft beeps.<br><br>“What timing, April Fool,” @Beffymaroo says with a wry smile. “I suspect this large beeping fellow is an acquaintance of yours.”<br><br>“Uh, yes,” the Fool says, sheepishly. “So sorry about that, and thank you both for taking care of Wotchimon! Take these potions in the way of thanks, they can bring your Virtual pets back anytime you like!”<br><br>You’re not 100% sure you’re on board with all the beeping, but they’re sure cute so it’s worth a shot!",
|
||||
"questVirtualPetBoss": "Wotchimon",
|
||||
"questVirtualPetRageTitle": "The Beepening",
|
||||
"questVirtualPetRageEffect": "`Wotchimon uses Bothersome Beep!` Wotchimon sounds a bothersome beep, and its happiness bar suddenly disappears! Pending damage reduced.",
|
||||
"questVirtualPetRageEffect": "Wotchimon uses Bothersome Beep! Wotchimon sounds a bothersome beep, and its happiness bar suddenly disappears! Pending damage reduced.",
|
||||
"questVirtualPetDropVirtualPetPotion": "Virtual Pet Hatching Potion",
|
||||
"questVirtualPetUnlockText": "Unlocks Virtual Pet Hatching Potion for purchase in the Market",
|
||||
"questVirtualPetRageDescription": "This bar fills when you don't complete your Dailies. When it is full, the Wotchimon will take away some of your party's pending damage!",
|
||||
@@ -769,7 +769,7 @@
|
||||
"questPinkMarbleBoss": "Cupido",
|
||||
"questPinkMarbleRageTitle": "Pink Punch",
|
||||
"questPinkMarbleRageDescription": "This bar fills when you don't complete your Dailies. When it is full, Cupido will take away some of your party's pending damage!",
|
||||
"questPinkMarbleRageEffect": "`Cupido uses Pink Punch!` That wasn't affectionate at all! Your partymates are taken aback. Pending damage reduced.",
|
||||
"questPinkMarbleRageEffect": "Cupido uses Pink Punch! That wasn't affectionate at all! Your partymates are taken aback. Pending damage reduced.",
|
||||
"questPinkMarbleDropPinkMarblePotion": "Pink Marble Hatching Potion",
|
||||
"questPinkMarbleText": "Calm the Corrupted Cupid",
|
||||
"questGiraffeText": "The Gear-affe",
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"rebirthNew": "Rebirth: New Adventure Available!",
|
||||
"rebirthUnlock": "You've unlocked Rebirth! This special Market item allows you to begin a new game at level 1 while keeping your tasks, achievements, pets, and more. Use it to breathe new life into Habitica if you feel you've achieved it all, or to experience new features with the fresh eyes of a beginning character!",
|
||||
"rebirthAchievement": "You've begun a new adventure! This is Rebirth <%= number %> for you, and the highest Level you've attained is <%= level %>. To stack this Achievement, begin your next new adventure when you've reached an even higher Level!",
|
||||
"rebirthAchievement100": "You've begun a new adventure! This is Rebirth <%= number %> for you, and the highest Level you've attained is 100 or higher. To stack this Achievement, begin your next new adventure when you've reached at least 100!",
|
||||
"rebirthAchievement": "You've used the Orb of Rebirth <strong><%= number %></strong> times, and your highest level reached is <strong><%= level %></strong>.",
|
||||
"rebirthAchievement100": "You've used the Orb of Rebirth <strong><%= number %></strong> times, and your highest level reached is <strong>100</strong> or higher.",
|
||||
"rebirthBegan": "Began a New Adventure",
|
||||
"rebirthText": "Began <%= rebirths %> New Adventures",
|
||||
"rebirthOrb": "Used an Orb of Rebirth to start over after attaining Level <%= level %>.",
|
||||
|
||||
@@ -410,5 +410,6 @@
|
||||
"questEggPlatypusText": "Ornithorynque",
|
||||
"questEggPlatypusMountText": "Ornithorynque",
|
||||
"questEggPlatypusAdjective": "organisé",
|
||||
"hatchingPotionOpal": "Opal"
|
||||
"hatchingPotionOpal": "Opal",
|
||||
"hatchingPotionAlien": "Alien"
|
||||
}
|
||||
|
||||
@@ -187,5 +187,7 @@
|
||||
"minPasswordLengthLogin": "Votre mot de passe contient au moins 8 caractères.",
|
||||
"enterValidEmail": "Merci d'entrer une adresse email valide.",
|
||||
"whatToCallYou": "Comment souhaitez-vous que nous vous appelions ?",
|
||||
"acceptPrivacyTOS": "Vous confirmez avoir au moins 18 ans, et avoir lu et approuvé nos <a href='/static/terms' target='_blank'>Conditions de Service</a> ainsi que notre <a href='/static/privacy' target='_blank'>Politique de confidentialité</a>"
|
||||
"acceptPrivacyTOS": "Vous confirmez avoir au moins 18 ans, et avoir lu et approuvé nos <a href='/static/terms' target='_blank'>Conditions de Service</a> ainsi que notre <a href='/static/privacy' target='_blank'>Politique de confidentialité</a>",
|
||||
"emailAddress": "Adresse mail",
|
||||
"emailRequiredForSupport": "Une adresse mail est nécessaire pour le support utilisat·eur·rice. Veuillez entrer une adresse mail pour poursuivre la création de votre compte."
|
||||
}
|
||||
|
||||
@@ -930,5 +930,16 @@
|
||||
"backgroundElegantPalaceNotes": "Csodáld meg az elegáns palota színes folyosóit.",
|
||||
"backgrounds122025": "139. KÉSZLET: Megjelent 2025 december",
|
||||
"backgrounds012026": "140. KÉSZLET: Megjelent 2026 január",
|
||||
"backgrounds022026": "141. KÉSZLET: Megjelent 2026 február"
|
||||
"backgrounds022026": "141. KÉSZLET: Megjelent 2026 február",
|
||||
"backgrounds032026": "KÉSZLET 142: Megjelent 2026. március",
|
||||
"backgroundWaterfallWithRainbowText": "Vízesés szivárvánnyal",
|
||||
"backgroundWaterfallWithRainbowNotes": "Gyönyörködj a vízesés és a szivárvány lélegzetelállító szépségében.",
|
||||
"backgrounds042026": "KÉSZLET 143: Megjelent 2026. április",
|
||||
"backgroundRidingACometText": "Üstököslovaglás",
|
||||
"backgroundRidingACometNotes": "Utazz az űrben üstökösön lovagolva!",
|
||||
"backgrounds052026": "KÉSZLET 144: Megjelent 2026. május",
|
||||
"backgroundElvenCitadelText": "Tündék citadellája",
|
||||
"backgroundElvenCitadelNotes": "Tegyél egy festői utazást a tündék citadellájához.",
|
||||
"backgroundOnAStrangePlanetText": "Idegen bolygón",
|
||||
"backgroundOnAStrangePlanetNotes": "Merészkedj oda, ahol még egyetlen habiticai sem járt: egy idegen bolygóra."
|
||||
}
|
||||
|
||||
@@ -410,5 +410,6 @@
|
||||
"questEggPlatypusText": "Kacsacsőrű emlős",
|
||||
"questEggPlatypusAdjective": "egy maximalista",
|
||||
"questEggPlatypusMountText": "Kacsacsőrű emlős",
|
||||
"hatchingPotionOpal": "Opál"
|
||||
"hatchingPotionOpal": "Opál",
|
||||
"hatchingPotionAlien": "Földönkívüli"
|
||||
}
|
||||
|
||||
@@ -3429,7 +3429,7 @@
|
||||
"armorSpecialWinter2026HealerNotes": "Mint egy természetes fényshow, lenyűgöző leszel, miközben a napi teendőid felé tartasz. Növeli a szívósságodat <%= con %> ponttal. Limitált kiadás 2025-2026 téli felszerelés.",
|
||||
"armorMystery202512Notes": "Készen állsz a harcra ebben az édes és erős páncélban. Nem jár semmilyen előnnyel. 2025. december előfizetői tárgy.",
|
||||
"headSpecialWinter2026RogueNotes": "Tartsd fenn a fókuszodat és a látásodat, miközben nagyobb célokra összpontosítasz ebben a szezonban. Növeli az észlelésedet <%= per %> ponttal. Limitált kiadás 2025-2026 téli felszerelés.",
|
||||
"headMystery202602Notes": " Ezek a fülek annyira kiélesítik a hallásodat, hogy hallani fogod a virágbimbók növését a faágakon, ahogy közeledik a tavasz. Nem jár semmilyen előnnyel. 2026. február előfizetői tárgy.",
|
||||
"headMystery202602Notes": "Ezek a fülek annyira kiélesítik a hallásodat, hogy hallani fogod a virágbimbók növését a faágakon, ahogy közeledik a tavasz. Nem jár semmilyen előnnyel. 2026. február előfizetői tárgy.",
|
||||
"shieldArmoirePrettyPinkGiftBoxNotes": "Ez az ajándék egy kedves barátodtól van? Egy gondoskodó rokonodtól? Az igazitól? Egy titkos imádótól? Bárki küldte is, tudja, hogy örülni fogsz a benne lévőknek. Növeli az összes tulajdonságodat egyaránt <%= attrs %> ponttal. Megbűvölt komód: Rózsaszín szépség szett (2/2. tárgy)",
|
||||
"backArmoireHarpsichordNotes": "Pting! Ptiiing! Gyűjtsd össze a csapatodat egy vacsorára vagy piknikre, és hallgasd a fémesen csengő dallamot ezen a csembalón. Növeli az észlelésedet és az intelligenciádat egyaránt <%= attrs %> ponttal. Megbűvölt komód: Hangszerkészlet 2 (1. tárgy a 3-ból)",
|
||||
"weaponSpecialWinter2026MageNotes": "A kandeláberek úgy segítenek, hogy egyszerre több gyertyát tartanak - kövesd a példáját, amikor legközelebb több feladatot kell egyszerre kezelned. Növeli az intelligenciádat <%= int %> ponttal és az észlelésedet <%= per %> ponttal. Limitált kiadás 2025-2026 téli felszerelés.",
|
||||
@@ -3495,5 +3495,59 @@
|
||||
"backMystery202601Notes": "Ez a jel megadja a használójának az irányítást a hideg és a fagy szezonjának elemei felett. Nem jár semmilyen előnnyel. 2026. január előfizetői tárgy.",
|
||||
"backMystery202602Text": "Sakura öt farka",
|
||||
"backMystery202602Notes": "Ezek a bolyhos farkak cseresznyevirág színűek, emlékeztetve arra, hogy a tavasz közeleg! Nem jár semmilyen előnnyel. 2026. február előfizetői tárgy.",
|
||||
"backArmoireHarpsichordText": "Csembaló"
|
||||
"backArmoireHarpsichordText": "Csembaló",
|
||||
"armorArmoireSoftYellowSuitNotes": "A sárga egy energikus szín. Viselj ezt lefekvéskor, és a nappal együtt fogsz felébredni másnap reggel, készen egy feladatokkal teli napra. Növeli a szívósságodat és az erődet egyaránt <%= attrs %> ponttal. Megbűvölt komód: Sárga pihenőruha szett (2/3 tárgy).",
|
||||
"weaponSpecialSpring2026WarriorText": "Hatalmas békatőr",
|
||||
"weaponSpecialSpring2026WarriorNotes": "Egy párbajlehetőség bármikor adódhat, és ezzel a félelmetes tőrrel készen fogsz állni! Növeli az erődet <%= str %> ponttal. Limitált kiadás 2026. tavaszi felszerelés.",
|
||||
"weaponSpecialSpring2026RogueText": "Tavaszi ág",
|
||||
"weaponSpecialSpring2026RogueNotes": "Egy fejlődési lehetőség már közeleg, és ezekkel a rügyező ágakkal készen fogsz állni! Növeli az erődet <%= str %> ponttal. Limitált kiadás 2026. tavaszi felszerelés.",
|
||||
"weaponSpecialSpring2026HealerText": "Hóvirág bot",
|
||||
"weaponSpecialSpring2026HealerNotes": "Egy lehetőség, hogy friss kezdettel újra kezdhesd, már épp előtted van, és ezzel a pompás bottal készen fogsz állni! Növeli az intelligenciádat <%= int %> ponttal. Limitált kiadás 2026. tavaszi felszerelés.",
|
||||
"weaponSpecialSpring2026MageText": "Májusfa napernyő",
|
||||
"weaponSpecialSpring2026MageNotes": "Egy ünneplési lehetőség közeledik, és ezzel a csinos napernyő rúddal készen fogsz állni! Növeli az intelligenciádat <%= int %> ponttal és az észlelésedet <%= per %> ponttal. Limitált kiadás 2026. tavaszi felszerelés.",
|
||||
"weaponMystery202603Text": "Lilaakác varázsló bot",
|
||||
"weaponMystery202603Notes": "Varázslj, hogy felmelegítsd a tavaszi levegőt és bátorítsd a virágokat a rügyezésre! Nem jár semmilyen előnnyel. 2026. március előfizetői tárgy.",
|
||||
"armorSpecialSpring2026WarriorText": "Béka páncél",
|
||||
"armorSpecialSpring2026WarriorNotes": "Ugorj akcióba, amint a hó elkezdett olvadni. Növeli a szívósságodat <%= con %> ponttal. Limitált kiadás 2026. tavaszi felszerelés.",
|
||||
"armorSpecialSpring2026RogueText": "Nyírfakéreg páncél",
|
||||
"armorSpecialSpring2026RogueNotes": "Állj ellen az elkerülhetetlen tavaszi esőknek és a lágy szellőknek is. Növeli az észlelésedet <%= per %> ponttal. Limitált kiadás 2026. tavaszi felszerelés.",
|
||||
"armorSpecialSpring2026HealerText": "Hóvirág ruha",
|
||||
"armorSpecialSpring2026HealerNotes": "Siklj kecsesen át a hideg, sötét télből a dicsőséges tavaszba. Növeli a szívósságodat <%= con %> ponttal. Limitált kiadás 2026. tavaszi felszerelés.",
|
||||
"armorSpecialSpring2026MageText": "Májusfa táncos ruha",
|
||||
"armorSpecialSpring2026MageNotes": "Érkezz készen táncolni, piknikezni és élvezni a meleg időt, amit a tavasz hoz. Növeli az intelligenciádat <%= int %> ponttal. Limitált kiadás 2026. tavaszi felszerelés.",
|
||||
"armorMystery202604Text": "Merész űrhajós szkafander",
|
||||
"armorMystery202604Notes": "Egy kis lépés a feladatlistádnak, egy óriási ugrás a teljesítmény érzésednek! Nem jár semmilyen előnnyel. 2026. április előfizetői tárgy.",
|
||||
"armorArmoireSoftYellowSuitText": "Puha sárga öltöny",
|
||||
"armorArmoireHandstandOutfitText": "Kézállás",
|
||||
"armorArmoireHandstandOutfitNotes": "A dolgok bizony másként néznek ki, amikor fejjel lefelé vagy, nem igaz? Ha úgy érzed, hogy elakadtál, itt az ideje egy friss nézőpontnak! Növeli az észlelésedet <%= per %> ponttal. Megbűvölt komód: Kézállás szett (1/1 tárgy).",
|
||||
"headSpecialSpring2026WarriorText": "Béka harcos sisak",
|
||||
"headSpecialSpring2026WarriorNotes": "A békák jól ismertek a korrupcióval szembeni ellenállásukról. Ez a sisak megadja neked a nemes tulajdonságaikat! Növeli az erődet <%= str %> ponttal. Limitált kiadás 2026. tavaszi felszerelés.",
|
||||
"headSpecialSpring2026RogueText": "Tavaszi ág sisak",
|
||||
"headSpecialSpring2026RogueNotes": "Tegyél feltűnő kijelentést gallyakkal és rügyekkel, amelyek vadul növnek minden irányba. Növeli az észlelésedet <%= per %> ponttal. Limitált kiadás 2026. tavaszi felszerelés.",
|
||||
"headSpecialSpring2026HealerText": "Hóvirág sisak",
|
||||
"headSpecialSpring2026HealerNotes": "Tegyél reményteljes kijelentést ezekkel a gyönyörű, ellenálló szirmokkal. Növeli az intelligenciádat <%= int %> ponttal. Limitált kiadás 2026 tavaszi felszerelés.",
|
||||
"headSpecialSpring2026MageText": "Májusvirág korona",
|
||||
"headSpecialSpring2026MageNotes": "Tegyél vidám kijelentést a fejedet körbeölelő élénk virágokkal. Növeli az észlelésedet <%= per %> ponttal. Limitált kiadás 2026 tavaszi felszerelés.",
|
||||
"headMystery202603Text": "Glicíniavarázs kalap",
|
||||
"headMystery202603Notes": "Ez a vidám kalap nemcsak fokozza a mágikus képességedet, hanem kellemes tavaszi illattal is rendelkezik! Nem jár semmilyen előnnyel. 2026. március előfizetői tárgy.",
|
||||
"headMystery202604Text": "Merész űrhajós sisak",
|
||||
"headMystery202604Notes": "Az űrben senki sem hallja, ahogy kipipálod a feladataidat. De az igazi jutalom a személyes elégedettség érzése! Nem jár semmilyen előnnyel. 2026. április előfizetői tárgy.",
|
||||
"headArmoireFloppyYellowHatText": "Sárga lógó kalap",
|
||||
"headArmoireFloppyYellowHatNotes": "Sok varázslat van bevarrva ebbe az egyszerű kalapba, ami ifjúságos sárga színt kölcsönöz neki. Növeli az összes tulajdonságodat egyaránt <%= attrs %> ponttal. Megbűvölt komód: Sárga pihenőruha szett (1. tárgy a 3-ból).",
|
||||
"headArmoireVerdantArmingCapText": "Zöldellő apródok páncélsipkája",
|
||||
"headArmoireVerdantArmingCapNotes": "Ez a kényelmes, párnázott fejvédő harcra készen tart, és segít elviselni bármilyen nehezet, ami az utadba kerülhet. Növeli az észlelésedet és a szívósságodat egyaránt <%= attrs %> ponttal. Megbűvölt komód: Zöldellő apród szett (1. tárgy a 2-ből).",
|
||||
"shieldSpecialSpring2026WarriorText": "Békaharcos gyertyatartó",
|
||||
"shieldSpecialSpring2026WarriorNotes": "Ez a gyertyatartó nemcsak megvilágítja az utadat, hanem felolvaszthatod vele a megmaradt havat és jeget is. Növeli a szívósságodat <%= con %> ponttal. Limitált kiadás 2026 tavaszi felszerelés.",
|
||||
"shieldSpecialSpring2026RogueText": "Tavaszi ág",
|
||||
"shieldSpecialSpring2026RogueNotes": "Nyúlj ki és nyúlj magasra ezekkel az ágakkal. Szükség esetén hátvakaróként is használhatod őket. Növeli az erődet <%= str %> ponttal. Limitált kiadás 2026 tavaszi felszerelés.",
|
||||
"shieldSpecialSpring2026HealerText": "Hóvirág levél",
|
||||
"shieldSpecialSpring2026HealerNotes": "Teremts enyhe szellőt ezzel a legyezővel, ahogy a napok melegebbek lesznek. Szükség esetén írószárként is használhatod. Növeli a szívósságodat <%= con %> ponttal. Limitált kiadás 2026 tavaszi felszerelés.",
|
||||
"shieldMystery202605Text": "Alkonyat pajzs",
|
||||
"shieldMystery202605Notes": "Hagyd, hogy a hold ragyogó fénye megvédjen a sötétségben leselkedő veszélyektől. Nem jár semmilyen előnnyel. 2026. május előfizetői tárgy.",
|
||||
"shieldArmoireSoftYellowPillowText": "Puha sárga párna",
|
||||
"shieldArmoireSoftYellowPillowNotes": "A tapasztalt harcos párnát pakol minden expedícióhoz. Fejlődj és ragyogj, miközben megszilárdítod mindazt, amit a korábbi kalandok során megtanultál... még alvás közben is. Növeli az intelligenciádat és az észlelésedet egyaránt <%= attrs %> ponttal. Megbűvölt komód: Sárga pihenőruha szett (3. tárgy a 3-ból).",
|
||||
"shieldArmoireVerdantBannerText": "Zöldellő apród zászló",
|
||||
"shieldArmoireVerdantBannerNotes": "Lobogtatd magasan a zászlódat, hogy jelezd a barátaidnak: itt az ideje összegyűlni! Növeli az intelligenciádat <%= int %> ponttal. Megbűvölt komód: Zöldellő apród szett (2. tárgy a 2-ből).",
|
||||
"backMystery202605Text": "Alkonyat nimbus",
|
||||
"backMystery202605Notes": "Egy ragyogó fénykör holdfényből és csillagfényből, hogy megvilágítsd a legsötétebb éjszakát. Nem jár semmilyen előnnyel. 2026. május előfizetői tárgy."
|
||||
}
|
||||
|
||||
@@ -428,5 +428,17 @@
|
||||
"groupParentChildren": "Használat a háztartásommal",
|
||||
"groupFriends": "Használat barátokkal",
|
||||
"groupManager": "Használat munkában",
|
||||
"groupTeacher": "Használat oktatásban"
|
||||
"groupTeacher": "Használat oktatásban",
|
||||
"previouslyUpgradedGroup": "Korábban fejlesztett csoport",
|
||||
"additionalMembersProrated": "A hónap során meghívott további tagok arányosan kerülnek hozzáadásra a következő számlázási ciklus összegéhez.",
|
||||
"upgradeCancelsPendingInvites": "A csapatod fejlesztése törli az összes függőben lévő meghívót",
|
||||
"chooseAnOption": "Válassz egy lehetőséget",
|
||||
"upgradeExistingGroup": "Meglévő csoport fejlesztése",
|
||||
"createNewGroup": "Új csoport létrehozása",
|
||||
"yourParty": "A csapatod",
|
||||
"inviteOthersForAdditional": "Hívj meg másokat a csoportodba további",
|
||||
"perMember": "tagonként",
|
||||
"oneMember": "1 tag",
|
||||
"membersCount": "<%= count %> tag",
|
||||
"pendingCount": "(<%= count %> függőben)"
|
||||
}
|
||||
|
||||
@@ -170,8 +170,8 @@
|
||||
"summer2024SeaSnailHealerSet": "Tengeri csiga szett (Gyógyító)",
|
||||
"summer2024NudibranchRogueSet": "Csupaszkopoltyús szett (Tolvaj)",
|
||||
"anniversaryGryphatriceText": "A ritka Ünnepi griffatrice is csatlakozik a születésnapi ünnepléshez! Ne hagyd ki a lehetőséget, hogy megszerezd ezt az exkluzív animált kisállatot.",
|
||||
"winter2025AuroraMageSet": "Auróra mágus szett",
|
||||
"winter2025SnowRogueSet": "Hó tolvaj szett",
|
||||
"winter2025AuroraMageSet": "Sarki fény szett (Mágus)",
|
||||
"winter2025SnowRogueSet": "Hó szett (Tolvaj)",
|
||||
"celebrateBirthday": "Ünnepeld Habitica 10. születésnapját ajándékokkal és exkluzív tárgyakkal!",
|
||||
"jubilantGryphatricePromo": "Animált Ünnepi griffatrice kisállat",
|
||||
"winter2024PeppermintBarkWarriorSet": "Borsmentás kéreg szett (Harcos)",
|
||||
@@ -185,10 +185,10 @@
|
||||
"winter2023FairyLightsMageSet": "Tündérfények (Mágus)",
|
||||
"winter2023CardinalHealerSet": "Kardinális (Gyógyító)",
|
||||
"winter2024SnowyOwlRogueSet": "Havas bagoly (Tolvaj)",
|
||||
"winter2025StringLightsHealerSet": "Fényfüzéres gyógyító szett",
|
||||
"winter2025StringLightsHealerSet": "Fényfüzér szett (Gyógyító)",
|
||||
"winter2024FrozenHealerSet": "Fagyott (Gyógyító)",
|
||||
"gemSaleLimitationsText": "Ez az akció kizárólag az esemény ideje alatt érvényes. Az esemény <%= eventStartMonth %> <%= eventStartOrdinal %>-án <%= eventStartTime %> <%= timeZone %>-kor kezdődik, és <%= eventEndMonth %> <%= eventEndOrdinal %>-án <%= eventEndTime %> <%= timeZone %>-kor ér véget. A promóciós ajánlat csak akkor érhető el, ha saját magadnak vásárolsz gyémántokat.",
|
||||
"winter2025MooseWarriorSet": "Jávorszarvas harcos szett",
|
||||
"winter2025MooseWarriorSet": "Jávorszarvas szett (Harcos)",
|
||||
"celebrateAnniversary": "Ünnepeld Habitica 10. születésnapját ajándékokkal és exkluzív tárgyakkal!",
|
||||
"wantToPayWithGemsText": "Szeretnél gyémánttal fizetni?",
|
||||
"spring2023CaterpillarRogueSet": "Hernyó (Tolvaj)",
|
||||
@@ -271,20 +271,24 @@
|
||||
"fourForFreeText": "Hogy tovább folytassuk az ünneplést, ajándékba adunk Parti köpenyt, 20 gyémántot, valamint egy limitált kiadású születésnapi hátteret és tárgyszettet, amely tartalmaz egy köpenyt, vállvérteket és egy szemmaszkot.",
|
||||
"twentyGems": "20 gyémánt",
|
||||
"jubilantSuccess": "Sikeresen megvásároltad a <strong>Ünnepi griffatrice!</strong>",
|
||||
"spring2025SunshineWarriorSet": "Napsugár harcos szett",
|
||||
"spring2025CrystalPointRogueSet": "Kristálycsúcs tolvaj szett",
|
||||
"spring2025PlumeriaHealerSet": "Plumeria gyógyító szett",
|
||||
"spring2025MantisMageSet": "Sáska mágus szett",
|
||||
"summer2025ScallopWarriorSet": "Kagyló harcos szett",
|
||||
"summer2025SquidRogueSet": "Tintahal tolvaj szett",
|
||||
"summer2025SeaAngelHealerSet": "Tengeri angyal gyógyító szett",
|
||||
"summer2025FairyWrasseMageSet": "Tündérajkú mágus szett",
|
||||
"fall2025SasquatchWarriorSet": "Nagyláb harcos szett",
|
||||
"fall2025SkeletonRogueSet": "Csontváz tolvaj szett",
|
||||
"fall2025KoboldHealerSet": "Kobold gyógyító szett",
|
||||
"fall2025MaskedGhostMageSet": "Álarcos szellem mágus szett",
|
||||
"winter2026RimeReaperWarriorSet": "Dérarcú harcos szett",
|
||||
"winter2026SkiRogueSet": "Síelő tolvaj szett",
|
||||
"winter2026PolarBearHealerSet": "Jegesmedve gyógyító szett",
|
||||
"winter2026MidwinterCandleMageSet": "Téli napforduló gyertyamágus szett"
|
||||
"spring2025SunshineWarriorSet": "Napsugár szett (Harcos)",
|
||||
"spring2025CrystalPointRogueSet": "Kristálycsúcs szett (Tolvaj)",
|
||||
"spring2025PlumeriaHealerSet": "Plumeria szett (Gyógyító)",
|
||||
"spring2025MantisMageSet": "Imádkozósáska szett (Mágus)",
|
||||
"summer2025ScallopWarriorSet": "Fésűkagyló szett (Harcos)",
|
||||
"summer2025SquidRogueSet": "Tintahal szett (Tolvaj)",
|
||||
"summer2025SeaAngelHealerSet": "Tengeri angyal szett (Gyógyító)",
|
||||
"summer2025FairyWrasseMageSet": "Tündérhal szett (Mágus)",
|
||||
"fall2025SasquatchWarriorSet": "Nagyláb szett (Harcos)",
|
||||
"fall2025SkeletonRogueSet": "Csontváz szett (Tolvaj)",
|
||||
"fall2025KoboldHealerSet": "Kobold szett (Gyógyító)",
|
||||
"fall2025MaskedGhostMageSet": "Álarcos szellem szett (Mágus)",
|
||||
"winter2026RimeReaperWarriorSet": "Dérarcú szett (Harcos)",
|
||||
"winter2026SkiRogueSet": "Síelő szett (Tolvaj)",
|
||||
"winter2026PolarBearHealerSet": "Jegesmedve szett (Gyógyító)",
|
||||
"winter2026MidwinterCandleMageSet": "Téli napforduló gyertya szett (Mágus)",
|
||||
"spring2026FrogWarriorSet": "Béka szett (Harcos)",
|
||||
"spring2026BranchRogueSet": "Tavaszi ág szett (Tolvaj)",
|
||||
"spring2026SnowdropHealerSet": "Hóvirág szett (Gyógyító)",
|
||||
"spring2026MaypoleMageSet": "Májusfa szett (Mágus)"
|
||||
}
|
||||
|
||||
@@ -189,7 +189,7 @@
|
||||
"questTRexUndeadBoss": "Csontváz tirannoszaurusz",
|
||||
"questTRexUndeadRageTitle": "Csontváz gyógyulás",
|
||||
"questTRexUndeadRageDescription": "Ez a sáv megtelik, ha nem teljesíted a napi teendőidet. Ha teljesen feltöltődik, a Csontváz tirannoszaurusz a megmaradt életerejének 30%-át visszanyeri!",
|
||||
"questTRexUndeadRageEffect": "`Csontváz tirannoszaurusz használja a CSONTVÁZ GYÓGYULÁST!`\n\nA szörnyeteg földöntúli ordítást hallat és néhány sérült csontja újra összeforr!",
|
||||
"questTRexUndeadRageEffect": "Csontváz tirannoszaurusz használja a CSONTVÁZ GYÓGYULÁST!\n\nA szörnyeteg földöntúli ordítást hallat és néhány sérült csontja újra összeforr!",
|
||||
"questTRexDropTRexEgg": "Tirannoszaurusz (Tojás)",
|
||||
"questTRexUnlockText": "Elérhetővé teszi a tirannoszaurusz tojások vásárlását a piacon",
|
||||
"questRockText": "Menekülés a barlangi lény elől",
|
||||
@@ -241,7 +241,7 @@
|
||||
"questDilatoryDistress2Boss": "Vízikoponya raj",
|
||||
"questDilatoryDistress2RageTitle": "A raj újjászületése",
|
||||
"questDilatoryDistress2RageDescription": "A raj újjászületése: Ez a sáv akkor telik meg, ha nem teljesíted a napi teendőidet. Ha betelik, a vízikoponya raj visszanyeri megmaradt életerejének 30%-át!",
|
||||
"questDilatoryDistress2RageEffect": "`A vízikoponya raj alkalmazza A RAJ ÚJJÁSZÜLETÉSÉT!`\n\nA győzelmeiktől felbátorodva még több koponya tör elő a hasadékból, megerősítve a rajt!",
|
||||
"questDilatoryDistress2RageEffect": "A vízikoponya raj alkalmazza A RAJ ÚJJÁSZÜLETÉSÉT!\n\nA győzelmeiktől felbátorodva még több koponya tör elő a hasadékból, megerősítve a rajt!",
|
||||
"questDilatoryDistress2DropSkeletonPotion": "Csontváz keltetőfőzet",
|
||||
"questDilatoryDistress2DropCottonCandyBluePotion": "Kék vattacukor keltetőfőzet",
|
||||
"questDilatoryDistress2DropHeadgear": "Tűzkorall diadém (Fejfedő)",
|
||||
@@ -343,7 +343,7 @@
|
||||
"questAxolotlUnlockText": "Elérhetővé teszi az axolotl tojások vásárlását a piacon",
|
||||
"questAxolotlRageTitle": "Axolotl regeneráció",
|
||||
"questAxolotlRageDescription": "Ha nem végzed el a napi teendőidet, ez a sáv megtelik. Ha teljesen feltöltődik, a varázslatos axolotl visszanyeri megmaradt életereje 30%-át!",
|
||||
"questAxolotlRageEffect": "`A varázslatos axolotl beveti az AXOLOTL REGENERÁCIÓT!`\n\n`Egy színes buborékfüggöny egy pillanatra eltakarja a szörnyet, és mire eloszlik, néhány sebe eltűnik!`",
|
||||
"questAxolotlRageEffect": "A varázslatos axolotl beveti az AXOLOTL REGENERÁCIÓT!\n\nEgy színes buborékfüggöny egy pillanatra eltakarja a szörnyet, és mire eloszlik, néhány sebe eltűnik!",
|
||||
"questTurtleText": "Vezesd a teknőst",
|
||||
"questTurtleNotes": "Segítség! Ez a hatalmas tengeri teknős nem talál vissza a fészkelőhelyére. Minden évben ide tér vissza, hogy lerakja a tojásait, de idén az Elintézetlenség-öböl tele van mérgező feladat-szeméttel, vörös napi teendőkkel és kipipálatlan tennivalókkal. „Pánikban csapkod!” – mondja @JessicaChase.<br><br>@UncommonCriminal bólint. „Azért, mert az érzékei elhomályosultak és összezavarodtak.”<br><br>@Scarabsi megragadja a karod. „Segítenél kitakarítani a feladat-szemetet az útjából? Lehet, hogy veszélyes, de segítenünk kell neki!”",
|
||||
"questTurtleCompletion": "Hősies munkáddal sikerült megtisztítani a vizet, és a tengeri teknősünk végre megtalálta a partját. Te, @Bambin és @JaizakAripaik figyelitek, ahogy mélyre ássa a tojásait a homokban, hogy azok kikelhessenek, és több száz kis teknőssé váljanak. Igazi hölgyként mindannyiótoknak három tojást ad, és arra kér, hogy gondoskodjatok róluk, hogy egyszer majd nagy teknősökké nőhessenek.",
|
||||
@@ -375,7 +375,7 @@
|
||||
"questTaskwoodsTerror1Boss": "Tűzkoponya raj",
|
||||
"questTaskwoodsTerror1RageTitle": "Raj újjászületés",
|
||||
"questTaskwoodsTerror1RageDescription": "Raj újjászületés: Ez a sáv akkor töltődik fel, ha nem teljesíted a napi teendőidet. Ha megtelik, a Tűzkoponya raj visszanyeri megmaradt életerejének 30%-át!",
|
||||
"questTaskwoodsTerror1RageEffect": "`A Tűzkoponya raj használja a RAJ ÚJJÁSZÜLETÉST!`\n\nMegbátorodva győzelmeiktől, még több koponya kavarog körülötted lángoló örvényben!",
|
||||
"questTaskwoodsTerror1RageEffect": "A Tűzkoponya raj használja a RAJ ÚJJÁSZÜLETÉST!\n\nMegbátorodva győzelmeiktől, még több koponya kavarog körülötted lángoló örvényben!",
|
||||
"questTaskwoodsTerror1DropSkeletonPotion": "Csontváz keltetőfőzet",
|
||||
"questTaskwoodsTerror1DropRedPotion": "Vörös keltetőfőzet",
|
||||
"questTaskwoodsTerror1DropHeadgear": "Pirokinetikus turbán (fejfedő)",
|
||||
@@ -437,7 +437,7 @@
|
||||
"questStoikalmCalamity1Boss": "Föld koponyaraj",
|
||||
"questStoikalmCalamity1RageTitle": "Raj újraszületés",
|
||||
"questStoikalmCalamity1RageDescription": "Raj újraszületés: Ez a sáv akkor töltődik, ha nem végzed el a napi teendőidet. Ha megtelik, a Föld koponyaraj 30%-ét visszanyeri a megmaradt életerejének!",
|
||||
"questStoikalmCalamity1RageEffect": "`Föld Koponyaraj használja a RAJ ÚJRASZÜLETÉST!`\n\nMég több koponya tör elő a földből, foguk vacog a hidegben!",
|
||||
"questStoikalmCalamity1RageEffect": "Föld Koponyaraj használja a RAJ ÚJRASZÜLETÉST!\n\nMég több koponya tör elő a földből, foguk vacog a hidegben!",
|
||||
"questStoikalmCalamity1DropSkeletonPotion": "Csontváz keltetőfőzet",
|
||||
"questStoikalmCalamity1DropDesertPotion": "Sivatagi keltetőfőzet",
|
||||
"questStoikalmCalamity1DropArmor": "Mamutlovas páncél",
|
||||
@@ -478,7 +478,7 @@
|
||||
"questMayhemMistiflying1Boss": "Repülő koponyaraj",
|
||||
"questMayhemMistiflying1RageTitle": "Raj újraszületés",
|
||||
"questMayhemMistiflying1RageDescription": "Raj újraszületés: Ez a sáv akkor töltődik, ha nem végzed el a napi teendőidet. Ha megtelik, a Repülő koponyaraj visszanyeri megmaradt életereje 30%-át!",
|
||||
"questMayhemMistiflying1RageEffect": "`A Repülő koponyaraj beveti a RAJ ÚJRASZÜLETÉST!`\n\nA győzelmektől felbátorodva még több koponya pörög elő a felhők közül!",
|
||||
"questMayhemMistiflying1RageEffect": "A Repülő koponyaraj beveti a RAJ ÚJRASZÜLETÉST!\n\nA győzelmektől felbátorodva még több koponya pörög elő a felhők közül!",
|
||||
"questMayhemMistiflying1DropSkeletonPotion": "Csontváz keltetőfőzet",
|
||||
"questMayhemMistiflying1DropWhitePotion": "Fehér keltetőfőzet",
|
||||
"questMayhemMistiflying1DropArmor": "Szivárványszínű küldöncköpeny (Páncél)",
|
||||
@@ -535,7 +535,7 @@
|
||||
"questLostMasterclasser3Boss": "Vákuumkoponya raj",
|
||||
"questLostMasterclasser3RageTitle": "A raj újjászületése",
|
||||
"questLostMasterclasser3RageDescription": "A raj újjászületése: Ez a sáv akkor töltődik, ha nem teljesíted a napi teendőidet. Ha megtelik, a vákuumkoponya raj visszanyeri megmaradt életerejének 30%-át!",
|
||||
"questLostMasterclasser3RageEffect": "`A Vákuumkoponya raj alkalmazza A RAJ ÚJJÁSZÜLETÉSÉT!`\n\nA győzelmeiktől felbátorodva még több koponya zúdul alá az égből, megerősítve a rajt!",
|
||||
"questLostMasterclasser3RageEffect": "A Vákuumkoponya raj alkalmazza A RAJ ÚJJÁSZÜLETÉSÉT!\n\nA győzelmeiktől felbátorodva még több koponya zúdul alá az égből, megerősítve a rajt!",
|
||||
"questLostMasterclasser3DropBodyAccessory": "Éter amulett (Testkiegészítő)",
|
||||
"questLostMasterclasser3DropBasePotion": "Alap keltetőfőzet",
|
||||
"questLostMasterclasser3DropGoldenPotion": "Arany keltetőfőzet",
|
||||
@@ -548,7 +548,7 @@
|
||||
"questLostMasterclasser4Boss": "Anti'Zinnya",
|
||||
"questLostMasterclasser4RageTitle": "Üresség kifacsarása",
|
||||
"questLostMasterclasser4RageDescription": "Üresség kifacsarása: Ez a sáv akkor telik meg, ha nem teljesíted a napi teendőidet. Ha betelik, Anti'Zinnya kiszívja a csapatod manáját!",
|
||||
"questLostMasterclasser4RageEffect": "`Anti'Zinnya alkalmazza az ÜRESSÉG KIFACSARÁSÁT!` Az Éteri kitörés varázslat egy kifacsart változataként érzed, ahogy a mágiád elszivárog a sötétségbe!",
|
||||
"questLostMasterclasser4RageEffect": "Anti'Zinnya alkalmazza az ÜRESSÉG KIFACSARÁSÁT! Az Éteri kitörés varázslat egy kifacsart változataként érzed, ahogy a mágiád elszivárog a sötétségbe!",
|
||||
"questLostMasterclasser4DropBackAccessory": "Éterköpeny (Hátkiegészítő)",
|
||||
"questLostMasterclasser4DropWeapon": "Éterkristályok (Kétkezes fegyver)",
|
||||
"questLostMasterclasser4DropMount": "Láthatatlan éter hátas",
|
||||
@@ -704,7 +704,7 @@
|
||||
"questSilverNotes": "A nemrég felfedezett bronz keltetőfőzet a habiticaiak között beszédtéma lett. Lehetséges, hogy még fényesebb fémekből is léteznek főzetek? @QuartzFox és @starsystemic társaságában a Habit város központi könyvtárába mész, és hatalmas halom alkímiáról szóló könyvet gyűjtötök össze tanulmányozásra.<br><br>Órákig tartó szemfárasztó kutatás után @QuartzFox egy nem éppen könyvtárba illő diadalittas kiáltást hallat. „Aha! Megtaláltam!” Odasietsz, hogy megnézd. „Ezüst keltetőfőzetet lehet készíteni a rák csillagjegy rúnáival, amelyeket tiszta ezüstben kell feloldani, miután holdrúnák erejével átitatott láng fölött megolvasztottuk.”<br><br>„Sok hozzávalóra lesz szükségünk” – töpreng @starsystemic. „Hátha elrontunk egy-két próbát.”<br><br>„Csak egy hely van, ahol ekkora mennyiségben találhatunk ilyen különös alkímiai anyagokat” – szólal meg @Edge, aki karba tett kézzel áll a könyvespolcok árnyékában. Vajon végig ott volt? „A robotolás kazamatái. Induljunk!”",
|
||||
"questAmberBoss": "Trerezin",
|
||||
"questRubyNotes": "A Stoïkalm-vulkánok általában nyüzsgő csúcsai most csendesen pihennek a hó alatt. „Gondolom, a túrázók és a látogatók téli álmot alszanak” – mondja @gully neked és @Aspiring_Advocate-nek. „Ez megkönnyíti a keresésünket.”<br><br>Ahogy eléritek a hegytetőt, a jeges szél összeolvad a kráterből gomolygó gőzzel. „Ott!” – kiált fel @Aspiring_Advocate, egy forró forrás felé mutatva. „Hol máshol találhatnánk meg a hűvös vízöntő rúnákat és a szenvedélyes vénusz rúnákat, mint ott, ahol a jég és a tűz találkozik?”<br><br>Hárman sietve indultok a forró forráshoz. „A kutatásaim szerint” – mondja @Aspiring_Advocate –, „ha ezeket a rúnákat szív alakú rubinokkal kombináljuk, egy olyan keltetőfőzetet hozhatunk létre, amely elősegíti a barátságot és a szeretetet!”<br><br>Izgatottan a felfedezés lehetőségétől mindannyian elmosolyodtok. „Rendben” – mondja @gully –, „kezdjük el a keresést!”",
|
||||
"questWaffleRageEffect": "`Borzalmas Gofri használja a JUHARSZIRUP CSAPDÁT!` A ragacsos szirup lelassítja a csapásaidat és varázslataidat! A felhalmozott sebzés csökken.",
|
||||
"questWaffleRageEffect": "Borzalmas Gofri használja a JUHARSZIRUP CSAPDÁT! A ragacsos szirup lelassítja a csapásaidat és varázslataidat! A felhalmozott sebzés csökken.",
|
||||
"questRubyUnlockText": "Elérhetővé teszi a rubin keltetőfőzetek vásárlását a piacon",
|
||||
"questDolphinUnlockText": "Elérhetővé teszi a delfin tojások vásárlását a piacon",
|
||||
"questFluoriteCompletion": "Ahogy harcoltok, a kristálylény egyre jobban elmerül a fények játékában, amelyet teremtetek. „Olyan… csillogó…” – mormolja elbűvölten.<br><br>„Persze!” – kiált fel @nirbhao. „Ez egy fluorit elementál! Csak fényre van szüksége, hogy igazán ragyogjon. Segítsünk neki tündökölni!”<br><br>Az elementál boldogan kuncog és egyre fényesebben izzik, miközben még több fáklyát és mágikus fényforrást gyújtotok. Olyan hálás, hogy újra ragyoghat, hogy cserébe elvezet titeket egy gazdag fluorit-lelőhelyhez.<br><br>„Ez tökéletes alapanyag egy új keltetőfőzethez” – mondja @nirbhao. „Egy olyan főzethez, amely kisállatainkat éppoly fénylővé teszi, mint az új fluoreszkáló barátunk.”",
|
||||
@@ -810,14 +810,14 @@
|
||||
"questVirtualPetBoss": "Wotchimon",
|
||||
"questVirtualPetRageTitle": "A csipogás veszélye",
|
||||
"questVirtualPetRageDescription": "Ez a sáv akkor töltődik, ha nem teljesíted a napi teendőidet. Ha betelik, Wotchimon csökkenti a csapat által felhalmozott sebzést!",
|
||||
"questVirtualPetRageEffect": "`Wotchimon használja a zavaró csipogást!` Wotchimon éles csipogással jelez, és boldogságsávja hirtelen eltűnik! A felhalmozott sebzés csökken.",
|
||||
"questVirtualPetRageEffect": "Wotchimon használja a zavaró csipogást! Wotchimon éles csipogással jelez, és boldogságsávja hirtelen eltűnik! A felhalmozott sebzés csökken.",
|
||||
"questVirtualPetDropVirtualPetPotion": "Virtuális kisállat keltetőfőzet",
|
||||
"questVirtualPetUnlockText": "Elérhetővé teszi a virtuális kisállat keltetőfőzetek vásárlását a piacon",
|
||||
"questPinkMarbleText": "Nyugtasd meg a megtébolyult Ámort",
|
||||
"questPinkMarbleNotes": "Az a hír járja, hogy a Kanyargó-hegységben van egy barlang, amelyből rózsaszín por és kődarabok lövellnek ki. A csapatoddal elindultok, hogy kiderítsétek az igazságot. Ahogy közeledtek, valóban hatalmas rózsaszín porfelhőt láttok – és furcsa módon egy apró hang harci kiáltása csendül fel, amit kőzúzás hangja követ.<br><br>@Empress42 véletlenül belélegzi a port, és hirtelen álmodozóvá és kevésbé produktívvá válik. „Nálam is ugyanez!” – mondja @QuartzFox. „Egyszer csak azon kaptam magam, hogy egy alig ismert személyről fantáziálok!”<br><br>@a_diamond bekukkant a barlangba, és egy apró lényt lát cikázni, amint rózsaszín márványköveket zúz porrá. „Fedezékbe! Ez az Ámor megtébolyult és a varázserejét arra használja, hogy megszállott rajongást és hamis illúziókat keltsen! Le kell állítanunk!”",
|
||||
"questPinkMarbleBoss": "Ámor",
|
||||
"questPinkMarbleRageDescription": "Ez a sáv akkor töltődik, ha nem teljesíted a napi teendőidet. Ha betelik, Ámor csökkenti a csapat által felhalmozott sebzést!",
|
||||
"questPinkMarbleRageEffect": "`Ámor használja a RÓZSASZÍN ÖKLÖST!` Hát, ez nem volt valami gyengéd! A csapattársaid hátrahőkölnek. A felhalmozott sebzés csökken.",
|
||||
"questPinkMarbleRageEffect": "Ámor használja a RÓZSASZÍN ÖKLÖST! Hát, ez nem volt valami gyengéd! A csapattársaid hátrahőkölnek. A felhalmozott sebzés csökken.",
|
||||
"questPinkMarbleDropPinkMarblePotion": "Rózsaszín márvány keltetőfőzet",
|
||||
"questPinkMarbleRageTitle": "Rózsaszín öklös",
|
||||
"questOtterText": "A ravasz Tervmester!",
|
||||
@@ -860,5 +860,14 @@
|
||||
"questOpalCollectMercuryRunes": "Merkúr rúna",
|
||||
"questOpalCollectLibraRunes": "Mérleg rúna",
|
||||
"questOpalDropOpalPotion": "Opál keltetőfőzet",
|
||||
"questOpalUnlockText": "Elérhetővé teszi az opál keltetőfőzetek megvásárlását a piacon"
|
||||
"questOpalUnlockText": "Elérhetővé teszi az opál keltetőfőzetek megvásárlását a piacon",
|
||||
"questAlienRageDescription": "Ez a sáv akkor töltődik fel, amikor nem teljesíted a napi teendőidet. Amikor tele van, a földönkívüli elkedvetlenít azzal, hogy visszanyeri egy részét az életerejének!",
|
||||
"questAlienNotes": "Furcsa napok voltak ezek a Habiticában. A nagy repülő csészealj még mindig ott lebeg a Virágzó Mezők közelében. Furcsán zümmög. Miért időzik ott? Az április bolondja már elmúlt, és a tolvajok mesterének ideje a reflektorfényben is véget ért.<br><br>Az űrhajó fénye felé vándorolsz. Megnézheted, és közben még egy pár lépést is tehetsz.<br><br>Ahogy közelebb érsz, meglátod az Április bolondját, aki kissé komor képet vág. Az arca zöldesen csillog a hajó fénysugarában.<br><br>\"Az volt a tervem, hogy szerezek egy kis főzetet mindenkinek, egy kis ajándékot, hogy újra élvezhessenek a kis földönkívüli cimborákkal! De egyszerűen nem tudom felszedni a bátorságot... Azt hiszem, tudom, miért\" - mondja a Bolond, a fénysugár felé bólintva.<br><br>Kis szimbólumokat szívnak fel a hajóba. Ezek mind a teljesített feladataid! Nem csoda, hogy lanyhult a motivációd.<br><br>\"A motivációnkat rabolják el!\" - kiáltod fel. \"Meg kell mentenünk, mielőtt valahol a világűr mélyén köt ki!\"<br><br>A Bolond elmosolyodik. \"Összpontosítsd a gondolataidat azokra a feladatokra, amiket tudod, hogy be kell fejezned! A többit intézem egy kis mágiával.\"",
|
||||
"questAlienText": "A motivációrablók inváziója",
|
||||
"questAlienCompletion": "Sikerült visszaszerezned az ellopott motivációt az elszántságoddal és a Bolond varázserejével. Ahogy érzed, hogy visszatér a lendületed, az UFO leereszkedik, és egy rámpa lassan kijön belőle, vele együtt egy nagy, zöld, egyszemű lény. Bár furcsán néz ki, nem tűnik fenyegetőnek.<br><br>\"Úgy tűnik, egy kicsit túlzásba vittük, amikor megpróbáltunk egy kis extra bátorítást aratni a szép városotokból\" - mondja. \"Elnézést ezért, és fantasztikus munka volt visszaszerezni. A erőfeszítéseitek extra aurája tulajdonképpen annyira feltöltötte a hajó hajtóművét, hogy hazajuthatunk! Kérlek, fogadjátok el ezeket a köszönetünkkel.\"<br><br>\"Óh, főzetek\" - mondja a Bolond -, \"milyen bájos, és milyen kényelmes nekem, hogy már készen állnak!\"",
|
||||
"questAlienBoss": "Bátorításrabló, a földönkívüli",
|
||||
"questAlienRageTitle": "Galaktikus akadály",
|
||||
"questAlienRageEffect": "A Bátorításrabló használja a Galaktikus akadályt! Egyenesen a hipertéren keresztül csúsztál vissza. Az ellenfeled visszanyeri az ÉP-jét!",
|
||||
"questAlienDropAlienPotion": "Földönkívüli kikeltetőfőzet",
|
||||
"questAlienUnlockText": "Feloldja a földönkívüli kikeltetőfőzetet megvásárlásra a piacon"
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"rebirthNew": "Újjászületés: új kaland érhető el!",
|
||||
"rebirthUnlock": "Feloldottad az újjászületést! Ez a különleges bolti tárgy lehetővé teszi, hogy új játékot kezdj az 1. szinttől, megtartva a feladataidat, kitüntetéseidet, háziállataidat és még sok mást. Használd arra, hogy új életet lehelj a Habitica-ba, ha úgy érzed, hogy már mindent elértél, vagy hogy új funkciókat tapasztalj meg egy kezdő karakter friss szemeivel!",
|
||||
"rebirthAchievement": "Új kalandot kezdtél! Ez a <%= number %>. újjászületésed és a <%= level %>. szint a legmagasabb, amit elértél. Hogy halmozd ezt a kitüntetést kezdj új kalandot amikor elértél egy még magasabb szintet!",
|
||||
"rebirthAchievement100": "Új kalandot kezdtél! Ez a <%= number %>. újjászületésed, és a legmagasabb szint amit elértél 100, vagy annál több. Hogy halmozd ezt a kitüntetést kezdj új kalandot, amikor 100. vagy magasabb szinten vagy!",
|
||||
"rebirthAchievement": "<strong><%= number %>.</strong> alkalommal használtad az Újjászületés Gömbjét, és a legmagasabb elért szinted <strong><%= level %></strong>.",
|
||||
"rebirthAchievement100": "<strong><%= number %>.</strong> alkalommal használtad az Újjászületés Gömbjét, és a legmagasabb elért szinted <strong>100</strong> vagy magasabb.",
|
||||
"rebirthBegan": "Új kalandot kezdtél",
|
||||
"rebirthText": "Eddig <%= rebirths %> új kalandot kezdtél",
|
||||
"rebirthOrb": "Használtad az újjászületés gömbjét hogy új kalandot kezdj miután elérted a <%= level %>. szintet.",
|
||||
@@ -11,5 +11,12 @@
|
||||
"rebirthPop": "Azonnal újrakezdheted a karaktered 1. szintű Harcosként, miközben megtartod az elért kitüntetéseidet, gyűjteményeidet és felszerelésedet. A feladataid és azok előzményei megmaradnak, de mind sárgára lesznek visszaállítva. A szériáid törlődnek, kivéve az aktív kihívásokhoz és Csoportos csomagokhoz tartozó feladatok esetében. Az aranyad, tapasztalatod, manád és az összes képesség hatása eltűnik. Mindez azonnal életbe lép.",
|
||||
"rebirthName": "Újjászületés gömbje",
|
||||
"rebirthComplete": "Újjászülettél!",
|
||||
"nextFreeRebirth": "<strong><%= days %> nap </strong> amíg <strong> INGYENES </strong> újjászületés gömbjét szerzel"
|
||||
"nextFreeRebirth": "<strong><%= days %> nap </strong> amíg <strong> INGYENES </strong> újjászületés gömbjét szerzel",
|
||||
"rebirthAchievementPlural": "<strong><%= number %>.</strong> alkalommal használtad az Újjászületés Gömbjét, és a legmagasabb elért szinted <strong><%= level %></strong>.",
|
||||
"rebirthUnlockedNewItem": "Újjászületés Gömbje feloldva",
|
||||
"rebirthUnlockedOrb": "Új kaland vár rád!",
|
||||
"rebirthUnlockedDesc": "Használd az Újjászületés Gömbjét, hogy új életet lehelj Habitica kalandodba, amikor úgy érzed, mindent elértél! Kezdd újra az 1. szinten, miközben megtartod feladataidat, kitüntetéseidet és kisállataidat ezzel a különleges tárggyal, amit a Piactéren találsz.",
|
||||
"rebirthNewAchievement": "Új kitüntetés",
|
||||
"rebirthNewAdventure": "Új kaland kezdődik most!",
|
||||
"rebirthStackInfo": "Ez a kitüntetés minden alkalommal halmozódik, amikor használod az Újjászületés Gömbjét."
|
||||
}
|
||||
|
||||
@@ -274,5 +274,8 @@
|
||||
"subscriptionBillingFYI": "Az előfizetések automatikusan megújulnak, hacsak nem mondod le legalább 24 órával az aktuális időszak vége előtt. Az előfizetésedet a beállítások Előfizetés fülén kezelhetsz. A fiókodat 24 órán belül terhelik a megújítási dátumtól számítva, ugyanazon az áron, amit eredetileg fizettél.",
|
||||
"mysterySet202512": "Sütemény bajnok szett",
|
||||
"mysterySet202601": "Tél védőpajzsa szett",
|
||||
"mysterySet202602": "Cseresznyevirág róka szett"
|
||||
"mysterySet202602": "Cseresznyevirág róka szett",
|
||||
"mysterySet202603": "Lilaakác varázsló szett",
|
||||
"mysterySet202604": "Merész űrhajós szett",
|
||||
"mysterySet202605": "Alkonyati felhőfátyol szett"
|
||||
}
|
||||
|
||||
@@ -860,11 +860,11 @@
|
||||
"backgroundRainyRainforestNotes": "雨降る熱帯雨林で爽やかな豪雨を楽しみましょう。",
|
||||
"backgrounds042024": "セット119: 2024年4月リリース",
|
||||
"backgroundContainerGardenNotes": "鉢植え園芸で手を汚しましょう。",
|
||||
"backgroundMaypoleNotes": "五月祭の柱の周りで踊りましょう。",
|
||||
"backgroundMaypoleNotes": "メイポールの周りで踊りましょう。",
|
||||
"backgrounds052024": "セット120:2024年5月リリース",
|
||||
"backgroundDragonsBackText": "ドラゴンの背中",
|
||||
"backgroundDragonsBackNotes": "ドラゴンの背中で空を飛びましょう。",
|
||||
"backgroundMaypoleText": "五月祭の柱",
|
||||
"backgroundMaypoleText": "メイポール",
|
||||
"backgroundPottersStudioText": "陶芸家のスタジオ",
|
||||
"backgroundPottersStudioNotes": "陶芸家のスタジオで作品を作りましょう。",
|
||||
"backgrounds062024": "セット121:2024年6月リリース",
|
||||
@@ -930,5 +930,16 @@
|
||||
"backgroundWinterDesertWithSaguarosNotes": "冬の砂漠に並ぶサボテンの間で、冷たい空気を味わいましょう。",
|
||||
"backgrounds022026": "セット141:2026年2月リリース",
|
||||
"backgroundElegantPalaceText": "立派なパレス",
|
||||
"backgroundElegantPalaceNotes": "立派なパレスの、カラフルな広間を歩きましょう。"
|
||||
"backgroundElegantPalaceNotes": "立派なパレスの、カラフルな広間を歩きましょう。",
|
||||
"backgroundRidingACometNotes": "彗星を乗りながら宇宙を旅しましょう!",
|
||||
"backgrounds032026": "セット142:2026年3月リリース",
|
||||
"backgroundWaterfallWithRainbowText": "滝にかかる虹",
|
||||
"backgroundWaterfallWithRainbowNotes": "滝にかかる虹の圧倒的な美しさを眺めましょう。",
|
||||
"backgrounds042026": "セット143:2026年4月リリース",
|
||||
"backgroundRidingACometText": "彗星に着陸",
|
||||
"backgrounds052026": "セット144:2026年5月リリース",
|
||||
"backgroundElvenCitadelText": "エルフの城塞",
|
||||
"backgroundElvenCitadelNotes": "エルフの城塞まで、景色のいい道を歩きましょう。",
|
||||
"backgroundOnAStrangePlanetText": "不思議な惑星",
|
||||
"backgroundOnAStrangePlanetNotes": "Habiticaの住民の行ったことない、不思議な惑星を冒険しましょう。"
|
||||
}
|
||||
|
||||
@@ -410,5 +410,6 @@
|
||||
"questEggPlatypusMountText": "カモノハシ",
|
||||
"questEggPlatypusAdjective": "完璧主義者",
|
||||
"hatchingPotionBalloon": "風船の",
|
||||
"hatchingPotionOpal": "オパールの"
|
||||
"hatchingPotionOpal": "オパールの",
|
||||
"hatchingPotionAlien": "エイリアン"
|
||||
}
|
||||
|
||||
@@ -202,7 +202,7 @@
|
||||
"subscriptionDetail002": "有料会員は、定期支払いの翌月まで神秘の砂時計を待つ必要がなくなります。",
|
||||
"subscriptionDetail01": "新しく12か月の有料会員購入時一回、12個追加で神秘の砂時計を手に入れることができます。",
|
||||
"subscriptionDetail010": "これはすべての有料会員が毎月1個ずつもらえる神秘の砂時計に追加してもらえます。",
|
||||
"webFaqAnswer67": "「クラス」とは、あなたが選べるキャラクタータイプであり、レベルアップすると、それぞれ固有の能力やスキルが使えるようになります。このスキルはタスクをするときや、パーティーでクエストをするときに役に立ちます。\n\nクラスによって、ごほうび、市場と季節の店で買える装備も違います。\n\n自分のプレイスタイルに合うクラスが選べるように、ここで各クラスの概要を説明します:\n#### **戦士**\n* 戦士はボスに大きなダメージを与え、クリティカルヒットのチャンスが高いので、タスクを完了するときに経験値やゴールドがたくさん獲得できます。\n* メインの属性は力で、ボスに与えられるダメージを高めます。\n* 二番目の属性は体質で、ボスから受けるダメージを減らします。\n* 戦士のスキルは、パーティーメンバーの力と体質を向上させます。\n* このクラスはボスと戦うことが好きだが、タスクをやり忘れてしまった時のために保護が欲しい人におすすめです。\n#### **治療師**\n* 治療師は守りの力が強く、自分またはパーティーメンバーを治療することができます。\n* メインの属性は体質で、治療を強めて、ボスから受けるダメージを減らします。\n* 二番目の属性は知能で、マナと経験値を増やします。\n* 治療師のスキルは、タスクの色を青くすることと、パーティーメンバーの体質を向上させることです。\n* このクラスはよくタスクをやり忘れて、自分やパーティーメンバーの体力を回復する能力が必要な人におすすめです。\n#### **魔導士**\n* 魔導士は速くレベルアップし、マナをたくさん獲得して、クエストのボスにダメージを与えます。\n* メインの属性は知能で、マナと経験値を増やします。\n* 二番目の属性は知覚で、ゴールドとアイテムがたくさん獲得できます。\n* 魔導士のスキルは、タスクの連続実行回数を保留したり、パーティーメンバーのマナや知能を向上させたりすることです。\n* このクラスはレベルアップでやる気が出て、ボスにダメージを与えたい人におすすめです。\n#### **盗賊**\n* 盗賊はタスクを完了するときに一番多くアイテムとゴールドが獲得でき、クリティカルヒットのチャンスが高いので、更に多くの経験値とゴールドが獲得できます。\n* メインの属性は知覚で、獲得できるゴールドとアイテムを増やします。\n* 二番目の属性は力で、ボスに与えられるダメージを増やします。\n* 盗賊のスキルは、完了しなかった日課から受けるダメージを避けること、ゴールドをたくさん取ること、パーティーメンバーの知覚を向上させることです。\n* このクラスはごほうびがモチベーションになる人におすすめです。",
|
||||
"webFaqAnswer67": "「クラス」とは、あなたが選べるキャラクタータイプであり、レベルアップすると、それぞれ固有の能力やスキルが使えるようになります。このスキルはタスクをするときや、パーティーでクエストをするときに役に立ちます。\n\nクラスによって、ごほうび、市場と季節の店で買える装備も違います。\n\n自分のプレイスタイルに合うクラスが選べるように、ここで各クラスの概要を説明します:\n#### **戦士**\n* 戦士はボスに大きなダメージを与え、クリティカルヒットのチャンスが高いので、タスクを完了するときに経験値やゴールドがたくさん獲得できます。\n* メインの属性は力で、ボスに与えられるダメージを高めます。\n* 二番目の属性は体質で、ボスから受けるダメージを減らします。\n* 戦士のスキルは、パーティーメンバーの力と体質を向上させます。\n* このクラスはボスと戦うことが好きだが、タスクをやり忘れてしまった時のために保護が欲しい人におすすめです。\n#### **治療師**\n* 治療師は守りの力が強く、自分またはパーティーメンバーを治療することができます。\n* メインの属性は体質で、治療を強めて、ボスから受けるダメージを減らします。\n* 二番目の属性は知能で、マナと経験値を増やします。\n* 治療師のスキルは、タスクの色を青くすることと、パーティーメンバーの体質を向上させることです。\n* このクラスはよくタスクをやり忘れて、自分やパーティーメンバーの体力を回復する能力が必要な人におすすめです。\n#### **魔道士**\n* 魔道士は速くレベルアップし、マナをたくさん獲得して、クエストのボスにダメージを与えます。\n* メインの属性は知能で、マナと経験値を増やします。\n* 二番目の属性は知覚で、ゴールドとアイテムがたくさん獲得できます。\n* 魔道士のスキルは、タスクの連続実行回数を保留したり、パーティーメンバーのマナや知能を向上させたりすることです。\n* このクラスはレベルアップからやる気が出て、ボスにダメージを与えたい人におすすめです。\n#### **盗賊**\n* 盗賊はタスクを完了するときに一番多くアイテムとゴールドが獲得でき、クリティカルヒットのチャンスが高いので、更に多くの経験値とゴールドが獲得できます。\n* メインの属性は知覚で、獲得できるゴールドとアイテムを増やします。\n* 二番目の属性は力で、ボスに与えられるダメージを増やします。\n* 盗賊のスキルは、完了しなかった日課から受けるダメージを避けること、ゴールドをたくさん取ること、パーティーメンバーの知覚を向上させることです。\n* このクラスはごほうびがモチベーションになる人におすすめです。",
|
||||
"subscriptionDetail011": "現在、12ヶ月の継続有料プランに加入しているプレイヤーは、この変更が実施される日にボーナスを受け取ることができます。",
|
||||
"subscriptionDetail012": "このボーナスは、プレゼントされた有料プランには適用されません。",
|
||||
"subscriptionHeading1": "有料会員のジェムへの変更",
|
||||
|
||||
@@ -187,5 +187,7 @@
|
||||
"enterValidEmail": "有効なメールアドレスを入力してください。",
|
||||
"minPasswordLengthLogin": "パスワードは8文字以上です。",
|
||||
"whatToCallYou": "何とお呼びしたらいいですか?",
|
||||
"acceptPrivacyTOS": "あなたは18歳以上であり、Habiticaの<a href='/static/terms' target='_blank'>利用規約</a>および<a href='/static/privacy' target='_blank'>プライバシーポリシー</a>に同意することを確認します"
|
||||
"acceptPrivacyTOS": "あなたは18歳以上であり、Habiticaの<a href='/static/terms' target='_blank'>利用規約</a>および<a href='/static/privacy' target='_blank'>プライバシーポリシー</a>に同意することを確認します",
|
||||
"emailAddress": "メールアドレス",
|
||||
"emailRequiredForSupport": "ユーザーサポートのためにメールアドレスが必要です。アカウントの作成を続けるにはメールアドレスを入力してください。"
|
||||
}
|
||||
|
||||
@@ -3464,5 +3464,11 @@
|
||||
"headArmoireFloppyYellowHatNotes": "このシンプルな帽子にはたくさんの呪文が縫い込まれて、きれいな黄色がつきました。すべての能力値がそれぞれ<%= attrs %>上がります。ラッキー宝箱:黄色の部屋着セット(アイテム1/3)。",
|
||||
"shieldSpecialWinter2026HealerText": "スターバースト",
|
||||
"shieldMystery202605Notes": "月の光は、暗闇の中に隠れている危険から守ってくれます。効果なし。2026年5月の有料会員アイテム。",
|
||||
"shieldArmoireSoftYellowPillowNotes": "経験豊富な戦士はどんな冒険にもまくらを持っていきます。過去の冒険から習い、成長し、輝きましょう...うたた寝しているときでさえ。知能と知覚がそれぞれ<%= attrs %>上がります。ラッキー宝箱:黄色の部屋着セット(アイテム3/3)。"
|
||||
"shieldArmoireSoftYellowPillowNotes": "経験豊富な戦士はどんな冒険にもまくらを持っていきます。過去の冒険から習い、成長し、輝きましょう...うたた寝しているときでさえ。知能と知覚がそれぞれ<%= attrs %>上がります。ラッキー宝箱:黄色の部屋着セット(アイテム3/3)。",
|
||||
"backMystery202605Text": "夜の帳",
|
||||
"armorSpecialWinter2026WarriorText": "霜の死神のスーツ",
|
||||
"shieldSpecialWinter2026WarriorText": "霧氷の盾",
|
||||
"shieldArmoireFancyFloralFanText": "おしゃれな花の扇子",
|
||||
"shieldArmoireFlyFishingRodText": "フライフィッシングの釣竿",
|
||||
"headSpecialWinter2026WarriorText": "霜の死神のかぶと"
|
||||
}
|
||||
|
||||
@@ -426,5 +426,9 @@
|
||||
"groupFriends": "友達と一緒に使用",
|
||||
"groupManager": "仕事のために使用",
|
||||
"groupTeacher": "教育のために使用",
|
||||
"groupParentChildren": "家庭で使用"
|
||||
"groupParentChildren": "家庭で使用",
|
||||
"createNewGroup": "新しいグループを作成",
|
||||
"yourParty": "あなたのパーティー",
|
||||
"oneMember": "メンバー1人",
|
||||
"membersCount": "メンバー<%= count %>人"
|
||||
}
|
||||
|
||||
@@ -265,26 +265,30 @@
|
||||
"fall2024FieryImpWarriorSet": "ファイアインプセット(戦士)",
|
||||
"fall2024UnderworldSorcerorMageSet": "黄泉の国の魔術師セット(魔道士)",
|
||||
"gemSaleLimitationsText": "このプロモーションは期間限定イベント中のみ有効です。このイベントは<%= eventStartMonth %><%= eventStartOrdinal %> <%= eventStartTime %> <%= timeZone %>に始まり、<%= eventEndMonth %><%= eventEndOrdinal %><%= eventEndTime %> <%= timeZone %>に終了します。ジェムを自分で購入した方のみ対象です。",
|
||||
"winter2025MooseWarriorSet": "ヘラジカの戦士セット",
|
||||
"winter2025AuroraMageSet": "オーロラの魔道士セット",
|
||||
"winter2025StringLightsHealerSet": "ストリングライトの治療師セット",
|
||||
"winter2025SnowRogueSet": "雪の盗賊セット",
|
||||
"winter2025MooseWarriorSet": "ヘラジカセット(戦士)",
|
||||
"winter2025AuroraMageSet": "オーロラセット(魔道士)",
|
||||
"winter2025StringLightsHealerSet": "ストリングライトセット(治療師)",
|
||||
"winter2025SnowRogueSet": "雪セット(盗賊)",
|
||||
"fall2024SpaceInvaderHealerSet": "スペースインベーダーセット(治療師)",
|
||||
"fall2024BlackCatRogueSet": "黒ネコセット(盗賊)",
|
||||
"spring2025CrystalPointRogueSet": "水晶ポイントの盗賊セット",
|
||||
"spring2025PlumeriaHealerSet": "プルメリアの治療師セット",
|
||||
"spring2025MantisMageSet": "カマキリの魔導士セット",
|
||||
"spring2025SunshineWarriorSet": "陽光の戦士セット",
|
||||
"summer2025ScallopWarriorSet": "ホタテ貝の戦士セット",
|
||||
"summer2025SquidRogueSet": "イカの盗賊セット",
|
||||
"summer2025SeaAngelHealerSet": "クリオネの治療師セット",
|
||||
"summer2025FairyWrasseMageSet": "イトヒキベラの魔導士セット",
|
||||
"fall2025SasquatchWarriorSet": "サスクワッチの戦士セット",
|
||||
"fall2025SkeletonRogueSet": "ガイコツの盗賊セット",
|
||||
"fall2025KoboldHealerSet": "コボルドの治療師セット",
|
||||
"fall2025MaskedGhostMageSet": "マスクお化けの魔導士セット",
|
||||
"winter2026MidwinterCandleMageSet": "真冬のろうそくの魔導士セット",
|
||||
"winter2026SkiRogueSet": "スキーの盗賊セット",
|
||||
"winter2026PolarBearHealerSet": "ホッキョクグマの治療師セット",
|
||||
"winter2026RimeReaperWarriorSet": "霜の死神の戦士セット"
|
||||
"spring2025CrystalPointRogueSet": "水晶ポイントセット(盗賊)",
|
||||
"spring2025PlumeriaHealerSet": "プルメリアセット(治療師)",
|
||||
"spring2025MantisMageSet": "カマキリセット(魔道士)",
|
||||
"spring2025SunshineWarriorSet": "陽光セット(戦士)",
|
||||
"summer2025ScallopWarriorSet": "ホタテ貝セット(戦士)",
|
||||
"summer2025SquidRogueSet": "イカセット(盗賊)",
|
||||
"summer2025SeaAngelHealerSet": "クリオネセット(治療師)",
|
||||
"summer2025FairyWrasseMageSet": "イトヒキベラセット(魔道士)",
|
||||
"fall2025SasquatchWarriorSet": "サスクワッチセット(戦士)",
|
||||
"fall2025SkeletonRogueSet": "ガイコツセット(盗賊)",
|
||||
"fall2025KoboldHealerSet": "コボルドセット(治療師)",
|
||||
"fall2025MaskedGhostMageSet": "マスクお化けセット(魔道士)",
|
||||
"winter2026MidwinterCandleMageSet": "真冬のろうそくセット(魔道士)",
|
||||
"winter2026SkiRogueSet": "スキーセット(盗賊)",
|
||||
"winter2026PolarBearHealerSet": "ホッキョクグマセット(治療師)",
|
||||
"winter2026RimeReaperWarriorSet": "霜の死神セット(戦士)",
|
||||
"spring2026SnowdropHealerSet": "スノードロップセット(治療師)",
|
||||
"spring2026MaypoleMageSet": "メイポールセット(魔道士)",
|
||||
"spring2026FrogWarriorSet": "カエルセット(戦士)",
|
||||
"spring2026BranchRogueSet": "春の枝セット(盗賊)"
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
"questVice3DropShadeHatchingPotion": "影のたまごがえしの薬",
|
||||
"questGroupMoonstone": "復活のリシディヴェート",
|
||||
"questMoonstone1Text": "リシディヴェート・第1部:ムーンストーンの鎖",
|
||||
"questMoonstone1Notes": "ひどい苦悩が Habiticia の人びとを襲いました。長い間死んだと思われていた悪い習慣が報復のため復活したのです。汚れた皿は積み重なり、教科書は読まれずに放置され、先延ばしが横行しています!<br><br>復活したあなた自身の悪い習慣を追跡すると、ヨドミ沼でその原因を見つけました。…リシディヴェート、幽霊の魔術師を。「常習犯」と名付けられた彼女に駆け寄って武器を振り回しますが、亡霊の彼女が相手ではすり抜けるばかり。<br><br>「邪魔をするな」。彼女は耳障りな乾いたかすれた声でささやきます。「ムーンストーンの鎖がなければ、だれも私を傷つけることはできない…だからあの宝玉使いのマスター @aurakaml は、遥か昔にムーンストーンのすべてを Habitica 中にばらまいたのさ!」あなたは息切れしながら、退却します…が、すべきことはわかりました。",
|
||||
"questMoonstone1Notes": "ひどい苦悩が Habitica の人びとを襲いました。長い間死んだと思われていた悪い習慣が報復のため復活したのです。汚れた皿は積み重なり、教科書は読まれずに放置され、先延ばしが横行しています!<br><br>復活したあなた自身の悪い習慣を追跡すると、ヨドミ沼でその原因を見つけました。…リシディヴェート、幽霊の魔術師を。「常習犯」と名付けられた彼女に駆け寄って武器を振り回しますが、亡霊の彼女が相手ではすり抜けるばかり。<br><br>「邪魔をするな」。彼女は耳障りな乾いたかすれた声でささやきます。「ムーンストーンの鎖がなければ、だれも私を傷つけることはできない…だからあの宝玉使いのマスター @aurakami は、遥か昔にムーンストーンのすべてを Habitica 中にばらまいたのさ!」あなたは息切れしながら、退却します…が、すべきことはわかりました。",
|
||||
"questMoonstone1CollectMoonstone": "ムーンストーン",
|
||||
"questMoonstone1Completion": "ついに、最後のムーンストーンを沼のヘドロから引き上げることができました。次は集めた石から武器をこしらえる番です。リシディヴェートを打ち倒す武器を!",
|
||||
"questMoonstone1DropMoonstone2Quest": "リシディヴェート・第2部:悪事をくり返す魔術師(巻物)",
|
||||
@@ -863,5 +863,8 @@
|
||||
"questOtterCompletion": "リストの項目を拾い上げると、それぞれのタスクの重要度ごとに整理し、かなり取り組みやすい状態にまとめることができました!<br><br>「なるほど!」とあなたはカワウソに言います。「あのふざけたやり方が、本当にどのタスクを優先すべきか考える助けになったんだね。」<br><br>カワウソは喜びながら水しぶきを上げ、ほっぺたをこすります。「僕のちょっとした作戦が、タスクを違った見方で考えるきっかけになってよかったよ。」水中に潜り、近くで再び顔を出すと、「リストは達成可能な範囲にしておくことを忘れずに。報酬も役立つから、これを受け取って!」",
|
||||
"questAlienDropAlienPotion": "エイリアンのたまごがえしの薬",
|
||||
"questAlienUnlockText": "市場でエイリアンのたまごがえしの薬を買えるようになります",
|
||||
"questAlienBoss": "宇宙人「勇気の泥棒」"
|
||||
"questAlienBoss": "宇宙人「勇気の泥棒」",
|
||||
"questAlienText": "やる気泥棒の侵攻",
|
||||
"questAlienRageTitle": "銀河の妨害",
|
||||
"questAlienRageDescription": "日課を完了しないとこのバーが増えていきます。いっぱいになると、宇宙人は体力を回復してしまいます!"
|
||||
}
|
||||
|
||||
@@ -276,5 +276,6 @@
|
||||
"subscriptionBillingFYI": "有料プランは現在加入している期間が終了する24時間前までに解約しない限り、自動的に更新されます。設定の「有料プラン」タブから有料プランを管理できます。あなたのアカウントは更新日の24時間以内に、最初にお支払った料金で、請求されます。",
|
||||
"subscriptionBillingFYIShort": "有料プランは現在加入している期間が終了する24時間前までに解約しない限り、自動的に更新されます。あなたのアカウントは更新日の24時間以内に、最初にお支払った料金で、請求されます。",
|
||||
"mysterySet202603": "藤の魔術師セット",
|
||||
"mysterySet202604": "大胆な宇宙飛行士セット"
|
||||
"mysterySet202604": "大胆な宇宙飛行士セット",
|
||||
"mysterySet202605": "夜の帳セット"
|
||||
}
|
||||
|
||||
@@ -141,5 +141,7 @@
|
||||
"deleteType": "<%= type %>を削除する",
|
||||
"deleteTask": "タスクを削除する",
|
||||
"deleteXTasks": "<%= count %>つのタスクを削除する",
|
||||
"confirmDeleteTasks": "タスクを削除したいですか?"
|
||||
"confirmDeleteTasks": "タスクを削除したいですか?",
|
||||
"sureDeleteType": "本当にこのタスクを削除してもいいですか?",
|
||||
"brokenChallengeTaskCount": "これは終了したチャレンジに関する<%= count %>つのタスクのうちの一つです。"
|
||||
}
|
||||
|
||||
@@ -102,5 +102,6 @@
|
||||
"whyReportingChallengePlaceholder": "보고의 이유",
|
||||
"messageChallengeFlagOfficial": "공식 도전 과제는 신고가 불가능합니다.",
|
||||
"messageChallengeFlagAlreadyReported": "이 도전을 이미 신고하셨습니다.",
|
||||
"flaggedAndHidden": "도전 플래그 세우고 숨기기"
|
||||
"flaggedAndHidden": "도전 플래그 세우고 숨기기",
|
||||
"brokenTask": "챌린지"
|
||||
}
|
||||
|
||||
@@ -11,5 +11,6 @@
|
||||
"rebirthPop": "캐릭터를 레벨1 전사로 즉시 다시 시작합니다. 업적달성, 수집품 및 장비는 사라지지 않습니다. 할 일 목록과 그 기록은 유지되지만, 노란색으로 재설정됩니다. 진행 중인 챌린지와 그룹 플랜에 속한 할 일 목록을 제외하고, 연속 기록은 0일로 지워집니다. 골드, 경험치, 마나 및 모든 스킬 효과도 제거됩니다. 이 모든 것들은 환생과 동시에 즉시 적용됩니다. 자세한 내용은 위키의 <a href='http://habitica.wikia.com/wiki/Orb_of_Rebirth' target='_blank'>Orb of Rebirth</a> 페이지를 참조하세요.",
|
||||
"rebirthName": "환생의 구슬",
|
||||
"rebirthComplete": "다시 태어났습니다!",
|
||||
"nextFreeRebirth": "<strong>무료로</strong> 환생의 구슬을 사용할 수 있을 때까지 <strong><%= days %> 일</strong>이 남았습니다."
|
||||
"nextFreeRebirth": "<strong>무료로</strong> 환생의 구슬을 사용할 수 있을 때까지 <strong><%= days %> 일</strong>이 남았습니다.",
|
||||
"rebirthUnlockedOrb": "새로운 모험을 할수있습니다!"
|
||||
}
|
||||
|
||||
@@ -213,7 +213,7 @@
|
||||
"backgroundStormyRooftopsNotes": "Kruip over de Stormachtige Daken.",
|
||||
"backgroundWindyAutumnText": "Winderige Herfst",
|
||||
"backgroundWindyAutumnNotes": "Jaag op bladeren tijdens een Winderige Herfst.",
|
||||
"incentiveBackgrounds": "Eenvoudige Achtergronden",
|
||||
"incentiveBackgrounds": "Standaard Achtergronden",
|
||||
"backgroundVioletText": "Violet",
|
||||
"backgroundVioletNotes": "Een vreugevolle violette achtergrond.",
|
||||
"backgroundBlueText": "Blauw",
|
||||
@@ -472,10 +472,10 @@
|
||||
"backgroundAutumnFlowerGardenText": "Herfstbloementuin",
|
||||
"backgrounds092019": "SET 64: uitgebracht in september 2019",
|
||||
"backgroundFarmersMarketText": "Boerenmarkt",
|
||||
"backgroundPotionShopText": "Uitbroeddrankenwinkel",
|
||||
"backgroundFlyingInAThunderstormNotes": "Achtervolg een Driftige Donderbui, zo dichtbij als je durft.",
|
||||
"backgroundFlyingInAThunderstormText": "Driftige Donderbui",
|
||||
"backgroundFarmersMarketNotes": "Koop het verste voedsel bij de Boerenmarkt.",
|
||||
"backgroundPotionShopText": "Toverdrankenwinkel",
|
||||
"backgroundFlyingInAThunderstormNotes": "Achtervolg een Woestende Onweersbui so dichtbij mogelijk als je durft.",
|
||||
"backgroundFlyingInAThunderstormText": "Woeste Onweersbui",
|
||||
"backgroundFarmersMarketNotes": "Koop de allerverse voedsel op de Boerenmarkt.",
|
||||
"backgrounds112019": "SET 66: Uitgebracht in November 2019",
|
||||
"backgroundClocktowerNotes": "Plaats je geheime schuilplaats achter de wijzerplaat van een Kloktoren.",
|
||||
"backgroundClocktowerText": "Kloktoren",
|
||||
@@ -508,11 +508,11 @@
|
||||
"backgroundWinterNocturneNotes": "Baad in het sterrenlicht van een Winters Nachttafereel.",
|
||||
"backgroundWinterNocturneText": "Winters Nachttafereel",
|
||||
"backgroundHolidayWreathNotes": "Versier je avatar met een geurende Feestelijke Krans.",
|
||||
"backgroundHolidayWreathText": "Feestelijke Krans",
|
||||
"backgroundHolidayMarketNotes": "Vind de perfecte cadeaus en versieringen bij een Feestdagen Markt.",
|
||||
"backgroundHolidayWreathText": "Feestkrans",
|
||||
"backgroundHolidayMarketNotes": "Vind de perfecte cadeaus en versieringen op de feestmarkt.",
|
||||
"backgroundHolidayMarketText": "Feestdagen Markt",
|
||||
"backgrounds122019": "SET 67: Uitgebracht December 2019",
|
||||
"backgroundPotionShopNotes": "Vind een elixer tegen een kwaal in een Uitbroeddrankenwinkel.",
|
||||
"backgroundPotionShopNotes": "Vind een elixer voor elke kwaal in een Toverdrankenwinkel.",
|
||||
"backgroundRainyBarnyardNotes": "Maak een drassige, spetterende wandeling door een Regenachtige Boerenerf.",
|
||||
"backgroundRainyBarnyardText": "Regenachtige boerenerf",
|
||||
"backgroundHeatherFieldNotes": "Geniet van de geur van een Heather Veld.",
|
||||
@@ -715,7 +715,7 @@
|
||||
"backgroundByACampfireNotes": "Geniet bij de gloed van een kampvuur.",
|
||||
"backgrounds092022": "SET 100: Uitgebracht September 2022",
|
||||
"backgroundTheatreStageText": "Theater Podium",
|
||||
"backgroundTheatreStageNotes": "Treed op op een Theater Podium.",
|
||||
"backgroundTheatreStageNotes": "Optreden op een Theater Podium.",
|
||||
"backgroundAutumnPicnicText": "Herfst Picknick",
|
||||
"backgroundAutumnPicnicNotes": "Geniet van een Herfst Picknick.",
|
||||
"backgroundOldPhotoText": "Oude Foto",
|
||||
@@ -939,5 +939,7 @@
|
||||
"backgroundRidingACometNotes": "Reis door de ruimte terwijl je rijdt op een Komeet!",
|
||||
"backgrounds052026": "SET 144: Uitgebracht Mei 2026",
|
||||
"backgroundElvenCitadelText": "Elfenburcht",
|
||||
"backgroundElvenCitadelNotes": "Onderneem de schilderachtige reis naar een Elfenburcht."
|
||||
"backgroundElvenCitadelNotes": "Onderneem de schilderachtige reis naar een Elfenburcht.",
|
||||
"backgroundOnAStrangePlanetText": "Op een Vreemde Planeet",
|
||||
"backgroundOnAStrangePlanetNotes": "Ga waar nog geen Habitican is geweest: Op een Vreemde Planeet."
|
||||
}
|
||||
|
||||
@@ -54,13 +54,13 @@
|
||||
"questRoosterUnlockText": "Ontgrendelt het kopen van Haneneieren op de Markt",
|
||||
"questSpiderText": "De IJzige Spinachtige",
|
||||
"questSpiderNotes": "Nu het weer begint af te koelen, verschijnen er webben van delicate ijsbloemen op de ruiten van de Habiticanen... behalve bij @Arcosine, wiens ramen volledig dichtgevroren zijn door de vorstspin die momenteel zijn huis in beslag neemt. O jee.",
|
||||
"questSpiderCompletion": "De vorstspin stort in, een klein hoopje rijp en een paar van haar betoverde eiercocons achterlatend. @Arcosine biedt ze je nogal haastig aan als beloning - misschien wil je een aantal niet-bedreigende spinnen als huisdier hebben?",
|
||||
"questSpiderCompletion": "De vorstspin stort in, een klein hoopje rijp en een paar van haar betoverde eiercocons achterlatend. @Arcosine biedt ze je nogal haastig aan als beloning — misschien wil je een aantal niet-bedreigende spinnen als huisdier hebben?",
|
||||
"questSpiderBoss": "Spin",
|
||||
"questSpiderDropSpiderEgg": "Spin (ei)",
|
||||
"questSpiderUnlockText": "Ontgrendelt het kopen van Spinneneieren op de Markt",
|
||||
"questGroupVice": "Ondeugd de schaduwdraak",
|
||||
"questVice1Text": "Ondeugd, deel 1: Bevrijd jezelf van de Invloed van de Draak",
|
||||
"questVice1Notes": "<p> Ze zeggen dat er een vreselijk kwaad schuilt in de grotten van Berg Habitica. Een monster wiens aanwezigheid de wil van de sterke helden van het land verdraait en hen naar slechte gewoonten en luiheid leidt! Het beest is een grootse draak met immense kracht, bestaande uit de schaduw zelf: Ondeugd, het verraderlijke Schaduw Serpent. Dappere Habiteers, sta op en versla dit vuile beest voor eens en altijd, maar alleen als je gelooft dat je opkan tegen zijn immense kracht. </p><h3>Ondeugd Deel 1: </h3><p>Hoe kan je verwachten te vechten tegen zo'n beest wanneer het jou al in zijn macht heeft? Val niet ten slachtoffer aan luiheid en ondeugd! Werk hard om te vechten tegen de duistere invloed van de draak en verdrijf zijn greep op je!</p>",
|
||||
"questVice1Notes": "Ze zeggen dat er een vreselijk kwaad schuilt in de grotten van Berg Habitica. Een monster wiens aanwezigheid de wil van de sterke helden van het land verdraait en hen naar slechte gewoonten en luiheid leidt! Het beest is een grootse draak met immense kracht, bestaande uit de schaduw zelf: Ondeugd, het verraderlijke Schaduw Serpent. Dappere Habiteers, sta op en versla dit vuile beest voor eens en altijd, maar alleen als je gelooft dat je opkan tegen zijn immense kracht. <br><br>Hoe kan je verwachten te vechten tegen zo'n beest wanneer het jou al in zijn macht heeft? Val niet ten slachtoffer aan luiheid en ondeugd! Werk hard om te vechten tegen de duistere invloed van de draak en verdrijf zijn greep op je!</p>",
|
||||
"questVice1Boss": "De Schaduw van Ondeugd",
|
||||
"questVice1Completion": "Met Vice`s invloed over je betoverd, voel je opeens een golf aan kracht waarvan je niet wist dat je hem had wederkeren naar je. Gefeliciteerd! Maar een nog angstaanjagerende vijand wacht op je...",
|
||||
"questVice1DropVice2Quest": "Ondeugd deel 2 (perkamentrol)",
|
||||
@@ -113,7 +113,7 @@
|
||||
"questGoldenknight3DropWeapon": "Mustaine's Milestone Mashing Morning Star (Off-hand Weapon)",
|
||||
"questGroupEarnable": "Queesten om te verdienen",
|
||||
"questBasilistText": "De Basi-lijst",
|
||||
"questBasilistNotes": "Er heerst onrust op de marktplaats - het soort waar je eigenlijk voor weg moet rennen. Omdat je een dappere avonturier bent, ren je er juist naartoe. Je ontdekt een basi-lijst, die samen aan het smelten is uit een klont onvoltooide To Do's! Habiticanen in de omgeving zijn verlamd van angst door hoe lang de Basi-lijst is, en zijn niet in staat om aan het werk te gaan. Ergens dichtbij hoor je @Arcosine roepen: \"Snel! Voltooi je To Do's en Dagelijkse Taken om het monster te verslaan, voordat er iemand zich openhaalt aan het papier!\" Sla snel toe, avonturier, en vink iets af - maar pas op! Als je ook maar één Dagelijkse Taak onvoltooid laat, zal de Basi-lijst jou en je gezelschap aanvallen!",
|
||||
"questBasilistNotes": "Er heerst onrust op de marktplaats — het soort waar je eigenlijk voor weg moet rennen. Omdat je een dappere avonturier bent, ren je er juist naartoe. Je ontdekt een basi-lijst, die samen aan het smelten is uit een klont onvoltooide To Do's! Habiticanen in de omgeving zijn verlamd van angst door hoe lang de Basi-lijst is, en zijn niet in staat om aan het werk te gaan. Ergens dichtbij hoor je @Arcosine roepen: \"Snel! Voltooi je To Do's en Dagelijkse Taken om het monster te verslaan, voordat er iemand zich openhaalt aan het papier!\" Sla snel toe, avonturier, en vink iets af - maar pas op! Als je ook maar één Dagelijkse Taak onvoltooid laat, zal de Basi-lijst jou en je gezelschap aanvallen!",
|
||||
"questBasilistCompletion": "De basi-lijst valt uiteen in papiersnippers met zachtjes glinsterende regenboogkleuren. \"Oef!\" zegt @Arcosine. \"Het is maar goed dat jullie langskwamen!\" Je voelt je meer ervaren dan ooit, en raapt wat goud op dat tussen het papier ligt.",
|
||||
"questBasilistBoss": "De Basi-lijst",
|
||||
"questEggHuntText": "Eierenjacht",
|
||||
@@ -189,7 +189,7 @@
|
||||
"questTRexUndeadBoss": "Skeletachtige Tyrannosaurus",
|
||||
"questTRexUndeadRageTitle": "Skeletgenezing",
|
||||
"questTRexUndeadRageDescription": "Deze balk vult zich wanneer je je dagelijkse taken niet afvinkt. Wanneer de balk vol is, zal de Skeletachtige Tyrannosaurus 30% van zijn resterende gezondheid terugkrijgen!",
|
||||
"questTRexUndeadRageEffect": "'Skeletachtige Tyrannosaurus gebruikt Skeletgenezing!'\n\nHet monster slaakt een onaardse brul, en een paar van zijn beschadigde botten komen weer terug op de goede plaats!",
|
||||
"questTRexUndeadRageEffect": "Skeletachtige Tyrannosaurus gebruikt SKELETSGENEZING!\n\nHet monster slaakt een onaardse brul, en een paar van zijn beschadigde botten komen weer terug op de goede plaats!",
|
||||
"questTRexDropTRexEgg": "Tyrannosaurus (ei)",
|
||||
"questTRexUnlockText": "Ontgrendelt het kopen van Tyrannosauruseieren op de Markt",
|
||||
"questRockText": "Ontsnap aan het Grottenmonster",
|
||||
@@ -241,7 +241,7 @@
|
||||
"questDilatoryDistress2Boss": "Waterschedelzwerm",
|
||||
"questDilatoryDistress2RageTitle": "De zwerm laten herrijzen",
|
||||
"questDilatoryDistress2RageDescription": "De zwerm laten herrijzen: deze balk vult zich als je je dagelijkse taken niet afvinkt. Wanneer de balk vol is, zal de waterschedelzwerm 30% van zijn resterende gezondheid terugkrijgen!",
|
||||
"questDilatoryDistress2RageEffect": "`Waterschedelzwerm gebruikt LAAT DE ZWERM HERRIJZEN!`\n\nAangemoedigd door hun overwinningen komen er meer schedels uit de gletsjerspleet om de zwerm te versterken!",
|
||||
"questDilatoryDistress2RageEffect": "Waterschedelzwerm gebruikt LAAT DE ZWERM HERRIJZEN!\n\nAangemoedigd door hun overwinningen komen er meer schedels uit de gletsjerspleet om de zwerm te versterken!",
|
||||
"questDilatoryDistress2DropSkeletonPotion": "Skelet uitbroeddrank",
|
||||
"questDilatoryDistress2DropCottonCandyBluePotion": "Suikerspinblauwe uitbroeddrank",
|
||||
"questDilatoryDistress2DropHeadgear": "Diadeem van brandkoraal (hoofduitrusting)",
|
||||
@@ -727,5 +727,17 @@
|
||||
"questStoneCollectMossyStones": "Bemoste Stenen",
|
||||
"sandySidekicksText": "Zandige Hulpjes Queeste Bundel",
|
||||
"sandySidekicksNotes": "Bevat 'Het Zwichtende Gorgeldier', 'De Slang van Afleiding', en 'De IJzige Spinachtige'. Beschikbaar tot <% date %>.",
|
||||
"questStoneUnlockText": "Ontgrendelt het kopen van Bemoste Steen uitbroeddranken op de Markt"
|
||||
"questStoneUnlockText": "Ontgrendelt het kopen van Bemoste Steen uitbroeddranken op de Markt",
|
||||
"questFungiDropFungiPotion": "Schimmel Uitbroeddrankje",
|
||||
"questRaccoonNotes": "Het is een warme herfstdag in Habitica en je maakt een rustige wandeling langs de Vaart van Verovering. Je ziet een paar handige halfedelstenen langs de oever, die perfect zijn voor een project wat je al een tijdje van plan bent.<br><br>Je begint de beste te verzamelen op een stapel onder een boom. Alleen elke keer als je terugkomt lijkt de stapel kleiner te worden in plaats van groter...<br><br>Dat kan niet kloppen. Je kijkt overal om je heen maar merkt niets vreemds op. Dan als je omdraait om terug naar de vaart te lopen, zie je een handachtig pootje uit een gat in de boomstam komen en een paar van je stenen grijpen!<br><br>\"Hey!\" roep je. \"Ik ben hard aan het werk geweest om die te verzamelen. Het is niet netjes om ze te pakken zonder het te vragen!\"<br><br>Een gemaskerd gezicht verschijnt in het gat en grijnst naar je. \"Wie vindt mag het houden!\" zegt de Wasbeer. Hij glipt terug de boom in, met zakken vol stenen in zijn hand. Je duikt hem achterna! Deze stenen zijn het waard om voor te vechten.",
|
||||
"questRaccoonText": "Wasbeer Tycoon",
|
||||
"questSolarSystemDropSolarSystemPotion": "Zonnestelsel Uitbroeddrankje",
|
||||
"questSolarSystemUnlockText": "Ontgrendelt de aankoop van Zonnestelsel Uitbroeddranken in de Marktplaats",
|
||||
"questOnyxText": "De Onyx Odyssee",
|
||||
"questOnyxCollectPlutoRunes": "Pluto Runes",
|
||||
"questOnyxCollectLeoRunes": "Leeuw Runes",
|
||||
"questOnyxCollectOnyxStones": "Onyx Stenen",
|
||||
"questOnyxDropOnyxPotion": "Onyx Uitbroeddrankje",
|
||||
"questOnyxUnlockText": "Ontgrendelt Onyx Uitbroeddranken voor aankoop in de Marktplaats",
|
||||
"questVirtualPetText": "Virtuele chaos met 1 April: Het Gepiep"
|
||||
}
|
||||
|
||||
@@ -2222,5 +2222,14 @@
|
||||
"weaponArmoireCleaningClothNotes": "Leve esta ferramenta de limpeza em todas as suas aventuras e esteja sempre pronto para polir uma bela placa ou limpar um parapeito de madeira. Aumenta a Força e a Constituição em <%= attrs %> cada. Baú Encantado: Conjunto de Materiais de Limpeza II (Item 3 de 3)",
|
||||
"weaponArmoireMopNotes": "Passo 1: Mergulhe o esfregão num balde com água e sabão. Passo 2: Arraste o esfregão pelo chão. Passo 3: Finja que a ponta do cabo do esfregão é um microfone e cante com toda a sua alma. Passo 4: Repita os passos 1 a 3 até que o chão esteja limpo. Aumenta a Constituição e a Perceção em <%= attrs %> cada. Baú Encantado: Conjunto de Materiais de Limpeza II (Item 2 de 3)",
|
||||
"weaponArmoireScholarlyTextbooksNotes": "Esta é a sua chance de mergulhar fundo e aprender sobre qualquer assunto que lhe interesse. Qual é a sua hiperfixação atual? Aumenta a Inteligência em <%= int %>. Baú Encantado: Conjunto de Uniforme Escolar (Item 3 de 4).",
|
||||
"weaponArmoireHattersShearsNotes": "Desfaça as complicações e a sobrecarga. Esta tesoura também corta tecido com excelência, é claro. Aumenta a Força em <%= str %>. Baú Encantado: Conjunto de Chapeleiro (Item 3 de 4)."
|
||||
"weaponArmoireHattersShearsNotes": "Desfaça as complicações e a sobrecarga. Esta tesoura também corta tecido com excelência, é claro. Aumenta a Força em <%= str %>. Baú Encantado: Conjunto de Chapeleiro (Item 3 de 4).",
|
||||
"weaponArmoireSpookyCandyBucketNotes": "Com uma fantasia épica dessas, com certeza que vai ganhar um monte de doces! Ainda bem que têm esse balde sem fundo para guardar tudo. Tente não comer nenhum até chegar em casa. Aumenta a Inteligência em <%= int %>. Baú Encantado: Conjunto Noite do Terror (Item 2 de 2).",
|
||||
"weaponArmoireBambooFluteNotes": "Uuuu! Uuuuuu! Reúna a sua equipa para uma sessão de meditação ou uma sesta relaxante ao som de melodias tocadas nesta flauta de bambu. Aumenta a Constituição e a Inteligência em <%= attrs %> cada. Baú Encantado: Conjunto de Instrumentos Musicais 2 (Item 2 de 3)",
|
||||
"weaponArmoireOptimistsCloverNotes": "Olhe só o que encontrou! Um pouco de sorte a mais nunca é demais. Aumenta a Força e a Constituição em <%= attrs %> cada. Baú Encantado: Conjunto Otimista (Item 4 de 4).",
|
||||
"weaponArmoirePottersWheelNotes": "Coloque um pouco de argila nesta roda e faça uma tigela, uma caneca, um vaso ou uma tigela ligeiramente diferente. Se tiver sorte, um fantasma poderá aparecer enquanto cria! Aumenta a Percepção em <%= por %>. Baú Encantado: Conjunto de Oleiro (Item 4 de 4).",
|
||||
"weaponArmoireShadyBeachUmbrellaNotes": "A sombra deste guarda-chuva multicolorido protege-te brevemente da luz do dia e de qualquer incómodo indesejado. Aumenta a Percepção em <%= por %>. Baú Encantado: Conjunto Praia (Item 3 de 4).",
|
||||
"weaponArmoireCorsairsBladeNotes": "Quer a use para causar caos ou para proteger, pode ter certeza que esta lâmina afiada te segue para o mar. Apenas certifique-se de guardá-la em segurança quando não estiver em uso. Aumenta a Força em <%= str %>. Baú Encantado: Conjunto Corsário (Item 3 de 3).",
|
||||
"weaponArmoireBeekeepersSmokerNotes": "Use isso para acalmar as suas abelhas e assim poderá coletar um pouco de mel. As abelhas não se importarão. Com franqueza, todos nós poderíamos usar alguns minutos extras de sossego de vez em quando. Aumenta a Inteligência em <%= int %>. Baú Encantado: Conjunto de Apicultor (Item 3 de 4).",
|
||||
"weaponArmoireBlacksmithsHammerNotes": "Este martelo é para trabalhar o metal, mas também é perfeitamente adequado para brasas incandescentes e tarefas diárias árduas. Aumenta a Força em <%= str %>. Baú Encantado: Conjunto de Ferreiro (Item 3 de 3).",
|
||||
"weaponArmoirePrettyPinkParasolNotes": "Bonito e prático é a combinação perfeita. E para uma apresentação particularmente impressionante, experimente este guarda-sol! Aumenta todos os atributos em <%= attrs %> cada. Baú Encantado: Conjunto Rosa Delicado (Item 1 de 2)"
|
||||
}
|
||||
|
||||
@@ -860,5 +860,8 @@
|
||||
"questOtterUnlockText": "Desbloqueia Ovos de Lontra para compra no Mercado",
|
||||
"questOtterRageEffect": "O Conspirador joga pedaços da sua lista de afazeres no ar! O Chefão recupera 30% de sua vida!",
|
||||
"questJadeNotes": "Você está em sua casa olhando para a pilha de pratos sujos na pia. A pilha de roupa suja em um lugar qualquer do quarto. Os copos vazios e embalagens de biscoitos espalhados em volta de sua mesa...<br><br>Você respira fundo. \"Por que sempre tem mais louça?...a bagunça nunca termina.\" É tão desmotivador. Você se encontra largado no sofá, perdido em pensamentos enquanto rola sem rumo nas últimas tendências. Ninguém sabe há quanto tempo você está aí...<br><br>Quando você tira os olhos da tela, tudo é verde. Mas não é a sua sala de estar. Ao se levantar, encontra a si mesmo olhando para a costa de uma montanha verdejante.<br><br>Movimentos distantes chamam sua atenção. Uma figura esverdeada pedregosa grunhe, empurrando uma pedra pela costa rochosa. Ele faz algum progresso, mas um pequeno escorregão nos pés faz a brilhante pedra rolar de volta para baixo, certamente na sua direção!<br><br>Ele avista você enquanto corre em direção ao pedaço de jade que vem em sua direção! \"Você ainda acha que louças são ruins?\" a criatura grita, \"Tente isso!\"",
|
||||
"questJadeCompletion": "Após inúmeros contratempos, você de alguma forma conseguiu rolar o bloco de jade ao topo da montanha! A criatura de pedra te alcança e sorri. Ele dá ao bloco um gentil empurrão e você assiste o bloco rolar todo o caminho de volta ao fundo.<br><br>\"Por que você fez isso? Alguém terá que fazer tudo de novo agora! Você reclama.<br><br>\"Só porque você precisa fazer algo mais de uma vez não significa que suas conquistas sejam insignificantes.\"a criatura de pedra diz. \"Por agora, foque no que você conseguiu e aproveite a recompensa!\"<br><br>Você acorda novamente no seu sofá, com o celular caído no chão. No chão há três poções de Jade! Talvez seja hora de limpar toda a sujeira e fazer uma pausa para ver como essas poções funcionam em alguns ovos de pet..."
|
||||
"questJadeCompletion": "Após inúmeros contratempos, você de alguma forma conseguiu rolar o bloco de jade ao topo da montanha! A criatura de pedra te alcança e sorri. Ele dá ao bloco um gentil empurrão e você assiste o bloco rolar todo o caminho de volta ao fundo.<br><br>\"Por que você fez isso? Alguém terá que fazer tudo de novo agora! Você reclama.<br><br>\"Só porque você precisa fazer algo mais de uma vez não significa que suas conquistas sejam insignificantes.\"a criatura de pedra diz. \"Por agora, foque no que você conseguiu e aproveite a recompensa!\"<br><br>Você acorda novamente no seu sofá, com o celular caído no chão. No chão há três poções de Jade! Talvez seja hora de limpar toda a sujeira e fazer uma pausa para ver como essas poções funcionam em alguns ovos de pet...",
|
||||
"questAlienText": "Aventuras de Primeiro de Abril: Os Invasores de Hábitos",
|
||||
"questAlienNotes": "Os últimos dias têm sido estranhos em Habitica. O grande disco voador que chegou recentemente ainda paira perto dos Campos Florescentes. Ele emite um zumbido esquisito. Por que permance aqui? O Dia da Mentira já passou e os holofotes sobre o Mestre dos Ladinos já se encerraram.<br><br>Você caminha em direção à luz da nave espacial. Você pode investigar mais de perto e, de quebra, ainda fazer uma caminhada para se exercitar.<br><br>À medida que se aproxima, você avista Lorde Diabril com uma expressão um tanto quanto sombria. Seu rosto parece esverdeado sob o feixe de luz da nave.<br><br>“Meu plano era conseguir poções para distribuir para todo mundo... Um presentinho para que todos pudessem curtir seus amiguinhos extraterrestres por mais tempo! Mas simplesmente não consigo reunir ânimo para isso… e acho que sei por quê”, diz o Lorde, apontando com a cabeça para o feixe.<br><br>Pequenos símbolos estão sendo sugados para dentro da nave. São todas as suas tarefas marcadas como concluídas! Não é à toa que sua motivação anda tão fraca.<br><br>“Nossa motivação está sendo abduzida!”, você exclama. “Temos que resgatá-la antes que ela vá parar em algum lugar do espaço profundo!”<br><br>Diabril sorri. “Concentre seus pensamentos nas tarefas que você sabe que precisa terminar! Eu cuido do resto com um pouquinho de magia.”",
|
||||
"questAlienCompletion": "Vocês conseguiram recuperar a motivação roubada - com sua determinação e o poder mágico de Diabril. À medida em que você sente seu ânimo voltando, o OVNI desce, e uma rampa surge lentamente, junto com uma criatura grande e verde, de um olho só. Apesar da aparência estranha, ela não parece ameaçadora.<br><br>“Parece que fomos longe demais tentando coletar um pouco de encorajamento extra da sua bela cidade”, diz o ser. “Pedimos desculpas por isso... e parabéns pelo excelente trabalho em recuperá-lo. A aura extra dos seus esforços acabou carregando o motor da nave o suficiente para nos levar de volta para casa! Por favor, aceitem estes presentes como forma de agradecimento.”<br><br>“Óóó, poções”, diz Diabril, “Que maravilha… e que conveniente para mim que vocês já tenham trazido tudo prontinho!”"
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"backgrounds": "Фоны",
|
||||
"background": "Фоновая",
|
||||
"backgroundShop": "фоновая Лавка",
|
||||
"backgroundShop": "Магазин окружений",
|
||||
"noBackground": "Фон не выбран",
|
||||
"backgrounds062014": "Набор 1: Выпущен в июне 2014",
|
||||
"backgroundBeachText": "Пляж",
|
||||
@@ -929,5 +929,17 @@
|
||||
"backgroundElegantPalaceText": "Прекрасный Дворец",
|
||||
"backgrounds012026": "Набор 140: Выпущен в январе 2026",
|
||||
"backgrounds022026": "Набор 141: Выпущен в феврале 2026",
|
||||
"backgroundWinterDesertWithSaguarosText": "Зимняя пустыня с кактусами сагуаро"
|
||||
"backgroundWinterDesertWithSaguarosText": "Зимняя пустыня с кактусами сагуаро",
|
||||
"backgroundOnAStrangePlanetText": "На странной планете",
|
||||
"backgroundOnAStrangePlanetNotes": "Отправляйтесь туда, где не ступал ни кто из Хабитики: на странной планете.",
|
||||
"backgrounds032026": "Комплект 142: Выпущен в марте 2026 года",
|
||||
"backgroundWaterfallWithRainbowText": "Водопад с радугой",
|
||||
"backgroundWaterfallWithRainbowNotes": "Наслаждайтесь захватывающей красотой водопада с радугой.",
|
||||
"backgrounds042026": "Комплект 143: Выпущен в апреле 2026 года",
|
||||
"backgroundRidingACometText": "Верхом на комете",
|
||||
"backgroundRidingACometNotes": "Путешествие в космосе верхом на комете!",
|
||||
"backgrounds052026": "Комплект 144: Выпущен в мае 2026 года",
|
||||
"backgroundElvenCitadelText": "Эльфийская цитадель",
|
||||
"backgroundElvenCitadelNotes": "Совершите живописное путешествие к эльфийской цитадели.",
|
||||
"backgroundElegantPalaceNotes": "Любуйтесь красочными залами изящного дворца."
|
||||
}
|
||||
|
||||
@@ -3006,5 +3006,43 @@
|
||||
"weaponSpecialSpring2025WarriorNotes": "Одним движением можно срезать стебли цветов, чтобы составить букет, или прорубить препятствия, чтобы выполнить поставленные задачи. Увеличивает силу на <%= str %>. Ограниченная издание Весны 2025 года.",
|
||||
"weaponSpecialSpring2025RogueNotes": "Одним ударом вы можете устранить любые препятствия, стоящие на пути к вашим целям. Увеличивает силу на <%= str %>. Ограниченное издание Весны 2025 года.",
|
||||
"weaponSpecialSpring2025HealerNotes": "Одним взмахом руки вы можете привлечь на свою сторону опылителей, которые помогут вам в ваших приключениях. Увеличивает интеллект на <%= int %>. Ограниченное издание Весны 2025 года.",
|
||||
"weaponSpecialWinter2025MageNotes": "Это потрясающее, красочное шоу создает идеальный фон! Вы будете неудержимы! Увеличивает интеллект на <%= int %> и восприятие на <%= per %>. Ограниченное издание снаряжения Зимы 2024-2025."
|
||||
"weaponSpecialWinter2025MageNotes": "Это потрясающее, красочное шоу создает идеальный фон! Вы будете неудержимы! Увеличивает интеллект на <%= int %> и восприятие на <%= per %>. Ограниченное издание снаряжения Зимы 2024-2025.",
|
||||
"weaponSpecialSpring2025MageText": "Посох Богомола",
|
||||
"weaponSpecialSpring2025MageNotes": "Одним взмахом вы можете использовать магию стихий, чтобы управлять окружающей средой. Воспользуйтесь этим и прыгайте вперёд! Повышает интеллект на <%= int %> и восприятие на <%= per %>. Эксклюзивное снаряжение весны 2025 года.",
|
||||
"weaponSpecialFall2025RogueNotes": "Могучий клинок, чтобы прорубить безопасный путь через осенний лес, полный препятствий. Повышает силу на <%= str %>. Эксклюзивное снаряжение осени 2025 года.",
|
||||
"weaponSpecialFall2025MageNotes": "Могучий топор, чтобы прорубить безопасный путь через осенний лес, полный страхов. Повышает интеллект на <%= int %> и восприятие на <%= per %>. Эксклюзивное снаряжение осени 2025 года.",
|
||||
"weaponSpecialSpring2026WarriorNotes": "Возможность для дуэли может представиться в любой момент, и с этой грозной рапирой вы будете готовы! Повышает силу на <%= str %>. Эксклюзивное снаряжение весны 2026 года.",
|
||||
"weaponSpecialSpring2025WarriorText": "Сабля Солнечного Света",
|
||||
"weaponSpecialSpring2025RogueText": "Хрустальный цеп",
|
||||
"weaponSpecialSpring2025HealerText": "Посох Плюмерии",
|
||||
"weaponSpecialWinter2025HealerNotes": "То, что вам сейчас нужно — больше огней и сияющая звезда на вершину! Тогда вы будете непобедимы! Повышает интеллект на <%= int %>. Эксклюзивное снаряжение зимы 2024–2025.",
|
||||
"weaponSpecialWinter2025MageText": "Северное сияние",
|
||||
"weaponSpecialSummer2025WarriorText": "Копье из раковины гребешка",
|
||||
"weaponSpecialSummer2025WarriorNotes": "Невозможно определить, сколько этому лет, но оно будет с вами во множестве трудных задач. Повышает силу на <%= str %>. Эксклюзивное снаряжение лета 2025 года.",
|
||||
"weaponSpecialSummer2025RogueText": "Щупальце кальмара",
|
||||
"weaponSpecialSummer2025RogueNotes": "Это щупальце крепко ухватится за ваши цели, чтобы вы не теряли темп при выполнении задач. Повышает силу на <%= str %>. Эксклюзивное снаряжение лета 2025 года.",
|
||||
"weaponSpecialSummer2025HealerText": "Крыло морского ангела",
|
||||
"weaponSpecialSummer2025HealerNotes": "Рисуйте восьмёрку, двигаясь вперёд, и добейтесь большого прогресса в своих задачах. Повышает интеллект на <%= int %>. Эксклюзивное снаряжение лета 2025 года.",
|
||||
"weaponSpecialSummer2025MageText": "Ветка корала",
|
||||
"weaponSpecialSummer2025MageNotes": "Развивайте свои таланты и навыки, чтобы справляться с самыми разными задачами. Повышает интеллект на <%= int %> и восприятие на <%= per %>. Эксклюзивное снаряжение лета 2025 года.",
|
||||
"weaponSpecialFall2025WarriorText": "Топор снежного человека",
|
||||
"weaponSpecialFall2025WarriorNotes": "Могучий топор, чтобы прорубить безопасный путь через осенний лес, полный трудностей. Повышает силу на <%= str %>. Эксклюзивное снаряжение осени 2025 года.",
|
||||
"weaponSpecialFall2025RogueText": "Клинок скелета",
|
||||
"weaponSpecialFall2025HealerText": "Топор кобольда",
|
||||
"weaponSpecialFall2025HealerNotes": "Могучий топор, чтобы прорубить безопасный путь через осенний лес, полный помех. Повышает интеллект на <%= int %>. Эксклюзивное снаряжение осени 2025 года.",
|
||||
"weaponSpecialFall2025MageText": "Топор призрака в маске",
|
||||
"weaponSpecialSpring2026WarriorText": "Могучая лягушачья рапира",
|
||||
"weaponSpecialSpring2026RogueText": "Весенняя ветвь",
|
||||
"weaponSpecialSpring2026RogueNotes": "Возможность для роста уже близка, и с этими распускающимися ветвями вы будете готовы! Повышает силу на <%= str %>. Эксклюзивное снаряжение весны 2026 года.",
|
||||
"weaponSpecialSpring2026HealerText": "Посох подснежника",
|
||||
"weaponSpecialSpring2026HealerNotes": "Возможность начать всё заново с чистого листа уже впереди, и с этим великолепным посохом вы будете готовы! Повышает интеллект на <%= int %>. Эксклюзивное снаряжение весны 2026 года.",
|
||||
"weaponSpecialSpring2026MageText": "Майский зонтик",
|
||||
"weaponSpecialWinter2026WarriorText": "Коса инея",
|
||||
"weaponSpecialWinter2026WarriorNotes": "Коса помогает срезать, собирать и покрывать большие площади — всё это нужно при доработке списка задач. Повышает силу на <%= str %>. Эксклюзивное снаряжение зимы 2025–2026.",
|
||||
"weaponSpecialWinter2026RogueText": "Лыжная палка",
|
||||
"weaponSpecialWinter2026RogueNotes": "Ski poles help you maintain balance, stability, and timing—all things you need to be truly productive. Increases Strength by <%= str %>. Limited Edition Winter 2025-2026 Gear.",
|
||||
"weaponSpecialWinter2026HealerText": "Полярный Посох",
|
||||
"weaponSpecialWinter2026HealerNotes": "Посох помогает в опоре, устойчивости и направлении — всё это помогает по-настоящему покорить список задач. Повышает интеллект на <%= int %>. Эксклюзивное снаряжение зимы 2025–2026.",
|
||||
"weaponSpecialWinter2026MageText": "Посох-канделябр",
|
||||
"weaponSpecialWinter2026MageNotes": "Канделябр помогает, удерживая сразу несколько свечей — последуйте его примеру, когда вам понадобится выполнять несколько дел одновременно. Повышает интеллект на <%= int %> и восприятие на <%= per %>. Эксклюзивное снаряжение зимы 2025–2026."
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"rebirthNew": "Возрождение: доступно новое приключение!",
|
||||
"rebirthUnlock": "Вы раскрыли Возрождение! Особый предмет с Рынка позволит начать игру заново с уровня 1, сохранив при этом свои задания, достижения, питомцев и т.д. Используйте его, чтобы вдохнуть новую жизнь в Habitica, если вам кажется, что вы уже всего достигли, или чтобы испробовать новые возможности со свежим взглядом начинающего персонажа!",
|
||||
"rebirthAchievement": "Вы начали новое приключение! Это ваше возрождение <%= number %> и самый высокий уровень, который вы достигали — <%= level %>. Чтобы увеличить это достижение, начните свое следующее новое приключение после того, как достигните еще более высокого уровня!",
|
||||
"rebirthAchievement100": "Вы начали новое приключение! Это Возрождение <%= number %> для вас, и наивысший Уровень, которого вы достигли равен или больше 100. Чтобы накапливать это Достижение, начните своё следующее новое приключение, когда вы достигнете по крайней мере 100 уровня!",
|
||||
"rebirthAchievement": "Вы использовали Сферу Возрождения <strong><%= number %></strong> раз(а), а ваш наивысший достигнутый уровень — <strong><%= level %></strong>.",
|
||||
"rebirthAchievement100": "Вы начали новое приключение! Это Возрождение <%= number %> для вас, и наивысший Уровень, которого вы достигли равен или больше 100. Чтобы увеличивать это Достижение, начните своё следующее новое приключение, когда вы достигнете по крайней мере 100 уровня!",
|
||||
"rebirthBegan": "Начато новое приключение",
|
||||
"rebirthText": "Начато новых приключений: <%= rebirths %>",
|
||||
"rebirthOrb": "Использован шар возрождения, чтобы начать заново после достижения уровня <%= level %>.",
|
||||
@@ -11,5 +11,12 @@
|
||||
"rebirthPop": "Ваш персонаж переродится в качестве Воина 1 Уровня с сохранением достижений, коллекционных предметов и снаряжения. Ваши задачи и их история останутся, но они будут сброшены до желтого цвета. Ваши серии будут удалены, за исключением задач, относящихся к испытаниям и групповым планам. Ваше золото, опыт, мана и эффекты всех навыков будут удалены. Всё вступит в силу немедленно.",
|
||||
"rebirthName": "Шар возрождения",
|
||||
"rebirthComplete": "Вы переродились!",
|
||||
"nextFreeRebirth": "<strong><%= days %> дн.</strong> until <strong>бесплатного</strong> Шара возрождения"
|
||||
"nextFreeRebirth": "<strong><%= days %> дн.</strong> until <strong>бесплатного</strong> Шара возрождения",
|
||||
"rebirthUnlockedNewItem": "Сфера Возрождения разблокирована",
|
||||
"rebirthUnlockedDesc": "Используйте Сферу Возрождения, чтобы вдохнуть новую жизнь в ваше приключение в Habitica, когда вы почувствуете, что достигли всего! Начните снова с 1-го уровня, сохранив свои задачи, достижения и питомцев, с помощью этого особого предмета, который можно найти на рынке.",
|
||||
"rebirthUnlockedOrb": "Доступно новое приключение!",
|
||||
"rebirthNewAchievement": "Новое достижение",
|
||||
"rebirthNewAdventure": "Новое приключение начинается сейчас!",
|
||||
"rebirthAchievementPlural": "Вы использовали Сферу Возрождения <strong><%= number %></strong> раз(а), а ваш наивысший достигнутый уровень — <strong><%= level %></strong>.",
|
||||
"rebirthStackInfo": "Это достижение будет накапливаться каждый раз, когда вы используете Сферу Возрождения."
|
||||
}
|
||||
|
||||
@@ -939,5 +939,7 @@
|
||||
"backgroundRidingACometText": "Сідлаючи Комету",
|
||||
"backgroundRidingACometNotes": "Подорожуйте космосом, Сідлаючи Комету!",
|
||||
"backgrounds052026": "Набір 144: Випущено в Травні 2026",
|
||||
"backgroundElvenCitadelText": "Ельфійська Цитадель"
|
||||
"backgroundElvenCitadelText": "Ельфійська Цитадель",
|
||||
"backgroundOnAStrangePlanetText": "На Дивній Планеті",
|
||||
"backgroundOnAStrangePlanetNotes": "Відправляйтеся туди, де ще не бував жоден Габітиканець: На Дивну Планету."
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
"unallocated": "Нерозподілені очки характеристик",
|
||||
"autoAllocation": "Автоматичний розподіл",
|
||||
"autoAllocationPop": "Коли ви підвищуєте рівень, розподіляє очки характеристик відповідно до ваших уподобань.",
|
||||
"evenAllocation": "Розподіляти очки характеристик рівномірно",
|
||||
"evenAllocation": "Розподіляти рівномірно",
|
||||
"evenAllocationPop": "Призначає однакову кількість очок для кожної характеристики",
|
||||
"classAllocation": "Розподіляти очки характеристик відповідно до класу",
|
||||
"classAllocationPop": "Призначає більше очок характеристикам, важливим для вашого класу",
|
||||
|
||||
@@ -410,5 +410,6 @@
|
||||
"questEggPlatypusText": "Качкодзьоб",
|
||||
"questEggPlatypusMountText": "Качкодзьоб",
|
||||
"questEggPlatypusAdjective": "перфекціоніст",
|
||||
"hatchingPotionOpal": "Опал"
|
||||
"hatchingPotionOpal": "Опал",
|
||||
"hatchingPotionAlien": "Чужинець"
|
||||
}
|
||||
|
||||
@@ -24,32 +24,32 @@
|
||||
"invalidEmail": "Для скидання пароля потрібна дійсна адреса електронної пошти.",
|
||||
"login": "Увійти",
|
||||
"logout": "Вийти",
|
||||
"marketing1Header": "Удосконалюйте свої звички, граючи в гру",
|
||||
"marketing1Header": "Будуйте кращі звички, рівень за рівнем!",
|
||||
"marketing1Lead1Title": "Гейміфікуйте ваше життя",
|
||||
"marketing1Lead1": "Habitica — це гра, з допомогою якої Ви можете поліпшити свої звички у реальному житті. Вона „гейміфікує“ Ваше життя, перетворюючи всі Ваші завдання (звички, щоденні справи та завдання) на маленьких потвор, яких вам потрібно побороти. Чим ліпше Вам це вдаватиметься, тим більше Ви просуватиметеся грою. Кожна ваша помилка у реальному житті відкидатиме назад Вашого персонажа у грі.",
|
||||
"marketing1Lead2Title": "Отримуйте різноманітне спорядження",
|
||||
"marketing1Lead2": "Удосконалюйте свої звички, щоб розвивати свій аватар. Похваліться спорядженням, яке Ви заробили!",
|
||||
"marketing1Lead3Title": "Знаходьте випадкові призи",
|
||||
"marketing1Lead3": "Декого мотивує саме азарт: система, яка називається «стохастичні винагороди». Habitica вміщує всі стилі підкріплення та покарання: позитивні, негативні, передбачувані та випадкові.",
|
||||
"marketing2Header": "Змагайтеся з друзями",
|
||||
"marketing1Lead1": "Habitica — ідеальний додаток для тих, кому важко даються списки справ. Ми використовуємо звичні ігрові механіки, як-от нагородження Золотом, Досвідом та предметами, щоб допомогти вам почуватися продуктивними та посилити відчуття успіху після виконання завдань. Чим краще ви справляєтеся зі своїми справами, тим більшого прогресу досягаєте в грі.",
|
||||
"marketing1Lead2Title": "Споряджайтеся стильно",
|
||||
"marketing1Lead2": "Збирайте мечі, обладунки та багато іншого за Золото, яке ви заробляєте, виконуючи завдання. Завдяки сотням предметів, які можна колекціонувати та обирати, у вас ніколи не вичерпаються варіанти для комбінування. Обирайте найкраще для характеристик, стилю або всього одразу! ",
|
||||
"marketing1Lead3Title": "Отримуйте нагороди за свої зусилля",
|
||||
"marketing1Lead3": "Наявність чогось, на що можна чекати з нетерпінням, може стати вирішальним фактором між виконанням завдання та ситуацією, коли воно глузує з вас тижнями. Коли життя не пропонує винагороди, Habitica прийде на допомогу! Ви отримуватимете нагороду за кожне завдання, але сюрпризи чекають на кожному кроці — тож не зупиняйте свій прогрес! ",
|
||||
"marketing2Header": "Об’єднуйтеся з друзями",
|
||||
"marketing2Lead1Title": "Соціальна продуктивність",
|
||||
"marketing2Lead1": "Хоча Ви можете грати в Habitica самостійно, найкращих результатів Ви досгнете, коли Ви почнете співпрацювати, змагатися та ділити відповідальність один з одним. Найефективнішою частиною будь-якої програми самовдосконалення є соціальна відповідальність, а що краще середовище для відповідальності та конкуренції, ніж ігри?",
|
||||
"marketing2Lead2Title": "Бийтесь з монстрами",
|
||||
"marketing2Lead2": "Яка рольова гра без битв? Боріться з монстрами разом зі своєю командою. Монстри — це «режим супервідповідальності» — день, коли Ви пропустите спортзал, — це день, коли монстр завдає удару *всім!*",
|
||||
"marketing2Lead1": "Отримайте потужний заряд мотивації завдяки співпраці, змаганню та взаємодії з іншими! Habitica створена, щоб використовувати найефективнішу складову будь-якої програми самовдосконалення: соціальну відповідальність.",
|
||||
"marketing2Lead2Title": "Бийтеся з потворами у Пригодах",
|
||||
"marketing2Lead2": "Візьміть участь в одному з наших сотень квестів разом із командою друзів, щоб вступити в бій. Квестові монстри вичавлять максимум із вашої відповідальності. Забули почистити зуби ниткою? Шкоди зазнають усі!",
|
||||
"marketing2Lead3Title": "Випробовуйте одне одного",
|
||||
"marketing2Lead3": "Випробування дозволяють змагатися з друзями та незнайомими людьми. Той, хто покаже себе найкраще в кінці випробування, отримує спеціальні призи.",
|
||||
"marketing3Header": "Додатки та розширення",
|
||||
"marketing3Lead1": "Програми для **iPhone та Android** дозволяють вам займатися справами в дорозі. Ми розуміємо, що вхід на веб-сайт не завжди може бути зручним.",
|
||||
"marketing3Lead2Title": "Інтеграції",
|
||||
"marketing3Lead2": "Інші **інструменти сторонніх розробників** пов’язують Habitica з різними аспектами Вашого життя. Наш API забезпечує легку інтеграцію для таких речей, як [розширення Chrome](https://chrome.google.com/webstore/detail/habitica/pidkmpibnnnhneohdgjclfdjpijggmjj?hl=en-US), за яке Ви втрачаєте бали під час перегляду непродуктивних веб-сайтів, і отримуєте очки, коли на знаходитесь на продуктивних. [Дивіться більше тут](https://habitica.fandom.com/wiki/Extensions,_Add-Ons,_and_Customizations).",
|
||||
"marketing4Header": "Використання організаціями",
|
||||
"marketing4Lead1": "Освіта є одним із найкращих секторів для гейміфікації. Ми всі знаємо, наскільки учні сьогодні прикуті до телефонів та ігор; скористайтесь цим! Зіштовхніть своїх учнів один проти одного в дружньому змаганні. Нагороджуйте хорошу поведінку рідкісними призами. Слідкуйте за їхніми оцінками та поведінкою.",
|
||||
"marketing2Lead3": "Приєднуйтеся до випробувань, створених нашою спільнотою, щоб отримати підібрані списки завдань, що відповідають вашим інтересам та цілям. Викладіться на повну, щоб поборотися за приз у вигляді Самоцвітів, який отримує переможець!",
|
||||
"marketing3Header": "Більше шляхів користування Habitica",
|
||||
"marketing3Lead1": "Ви можете встановити Habitica на свій Android або iOS пристрій, щоб відмічати завдання будь-де. Спробуйте наші відзначені нагородами додатки — це свіжий погляд на те, як успішно доводити справи до кінця.",
|
||||
"marketing3Lead2Title": "Відкрита спільнота (Open-Source)",
|
||||
"marketing3Lead2": "Ми пишаємося тим, що є проєктом із відкритим вихідним кодом, який радо вітає внески нашої відданої спільноти. Налаштовуйте Habitica під власні потреби або допомагайте вдосконалювати ігровий досвід для всіх гравців світу. Відвідайте нас на [GitHub](https://github.com/HabitRPG/habitica/wiki/Contributing-to-Habitica), щоб дізнатися більше!",
|
||||
"marketing4Header": "Не лише прибирання та побут",
|
||||
"marketing4Lead1": "Освіта — одна з найкращих сфер для застосування гейміфікації! Позбавтеся монотонності щоденної класної роботи, додавши до неї дещо від гри. Habitica може стати цікавим способом відстежувати домашні завдання, створювати класні випробування та давати учням можливість похизуватися своїми досягненнями.",
|
||||
"marketing4Lead1Title": "Впровадження ігор в освіту",
|
||||
"marketing4Lead2": "Витрати на охорону здоров’я зростають, і треба щось робити. Сотні програм розроблено для зменшення витрат на медицину і покращення самопочуття. Ми віримо, що Habitica може допомогти на шляху до здорового способу життя.",
|
||||
"marketing4Lead2Title": "Гейміфікація в охороні здоров'я",
|
||||
"marketing4Lead3-1": "Хочеш перетворити своє життя у гру?",
|
||||
"marketing4Lead2": "Побудова здоровішого способу життя може легко перетворитися на справжнє випробування. Habitica допомагає відстежувати всі аспекти ваших фітнес-цілей завдяки гнучкому плануванню та інтенсивності, що підлаштовуються під ваші можливості. Тож отримуйте задоволення, прокладаючи свій шлях до зміцнення здоров'я!",
|
||||
"marketing4Lead2Title": "Гейміфікація у сфері здоров'я та добробуту",
|
||||
"marketing4Lead3-1": "Готові отримувати задоволення від виконання справ?",
|
||||
"marketing4Lead3-2": "Хочете вести групу з освіти, оздоровлення тощо?",
|
||||
"marketing4Lead3Title": "Перетвори у гру будь-що",
|
||||
"marketing4Lead3Title": "Почніть свою подорож!",
|
||||
"mobileAndroid": "Android-застосунок",
|
||||
"mobileIOS": "iOS-застосунок",
|
||||
"oldNews": "Новини",
|
||||
@@ -86,7 +86,7 @@
|
||||
"sync": "Синхронізуватися",
|
||||
"tasks": "Завдання",
|
||||
"teams": "Команди",
|
||||
"terms": "Умови користування",
|
||||
"terms": "Умови надання послуг",
|
||||
"tumblr": "Tumblr",
|
||||
"localStorageTryFirst": "Якщо у вас виникли проблеми з Habitica, натисніть кнопку нижче, щоб очистити локальне сховище та більшість файлів cookie для цього веб-сайту (на інші веб-сайти це не вплине). Після цього вам потрібно буде ввійти знову, тому спочатку переконайтеся, що ви знаєте свої дані для входу, які можна знайти в Налаштуваннях -> <%= linkStart %>Сайт<%= linkEnd %>.",
|
||||
"localStorageTryNext": "Якщо проблема далі відторюється, будь ласка, <%= linkStart %>повідомте про неї<%= linkEnd %> , якщо ви цього ще не робили.",
|
||||
@@ -122,9 +122,9 @@
|
||||
"passwordConfirmationMatch": "Пароль та підтвердження паролю не співпадають.",
|
||||
"passwordResetPage": "Скинути пароль",
|
||||
"passwordReset": "Якщо у нас є ваша електронна адреса або нікнейм користувача, інструкції щодо встановлення нового пароля були надіслані на вашу електронну пошту.",
|
||||
"invalidLoginCredentialsLong": "Ой-йой - ваша електронна адреса / нікнейм або пароль - неправильні.\n- Переконайтеся, що вони введені правильно. Ваше нікнейм користувача та пароль чутливі до регістру.\n- Можливо, ви зареєструвалися за допомогою Facebook або Google, а не за електронною адресою, тому перевірте ще раз, спробувавши їх.\n- Якщо ви забули пароль, натисніть «Забули пароль?».",
|
||||
"invalidLoginCredentialsLong": "Ваша електронна адреса, ім'я користувача або пароль неправильні. Будь ласка, спробуйте ще раз або скористайтеся «Забули пароль.»",
|
||||
"invalidCredentials": "Немає облікового запису, який використовує ці облікові дані.",
|
||||
"accountSuspended": "Цей обліковий запис, з ID: \"<%= userId %>\", заблоковано через порушення Правил спільноти (https://habitica.com/static/community-guidelines) або Умов використання (https://habitica.com/static/terms). Щоб дізнатися більше або попросити про розблокування, надішліть електронного листа нашому менеджеру спільноти за адресою <%= communityManagerEmail %> або попросіть своїх батьків чи опікунів надіслати їм електронний лист. Вкажіть свій @нікнейм користувача в листі.",
|
||||
"accountSuspended": "Ваш акаунт @<%= username %> було заблоковано. Для отримання додаткової інформації або подання апеляції надішліть листа на адресу admin@habitica.com, вказавши свій псевдонім (Habitica username) або ID користувача (User ID).",
|
||||
"accountSuspendedTitle": "Обліковий запис заблоковано",
|
||||
"unsupportedNetwork": "Ця мережа наразі не підтримується.",
|
||||
"cantDetachSocial": "В обліковому записі відсутній інший метод автентифікації; не вдається від'єднати цей метод автентифікації.",
|
||||
@@ -132,12 +132,12 @@
|
||||
"invalidReqParams": "Недійсні параметри запиту.",
|
||||
"memberIdRequired": "\"member\" мусить бути дійсним UUID.",
|
||||
"heroIdRequired": "\"heroId\" мусить бути дійсним UUID.",
|
||||
"cannotFulfillReq": "Ваш запит не може бути виконано. Напишіть на admin@habitica.com - якщо помилка повторюється.",
|
||||
"cannotFulfillReq": "Ця електронна адреса вже використовується. Ви можете спробувати увійти в акаунт або скористатися іншою поштою для реєстрації. Якщо вам потрібна допомога, зверніться за адресою admin@habitica.com.",
|
||||
"modelNotFound": "Цієї моделі не існує.",
|
||||
"signUpWithSocial": "Зареєструватись через <%= social %>",
|
||||
"signUpWithSocial": "Продовжити з <%= social %>",
|
||||
"loginWithSocial": "Увійти через <%= social %>",
|
||||
"confirmPassword": "Підтвердіть пароль",
|
||||
"usernameLimitations": "Нікнейм користувача має бути від 1 до 20 символів, містити лише літери від a до z, цифри від 0 до 9, дефіси або підкреслення, і не повинен містити жодних заборонених слів.",
|
||||
"usernameLimitations": "Псевдоніми (Usernames) можна змінити будь-коли. Вони мають містити від 1 до 20 символів і складатися лише з латинських літер (a–z), цифр (0–9), дефісів або нижніх підкреслень.",
|
||||
"usernamePlaceholder": "наприклад, HabitRabbit",
|
||||
"emailPlaceholder": "типу, gryphon@example.com",
|
||||
"passwordPlaceholder": "типу, ******************",
|
||||
@@ -181,5 +181,13 @@
|
||||
"translateHabitica": "Переклад Habitica",
|
||||
"incorrectResetPhrase": "Будь ласка, введіть <%= magicWord %> великими літерами, щоб скинути свій акаунт.",
|
||||
"marketing3Lead1Title": "Додатки для Android та iOS",
|
||||
"marketing4Lead3Button": "Почніть вже сьогодні"
|
||||
"marketing4Lead3Button": "Почніть вже сьогодні",
|
||||
"emailRequiredForSupport": "Нам потрібна електронна адреса для підтримки користувачів. Будь ласка, введіть адресу електронної пошти, щоб продовжити створення облікового запису.",
|
||||
"emailAddress": "Адреса електронної пошти",
|
||||
"missingClientHeader": "Відсутні заголовки x-client.",
|
||||
"emailBlockedRegistration": "Реєстрація з цієї електронної пошти заблокована. Якщо ви вважаєте, що це помилка, будь ласка, зв'яжіться з нами за адресою admin@habitica.com.",
|
||||
"minPasswordLengthLogin": "Ваш пароль має щонайменше 8 символів.",
|
||||
"enterValidEmail": "Введіть дійсну електронну адресу.",
|
||||
"whatToCallYou": "Як звертатися до вас?",
|
||||
"acceptPrivacyTOS": "Ви підтверджуєте, що вам виповнилося принаймні 18 років, а також що ви ознайомилися та погоджуєтеся з нашими <a href='/static/terms' target='_blank'>Умовами надання послуг</a> та <a href='/static/privacy' target='_blank'>Політикою конфіденційності</a>"
|
||||
}
|
||||
|
||||
@@ -262,29 +262,33 @@
|
||||
"summer2024NudibranchRogueSet": "Набір Голозябровий Молюск (Розбійник)",
|
||||
"summer2024SeaSnailHealerSet": "Набір Морський Равлик(Цілитель)",
|
||||
"summer2024SeaAnemoneMageSet": "Набір Морська Анемона(Маг)",
|
||||
"fall2025SasquatchWarriorSet": "Набір Воїна Снігова Людина",
|
||||
"winter2025MooseWarriorSet": "Набір Лосиний Воїн",
|
||||
"winter2025AuroraMageSet": "Набір Мага Аврора",
|
||||
"winter2025StringLightsHealerSet": "Набір Цілителя Вогні Гірлянди",
|
||||
"winter2025SnowRogueSet": "Набір Сніжний Розбійник",
|
||||
"spring2025SunshineWarriorSet": "Набір Воїна Сонячного Сяйва",
|
||||
"spring2025CrystalPointRogueSet": "Набір Кришталевий Розбійник",
|
||||
"spring2025PlumeriaHealerSet": "Набір Цілителя Плюмерія",
|
||||
"spring2025MantisMageSet": "Набір Мага Богомол",
|
||||
"fall2025SasquatchWarriorSet": "Комплект Сасквача (Воїн)",
|
||||
"winter2025MooseWarriorSet": "Комплект Лося (Воїн)",
|
||||
"winter2025AuroraMageSet": "Комплект Аврора (Маг)",
|
||||
"winter2025StringLightsHealerSet": "Комплект Вогні Гірлянди (Цілитель)",
|
||||
"winter2025SnowRogueSet": "Комплект Сніговий (Розбійник)",
|
||||
"spring2025SunshineWarriorSet": "Комплект Сонячного Сяйва (Воїн)",
|
||||
"spring2025CrystalPointRogueSet": "Комплект Кришталевого вістря (Розбійник)",
|
||||
"spring2025PlumeriaHealerSet": "Комплект Плюмерії (Цілитель)",
|
||||
"spring2025MantisMageSet": "Комплект Богомола (Маг)",
|
||||
"fall2024SpaceInvaderHealerSet": "Набір Космічний Загарбник (Цілитель)",
|
||||
"fall2024BlackCatRogueSet": "Набір Чорний Кіт (Розбійник)",
|
||||
"fall2024UnderworldSorcerorMageSet": "Набір Підземний Чаклун (Маг)",
|
||||
"fall2024FieryImpWarriorSet": "Набір Вогняний Біс(Воїн)",
|
||||
"summer2025ScallopWarriorSet": "Набір Воїна Морський Гребінець",
|
||||
"summer2025SquidRogueSet": "Набір Розбійника Кальмар",
|
||||
"summer2025SeaAngelHealerSet": "Набір Цілителя Морський Ангел",
|
||||
"summer2025FairyWrasseMageSet": "Набір Мага Казкова Врассея",
|
||||
"fall2025SkeletonRogueSet": "Набір Розбійника Скелет",
|
||||
"fall2025KoboldHealerSet": "Набір Цілителя Кобольд",
|
||||
"fall2025MaskedGhostMageSet": "Набір Мага Замаскований Привид",
|
||||
"summer2025ScallopWarriorSet": "Комплект Гребінця (Воїн)",
|
||||
"summer2025SquidRogueSet": "Комплект Кальмара (Розбійник)",
|
||||
"summer2025SeaAngelHealerSet": "Комплект Морського Ангела (Цілитель)",
|
||||
"summer2025FairyWrasseMageSet": "Комплект Губаня-феї (Маг)",
|
||||
"fall2025SkeletonRogueSet": "Комплект Скелета (Розбійник)",
|
||||
"fall2025KoboldHealerSet": "Комплект Кобольда (Цілитель)",
|
||||
"fall2025MaskedGhostMageSet": "Комплект Замаскованого привида (Маг)",
|
||||
"gemSaleLimitationsText": "Ця акція діє лише протягом обмеженого періоду часу. Ця подія розпочнеться <%= eventStartMonth %> <%= eventStartOrdinal %> о <%= eventStartTime %> <%= timeZone %> і закінчиться <%= eventEndMonth %> <%= eventEndOrdinal %> о <%= eventEndTime %> <%= timeZone %>. Акційна пропозиція діє лише при покупці Самоцвітів для себе.",
|
||||
"winter2026RimeReaperWarriorSet": "Комплект Воїна-Женця Паморозі",
|
||||
"winter2026SkiRogueSet": "Спорядження Лижного Розбійника",
|
||||
"winter2026PolarBearHealerSet": "Набір Білого Ведмедя цілителя",
|
||||
"winter2026MidwinterCandleMageSet": "Набір Мага Зимового сонцестояння"
|
||||
"winter2026RimeReaperWarriorSet": "Комплект Женця Інею (Воїн)",
|
||||
"winter2026SkiRogueSet": "Комплект Лижника (Розбійник)",
|
||||
"winter2026PolarBearHealerSet": "Комплект Білого ведмедя (Цілитель)",
|
||||
"winter2026MidwinterCandleMageSet": "Комплект Свічки Зимового сонцестояння (Маг)",
|
||||
"spring2026FrogWarriorSet": "Комплект Жаби (Воїн)",
|
||||
"spring2026BranchRogueSet": "Комплект Весняної гілки (Розбійник)",
|
||||
"spring2026SnowdropHealerSet": "Комплект Підсніжника (Цілитель)",
|
||||
"spring2026MaypoleMageSet": "Комплект Травневого дерева (Маг)"
|
||||
}
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
"mysterySet301703": "Набір стимпанк-павича",
|
||||
"mysterySet301704": "Набір стимпанк-фазана",
|
||||
"mysterySetwondercon": "Вандер-кон",
|
||||
"subUpdateCard": "Оновити картку",
|
||||
"subUpdateCard": "Редагувати Кредитну Карту",
|
||||
"subUpdateTitle": "Оновити",
|
||||
"notEnoughHourglasses": "Вам не вистачає містичних пісочних годинників.",
|
||||
"petsAlreadyOwned": "У вас вже є цей улюбленець.",
|
||||
@@ -120,11 +120,11 @@
|
||||
"gemBenefit2": "Фони, щоб занурити свій аватар у світ Habitica!",
|
||||
"gemBenefit3": "Захоплюючі серії квестів, які містять яйця домашніх тварин.",
|
||||
"gemBenefit4": "Скиньте очки характеристик вашого аватара та змініть його клас.",
|
||||
"subscriptionBenefit1": "Торговець Алекс тепер продаватиме вам самоцвіти на ринку по 20 золота за кожен!",
|
||||
"subscriptionBenefit3": "Відкрийте для себе ще більше предметів у Habitica за допомогою збільшеного у 2 рази шансу їх випадіння.",
|
||||
"subscriptionBenefit4": "Унікальне спорядження, яким ви щомісяця прикрашаєте свій аватар.",
|
||||
"subscriptionBenefit5": "Отримайте Королівського фіолетового Кроленя, коли станете підписником.",
|
||||
"subscriptionBenefit6": "Заробляйте «Містичні пісочні годинники», щоб купувати речі в магазині «Машина часу»!",
|
||||
"subscriptionBenefit1": "Отримай до 50 Самоцвітів за Золото на Ринку — купуй Квести, Обладунки, Вихованців та багато іншого!",
|
||||
"subscriptionBenefit3": "Знаходь удвічі більше Яєць, Інкубаційних Еліксирів та Їжі щодня, щоб твоя колекція Улюбленеців росла швидше!",
|
||||
"subscriptionBenefit4": "Будь у тренді в найновішому ексклюзивному спорядженні. Підпишись зараз, щоб отримати <%= currentMysterySetName %> за <%= month %>!",
|
||||
"subscriptionBenefit5": "Отримай ексклюзивного Королівського Пурпурового Кроленя, підписавшись сьогодні!",
|
||||
"subscriptionBenefit6": "Не проґав жодної речі! Отримуй 1 Містичний пісочний Годинник щомісяця для Крамниці Мандрівників у часі!",
|
||||
"purchaseAll": "Придбати всі за",
|
||||
"gemsRemaining": "залишок",
|
||||
"notEnoughGemsToBuy": "У цьому місяці більше немає доступних самоцвітів. Більше буде доступно протягом перших 3 днів кожного місяця.",
|
||||
@@ -148,7 +148,7 @@
|
||||
"mysterySet201906": "Прохання Koi Set",
|
||||
"mysterySet201905": "Сліпучий набір дракона",
|
||||
"mysterySet201902": "Набір загадкових розчавлень",
|
||||
"cancelYourSubscription": "Скасувати Вашу підписку?",
|
||||
"cancelYourSubscription": "Хочете скасувати підписку?",
|
||||
"subCanceledTitle": "Підписка скасована",
|
||||
"subscriptionCanceled": "Ваша підписка скасована",
|
||||
"lookingForMoreItems": "Хочете більше трофеїв?",
|
||||
@@ -185,8 +185,8 @@
|
||||
"mysterySet202203": "Набір безстрашної бабки",
|
||||
"mysterySet202209": "Набір чарівника-ученого",
|
||||
"usuallyGems": "Зазвичай <%= originalGems %>",
|
||||
"subscribersReceiveBenefits": "Підписники отримують ці корисні переваги!",
|
||||
"monthlyMysteryItems": "Щомісячні таємничі предмети",
|
||||
"subscribersReceiveBenefits": "Підтримуй мотивацію завдяки ще більшій кількості нагород за підписку",
|
||||
"monthlyMysteryItems": "Лімітовані щомісячні комплекти спорядження",
|
||||
"youAreSubscribed": "Ви підписані на Habitica",
|
||||
"dropCapLearnMore": "Дізнайтеся більше про систему трофеїв в Habitica",
|
||||
"sendAGift": "Надіслати подарунок",
|
||||
@@ -242,5 +242,40 @@
|
||||
"selectPayment": "Оберіть метод оплати",
|
||||
"subscribe": "Підписатися",
|
||||
"unlockNGemsGift": "Вони відкриють <strong><%= count %> Самоцвітів</strong> на ринку щомісяця",
|
||||
"immediate12Hourglasses": "Отримай <strong>12 Містичний пісочних годинників</strong> щойно минуть перші 12 місяців підписки!"
|
||||
"immediate12Hourglasses": "Отримай <strong>12 Містичний пісочних годинників</strong> щойно минуть перші 12 місяців підписки!",
|
||||
"mysterySet202508": "Комплект «Сяючий Клинок»",
|
||||
"mysterySet202410": "Комплект «Лисичка-Кенді-Корн»",
|
||||
"mysterySet202409": "Комплект «Геліотроповий Маг»",
|
||||
"mysterySet202509": "Комплект «Обвіяний вітром мандрівник»",
|
||||
"mysterySet202510": "Комплект «Ковзаючий Гуль»",
|
||||
"mysterySet202511": "Комплект «Морозний воїтель»",
|
||||
"subscriptionBillingFYI": "Підписки поновлюються автоматично, якщо ви не скасуєте їх принаймні за 24 години до закінчення поточного періоду. Ви можете керувати своєю підпискою у вкладці «Підписка» в налаштуваннях. Оплата буде списана з вашого рахунку протягом 24 годин до дати поновлення за тією ж ціною, яку ви сплатили спочатку.",
|
||||
"subscriptionBillingFYIShort": "Підписка поновлюється автоматично, якщо ви не скасуєте її щонайменше за 24 години до закінчення поточного періоду. Сума буде списана з вашого рахунку протягом 24 годин після дати поновлення за тією ж ціною, яку ви сплатили спочатку.",
|
||||
"mysterySet202408": "Комплект «Арканна Егіда»",
|
||||
"mysterySet202504": "Комплект «Невловний Єті»",
|
||||
"mysterySet202412": "Комплект «Карамельний Пухнастик»",
|
||||
"subscribeTo": "Підписатися на",
|
||||
"mysterySet202503": "Комплект «Нефритовий Джаґернаут»",
|
||||
"maxGemCapGift": "Вони матимуть максимальний <strong>Ліміт Самоцвітів</strong>",
|
||||
"mysterySet202501": "Комплект \"Льодоплет\"",
|
||||
"monthlyMysticHourglass": "Щомісячні Містичні пісочні Годинники",
|
||||
"recurringNMonthly": "Кожні <%= length %> місяців",
|
||||
"unlockNGems": "Розблокуй можливість купувати <strong><%= count %> Самоцвітів</strong> щомісяця на Ринку",
|
||||
"mysterySet202502": "Комплект «Щирий Арлекін»",
|
||||
"resubscribeToPickUp": "Підпишіться знову, щоб продовжити з того місця, де ви зупинилися!",
|
||||
"monthlyGemsLabel": "Щомісячні Самоцвіти",
|
||||
"recurringMonthly": "Повторюється щомісяця",
|
||||
"earn2Gems": "Заробляй <strong>+2 Самоцвіти</strong> за кожен місяць підписки",
|
||||
"maxGemCap": "Миттєво отримуй максимальний <strong>Ліміт на Самоцвіти</strong>",
|
||||
"mysterySet202411": "Комплект «Наїжений розбишака»",
|
||||
"mysterySet202506": "Комплект «Сонячне сяйво»",
|
||||
"mysterySet202505": "Комплект «Піднесений Махаон»",
|
||||
"mysterySet202507": "Комплект «Завзятий скейтер»",
|
||||
"subscriptionChangeAnnouncement": "<strong>«Переваги підписки та спосіб їх надання зміняться 19 листопада. </strong> <%= linkStart %>Натисніть тут</a>, щоб дізнатися більше про ці зміни.",
|
||||
"mysterySet202603": "Комплект «Чарівник Гліцинії»",
|
||||
"mysterySet202604": "Комплект «Зухвалий астронавт»",
|
||||
"mysterySet202605": "Комплект «Сутінковий німб»",
|
||||
"mysterySet202512": "Комплект «Печивнийчемпіон»",
|
||||
"mysterySet202601": "Комплект «Егіда Зими»",
|
||||
"mysterySet202602": "Комплект «Сакурова Лисиця»"
|
||||
}
|
||||
|
||||
@@ -939,5 +939,7 @@
|
||||
"backgroundElvenCitadelText": "精灵要塞",
|
||||
"backgroundElvenCitadelNotes": "踏上前往精灵要塞的观景之旅。",
|
||||
"backgroundRidingACometText": "彗星骑手",
|
||||
"backgroundRidingACometNotes": "乘骑彗星,穿梭于浩瀚宇宙!"
|
||||
"backgroundRidingACometNotes": "乘骑彗星,穿梭于浩瀚宇宙!",
|
||||
"backgroundOnAStrangePlanetText": "异星之上",
|
||||
"backgroundOnAStrangePlanetNotes": "探索那尚未有 Habitican居民涉足之地:异星之上。"
|
||||
}
|
||||
|
||||
@@ -410,5 +410,6 @@
|
||||
"questEggPlatypusMountText": "鸭嘴兽",
|
||||
"questEggPlatypusAdjective": "完美主义者",
|
||||
"hatchingPotionOpal": "欧泊",
|
||||
"questEggAlpacaAdjective": "超载的"
|
||||
"questEggAlpacaAdjective": "超载的",
|
||||
"hatchingPotionAlien": "外星人"
|
||||
}
|
||||
|
||||
@@ -189,7 +189,7 @@
|
||||
"questTRexUndeadBoss": "骸骨霸王龙",
|
||||
"questTRexUndeadRageTitle": "骸骨治愈",
|
||||
"questTRexUndeadRageDescription": "你未完成的日常任务将增加此怒气值,当此条蓄满时,骸骨霸王龙会恢复剩余生命值的30%!",
|
||||
"questTRexUndeadRageEffect": "`骸骨霸王龙使用了骸骨治愈!`\n\n怪物发出了一声怪异的咆哮,一些受损的骨头又重新连接在了一起!",
|
||||
"questTRexUndeadRageEffect": "骸骨霸王龙使用了骸骨治愈!\n\n怪物发出了一声怪异的咆哮,一些受损的骨头又重新连接在了一起!",
|
||||
"questTRexDropTRexEgg": "霸王龙(宠物蛋)",
|
||||
"questTRexUnlockText": "已解锁霸王龙蛋,可在市场购买",
|
||||
"questRockText": "逃离山洞生物",
|
||||
@@ -241,7 +241,7 @@
|
||||
"questDilatoryDistress2Boss": "水骷髅群",
|
||||
"questDilatoryDistress2RageTitle": "骨群重生",
|
||||
"questDilatoryDistress2RageDescription": "骨群重生:你未完成的日常任务将增加此怒气值,当此条蓄满时,水骷髅群会恢复剩余生命值的30%!",
|
||||
"questDilatoryDistress2RageEffect": "`水骷髅群使用了骨群重生!`\n\n更多的骷髅在胜利的鼓舞下从裂隙中涌出,壮大了骷髅群!",
|
||||
"questDilatoryDistress2RageEffect": "水骷髅群使用了骨群重生!\n\n更多的骷髅在胜利的鼓舞下从裂隙中涌出,壮大了骷髅群!",
|
||||
"questDilatoryDistress2DropSkeletonPotion": "骸骨孵化药水",
|
||||
"questDilatoryDistress2DropCottonCandyBluePotion": "蓝色棉花糖孵化药水",
|
||||
"questDilatoryDistress2DropHeadgear": "火珊瑚饰环(头盔)",
|
||||
@@ -343,7 +343,7 @@
|
||||
"questAxolotlUnlockText": "已解锁蝾螈蛋,可在市场购买",
|
||||
"questAxolotlRageTitle": "蝾螈再生",
|
||||
"questAxolotlRageDescription": "你未完成的日常任务将增加此怒气值,当此条蓄满时,魔法蝾螈会恢复剩余生命值的30%!",
|
||||
"questAxolotlRageEffect": "`魔法蝾螈使用了蝾螈再生!`\n\n`五颜六色的气泡将怪物遮挡住了片刻,当气泡散去时,它身上的一些伤口已经消失了!`",
|
||||
"questAxolotlRageEffect": "魔法蝾螈使用了蝾螈再生!\n\n`五颜六色的气泡将怪物遮挡住了片刻,当气泡散去时,它身上的一些伤口已经消失了!`",
|
||||
"questTurtleText": "引导海龟",
|
||||
"questTurtleNotes": "救命!这只巨大的海龟找不到去筑巢海滩的路了。她每年都回到未完成海湾产卵,但是今年那里充满了由红色日常任务和未完成的待办事项组成的有毒的任务漂浮垃圾。“她在惊慌地胡乱扑腾!”@JessicaChase说。<br><br>@UncommonCriminal点了点头:“这是因为她的方向感被迷惑和混乱了。”<br><br>@Scarabsi抓住了你的手臂:“你能帮忙清理挡住她去路的任务漂浮垃圾吗?这可能很危险,但我们必须帮助她!”",
|
||||
"questTurtleCompletion": "你的勇敢劳作为我们的海龟清理了水域,使她找到了自己的海滩。你、@Bambin和@JaizakAripaik看着她将一窝蛋深埋在沙子里,这样它们就能够发育并孵化成数百只小海龟。之后她非常淑女地给了你们每人三枚蛋,要求你们喂食并养育它们,让它们自己有一天也能变成大海龟。",
|
||||
@@ -375,7 +375,7 @@
|
||||
"questTaskwoodsTerror1Boss": "火骷髅群",
|
||||
"questTaskwoodsTerror1RageTitle": "骨群重生",
|
||||
"questTaskwoodsTerror1RageDescription": "骨群重生:你未完成的日常任务将增加此怒气值,当此条蓄满时,火骷髅群会恢复剩余生命值的30%!",
|
||||
"questTaskwoodsTerror1RageEffect": "`火骷髅群使用了骨群重生!`\n\n更多的骷髅在胜利的鼓舞下于火焰中围绕你旋转!",
|
||||
"questTaskwoodsTerror1RageEffect": "火骷髅群使用了骨群重生!\n\n更多的骷髅在胜利的鼓舞下于火焰中围绕你旋转!",
|
||||
"questTaskwoodsTerror1DropSkeletonPotion": "骸骨孵化药水",
|
||||
"questTaskwoodsTerror1DropRedPotion": "红色孵化药水",
|
||||
"questTaskwoodsTerror1DropHeadgear": "烈焰术士头巾(头盔)",
|
||||
@@ -437,7 +437,7 @@
|
||||
"questStoikalmCalamity1Boss": "土骷髅群",
|
||||
"questStoikalmCalamity1RageTitle": "骨群重生",
|
||||
"questStoikalmCalamity1RageDescription": "骨群重生:你未完成的日常任务将增加此怒气值,当此条蓄满时,土骷髅群会恢复剩余生命值的30%!",
|
||||
"questStoikalmCalamity1RageEffect": "`土骷髅群使用了骨群重生!`\n\n更多的骸骨从地底挣脱出来,他们的牙齿在寒冷中颤动!",
|
||||
"questStoikalmCalamity1RageEffect": "土骷髅群使用了骨群重生!\n\n更多的骸骨从地底挣脱出来,他们的牙齿在寒冷中颤动!",
|
||||
"questStoikalmCalamity1DropSkeletonPotion": "骸骨孵化药水",
|
||||
"questStoikalmCalamity1DropDesertPotion": "沙漠孵化药水",
|
||||
"questStoikalmCalamity1DropArmor": "猛犸骑士甲",
|
||||
@@ -478,7 +478,7 @@
|
||||
"questMayhemMistiflying1Boss": "气骷髅群",
|
||||
"questMayhemMistiflying1RageTitle": "骨群重生",
|
||||
"questMayhemMistiflying1RageDescription": "骨群重生:你未完成的日常任务将增加此怒气值,当此条蓄满时,气骷髅群会恢复剩余生命值的30%!",
|
||||
"questMayhemMistiflying1RageEffect": "`气骷髅群使用了骨群重生!`\n\n受到胜利的激励,更多的骷髅回旋于天空!",
|
||||
"questMayhemMistiflying1RageEffect": "气骷髅群使用了骨群重生!\n\n受到胜利的激励,更多的骷髅回旋于天空!",
|
||||
"questMayhemMistiflying1DropSkeletonPotion": "骸骨孵化药水",
|
||||
"questMayhemMistiflying1DropWhitePotion": "白色孵化药水",
|
||||
"questMayhemMistiflying1DropArmor": "俏皮彩虹信使长袍(护甲)",
|
||||
@@ -535,7 +535,7 @@
|
||||
"questLostMasterclasser3Boss": "虚空骷髅群",
|
||||
"questLostMasterclasser3RageTitle": "骨群重生",
|
||||
"questLostMasterclasser3RageDescription": "骨群重生:你未完成的日常任务将增加此怒气值,当此条蓄满时,虚空骷髅群会恢复剩余生命值的30%!",
|
||||
"questLostMasterclasser3RageEffect": "`虚空骷髅群使用了骨群重生!`\n\n感受到胜利的希望,更多骷髅尖叫着从天而降,加入了战斗的洪流!",
|
||||
"questLostMasterclasser3RageEffect": "虚空骷髅群使用了骨群重生!\n\n感受到胜利的希望,更多骷髅尖叫着从天而降,加入了战斗的洪流!",
|
||||
"questLostMasterclasser3DropBodyAccessory": "以太护符(身体饰品)",
|
||||
"questLostMasterclasser3DropBasePotion": "普通孵化药水",
|
||||
"questLostMasterclasser3DropGoldenPotion": "金色孵化药水",
|
||||
@@ -548,7 +548,7 @@
|
||||
"questLostMasterclasser4Boss": "Anti'zinnya",
|
||||
"questLostMasterclasser4RageTitle": "虚空抽取",
|
||||
"questLostMasterclasser4RageDescription": "虚空抽取:你未完成的日常任务将增加此怒气值,当此条蓄满时,Anti'zinnya将会抽空全队的魔法值!",
|
||||
"questLostMasterclasser4RageEffect": "`Anti'zinnya使用了 虚 空 抽 取!`在一阵澎湃灵泉的反向咒术中,你感到魔法被无尽的黑暗抽干了!",
|
||||
"questLostMasterclasser4RageEffect": "Anti'zinnya使用了 虚 空 抽 取!在一阵澎湃灵泉的反向咒术中,你感到魔法被无尽的黑暗抽干了!",
|
||||
"questLostMasterclasser4DropBackAccessory": "以太斗篷(背部饰品)",
|
||||
"questLostMasterclasser4DropWeapon": "以太水晶(双手武器)",
|
||||
"questLostMasterclasser4DropMount": "隐形以太坐骑",
|
||||
@@ -686,7 +686,7 @@
|
||||
"questRubyText": "红宝石的关系",
|
||||
"questWaffleUnlockText": "已解锁甜品孵化药水,可在市场购买",
|
||||
"questWaffleDropDessertPotion": "甜品孵化药水",
|
||||
"questWaffleRageEffect": "`可怕的华夫饼使用了枫树泥潭!` 粘稠的糖浆可减缓你的摆动和咒语!队伍积累的待定伤害减少。",
|
||||
"questWaffleRageEffect": "可怕的华夫饼使用了枫树泥潭!粘稠的糖浆可减缓你的摆动和咒语!队伍积累的待定伤害减少。",
|
||||
"questWaffleRageDescription": "枫树泥潭:你未完成的日常任务将增加此怒气值,当此条蓄满时,可怕的华夫饼会减少队伍积累的待定伤害!",
|
||||
"questWaffleRageTitle": "枫树泥潭",
|
||||
"questWaffleBoss": "可怕的华夫饼",
|
||||
@@ -753,13 +753,13 @@
|
||||
"questVirtualPetCompletion": "你们小心翼翼地这里点点那里按按,一番操作下来,似乎满足了电子宠物难懂的需求。这下它可算是安静下来了,你可以看到它满屏幕都写着满足的神情。<br><br>突然,在一阵飘落的彩纸中,愚人提着满满一篮子奇怪的药水出现了,篮子里的药水正柔和地哔哔作响。<br><br>“你可来的真是时候啊,愚人,”@Beffymaroo苦笑着说,“我怀疑这个‘哔哔’叫的大家伙,你应该不陌生吧。”<br><br>“啊,呃,是的,”愚人窘迫地说,“真是太对不起了,谢谢你们俩帮忙照看Wotchimon!作为感谢,这些药水就送给你们好了,他们可以随时把你们的电子宠物重现出来!”<br><br>你没法百分百确定你能接受一天到晚的哔哔声,但电子宠物那么可爱,试试看又何妨呢!",
|
||||
"questVirtualPetText": "和愚人共渡电子宠物风波:震耳欲聋的哔哔声",
|
||||
"questVirtualPetRageTitle": "震耳欲聋的哔哔声",
|
||||
"questVirtualPetRageEffect": "`Wotchimon使用了烦人的哔哔声!` Wotchimon发出了烦人的哔哔声,它屏幕上显示的心情值槽突然消失了!队伍积累的待定伤害减少。",
|
||||
"questVirtualPetRageEffect": "Wotchimon使用了烦人的哔哔声!Wotchimon发出了烦人的哔哔声,它屏幕上显示的心情值槽突然消失了!队伍积累的待定伤害减少。",
|
||||
"questPinkMarbleBoss": "丘比特",
|
||||
"questPinkMarbleNotes": "听说,蜿蜒山脉的某个洞穴中,不断有粉红色的碎石和尘埃冒出,你的队伍决定亲自前去调查一下。快到洞穴时,你们发现果真有一团浓厚的粉红色尘云笼罩着洞口——奇怪的是,你们还听到了稚嫩的呐喊声,紧随其后便是岩石崩裂的巨响。<br><br>@Empress42不小心吸了一口尘云,顿时感觉没那么有干劲了,还犯起了花痴。“我也是,”@QuartzFox深表同感,“不知怎的,我突然开始对某人产生了幻想,可我一点也不了解那个人啊!”<br><br>透过重重迷雾,@a_diamond窥探着洞穴,发现一个小小的身影正在拖着粉红色的大理石,然后将它砸成细细的粉末。“快找掩护!里面有个堕落的丘比特,正在滥用他的法力,让大家变得痴迷、陷入迷恋的幻想中!我们必须制止他!”",
|
||||
"questPinkMarbleCompletion": "你终于把这个小家伙按在了地上——他比你想象的还要顽强、还要敏捷。在他挣脱之前,你眼疾手快地夺走了他身上满是发光箭矢的箭袋。他眨了眨眼,有些惊慌失措地左顾右盼。“我本来想着能不能把自己从悲伤和心碎的情绪中解脱出来,就试着拿了根箭扎了自己一下……在那之后我啥都不记得了!”<br><br>丘比特本准备开溜,就在这时,他发现@Loremi正在对残留的粉红大理石粉末取样,咧嘴一笑,露出了一口小白牙。“可以加到药水里试试看!用这样的药水孵化宠物,养大以后,你就会深有感触,真正的感情,其实源于沟通、互信和关爱。祝你们幸运,更祝你们幸福!”",
|
||||
"questPinkMarbleText": "安抚堕落的丘比特",
|
||||
"questPinkMarbleRageDescription": "你未完成的日常任务将增加此怒气值,当此条蓄满时,丘比特会减少队伍积累的待定伤害!",
|
||||
"questPinkMarbleRageEffect": "`丘比特使用了粉红小拳拳!`这可一点也不迷人!你的队友们吓了大一跳。队伍积累的待定伤害减少了。",
|
||||
"questPinkMarbleRageEffect": "丘比特使用了粉红小拳拳!这可一点也不迷人!你的队友们吓了大一跳。队伍积累的待定伤害减少了。",
|
||||
"questPinkMarbleDropPinkMarblePotion": "粉色大理石孵化药水",
|
||||
"questPinkMarbleRageTitle": "粉红小拳拳",
|
||||
"questFungiDropFungiPotion": "蘑菇孵化药水",
|
||||
@@ -860,5 +860,14 @@
|
||||
"questOpalDropOpalPotion": "欧泊孵化药水",
|
||||
"questOpalUnlockText": "现已可在市场购买欧泊孵化药水",
|
||||
"questPlatypusNotes": "征服溪边阳光正好,这原本该是个美好的日子,却被你手头这份作业给搅和了。为什么每次精彩的冒险,最后总得被功课打扰?你正在研究关于河流生态系统的第五个问题,居然是论述题。<br><br>“描述动物如何适应河流栖息?天啊,这我哪知道……”<br><br>你毫无头绪地对着题目发了半小时呆,突然听见岸边传来一阵烦躁的扑水声。<br><br>“唉!”一个声音从水里咕嘟咕嘟地冒出来。一只鸭嘴兽焦躁地探出头,“这个洞穴怎么也挖不好!每次刚开始挖,就觉得完全不对劲,得重来。”说完她又钻回水里,宽扁的尾巴一甩,溅了你满脸水花。<br><br>“等一下,也不要全部推到重建吧——”你急忙喊道,却马上又被泼了一脸水。不过,或许你正好能帮上忙,而且说不定还能从中获得点启发!",
|
||||
"questOpalNotes": "Habitica 的学者们长久以来一直在寻找传说中的欧泊魔法孵化药水。这种药水蕴含强大魔力,能为宠物及其坐骑伙伴注入任何宝石或贵金属都无法比拟的火焰般的光彩与璀璨。据传,欧泊的魔力还能增强规划力、洞察力与创造力。这对你的任务该是多大的助益啊!<br><br>经过漫长的搜寻,你可能终于找到了答案。配制欧泊药水需要欧泊原石为原料,与天秤座和水星的魔法符文一同熔炼。这些远古秘物仅存于一处……那就是位于时间荒漠边缘的失落之城废墟,那片危机四伏之地。<br><br>你骑着最强壮的坐骑,跋涉数日,穿越荒凉险峻的地形,终于抵达废墟。在被烈日灼白的残垣断壁间,你瞥见一抹耀眼光芒。寻宝之旅就此启程!"
|
||||
"questOpalNotes": "Habitica 的学者们长久以来一直在寻找传说中的欧泊魔法孵化药水。这种药水蕴含强大魔力,能为宠物及其坐骑伙伴注入任何宝石或贵金属都无法比拟的火焰般的光彩与璀璨。据传,欧泊的魔力还能增强规划力、洞察力与创造力。这对你的任务该是多大的助益啊!<br><br>经过漫长的搜寻,你可能终于找到了答案。配制欧泊药水需要欧泊原石为原料,与天秤座和水星的魔法符文一同熔炼。这些远古秘物仅存于一处……那就是位于时间荒漠边缘的失落之城废墟,那片危机四伏之地。<br><br>你骑着最强壮的坐骑,跋涉数日,穿越荒凉险峻的地形,终于抵达废墟。在被烈日灼白的残垣断壁间,你瞥见一抹耀眼光芒。寻宝之旅就此启程!",
|
||||
"questAlienText": "干劲儿小偷入侵",
|
||||
"questAlienNotes": "这几天在Habitica里发生了一些奇怪的事。那艘巨大的飞碟依然悬停在“繁盛之野”的上空,发出奇怪的嗡嗡声。他怎么还不走?愚人节已经过了,那位盗贼大师的风头也已不再。<br><br>你朝飞船的光源走去。反正都到这儿了,不如一探究竟,顺便赚点步数吧。<br><br>走近后,你看见了那位愚人节的主角,神情有些阴沉。在飞船光束的映照下,他的脸泛着绿光。<br><br>“本来打算给大家弄点药水,算是小礼物,让大家都能再次享受与外星小伙伴相处的乐趣!可我就是提不起那股劲儿……我想我知道原因了,”愚人节先生说着,朝光束的方向点了点头。<br><br>一个个小小的符号正被吸进飞船里。那全是你已完成的待办事项!难怪你一直提不起干劲儿。<br><br>“我们的干劲被绑架了!”你们惊呼道,“得赶在它们被送到外太空之前救回来!”<br><br>愚人节先生笑了笑。“集中精神到你认为必须完成的任务上!剩下的交给我,施点小魔法就行。”",
|
||||
"questAlienCompletion": "靠着你的决心和愚人节先生的魔法,你终于把被偷走的干劲儿抢了回来。那股干劲刚回到身上,飞碟缓缓降落,一道舷梯缓缓伸出,同时一只巨大的绿色独眼生物也随之现身。虽然长相怪异,但它似乎并没有什么威胁。<br><br>“看起来我们有点过分了,本来想从你们这座美丽的城市里多获得一点鼓励,”它说道。“真不好意思,不过你们能把它抢回来,干得真漂亮。你们这么一折腾,飞船引擎反而蓄满了能量,够我们回家啦!拿着这些,算是我们的谢礼。”<br><br>“哦,是药水呀,”愚人节先生说道,“太棒了,而且你们直接准备好了,那我就省事儿啦!”",
|
||||
"questAlienBoss": "外星人·干劲儿小偷",
|
||||
"questAlienRageTitle": "星际阻挠",
|
||||
"questAlienRageDescription": "你未完成的日常任务将增加此怒气值,当此条蓄满时,外星人将恢复部分生命值,让你倍受打击!",
|
||||
"questAlienRageEffect": "干劲儿小偷发动了星际阻挠!你在超空间中连连倒退。对方恢复了生命值!",
|
||||
"questAlienDropAlienPotion": "外星人孵化药水",
|
||||
"questAlienUnlockText": "已可以在市场中购买到外星人孵化药水"
|
||||
}
|
||||
|
||||
@@ -2438,5 +2438,35 @@
|
||||
"headSpecialWinter2026HealerNotes": "在這個季節,當你把目標放得更遠時,保持專注與清晰。增加 <%= int %> 點智力。2025-2026冬季限定版裝備。",
|
||||
"headSpecialWinter2026WarriorText": "霜凍死神頭盔",
|
||||
"shieldSpecialWinter2026WarriorText": "霜凍盾牌",
|
||||
"shieldSpecialWinter2026HealerText": "星爆"
|
||||
"shieldSpecialWinter2026HealerText": "星爆",
|
||||
"shieldSpecialSpring2026RogueNotes": "用這些枝條伸手並舉高。必要時,它們也可以當作抓背用具。增加 <%= str %> 點力量。2026 春季限定版裝備。",
|
||||
"weaponSpecialSpring2026RogueNotes": "成長的機會即將來臨,擁有這些萌芽枝條,你將準備就緒!增加 <%= str %> 點力量。2026 春季限定版裝備。",
|
||||
"weaponSpecialSpring2026RogueText": "春之枝條",
|
||||
"armorSpecialSpring2026RogueText": "樺木樹皮鎧甲",
|
||||
"armorSpecialSpring2026RogueNotes": "抵擋必然的春雨與輕柔微風。增加 <%= per %> 點感知。2026 春季限定版裝備。",
|
||||
"headSpecialSpring2026RogueText": "春之枝條頭盔",
|
||||
"headSpecialSpring2026RogueNotes": "用四面八方狂野生長的細枝與芽葉,展現醒目風格。增加 <%= per %> 點感知。2026 春季限定版裝備。",
|
||||
"shieldSpecialSpring2026RogueText": "春之枝條",
|
||||
"shieldSpecialSpring2026HealerNotes": "隨著天氣轉暖,用這把扇子拂出輕柔微風。必要時,它也能當作書寫工具。增加體質 <%= con %> 點。2026 春季限定版裝備。",
|
||||
"weaponSpecialSpring2026WarriorText": "強力蛙蛙細劍",
|
||||
"weaponSpecialSpring2026HealerText": "雪滴花法杖",
|
||||
"weaponSpecialSpring2026WarriorNotes": "決鬥的機會可能隨時出現,擁有這把強大的細劍,你將準備就緒!增加 <%= str %> 點力量。2026 春季限定版裝備。",
|
||||
"weaponSpecialSpring2026MageNotes": "慶祝的時刻即將來臨,擁有這把美麗的陽傘柱,你將準備就緒!增加 <%= int %> 點智力及 <%= per %> 點感知。2026 春季限定版裝備。",
|
||||
"weaponSpecialSpring2026HealerNotes": "嶄新開始的機會就在前方,擁有這把華麗的法杖,你將準備就緒!增加 <%= int %> 點智力。2026 春季限定版裝備。",
|
||||
"weaponSpecialSpring2026MageText": "五月柱陽傘",
|
||||
"armorSpecialSpring2026MageText": "五月柱舞者服裝",
|
||||
"armorSpecialSpring2026HealerText": "雪滴花長袍",
|
||||
"armorSpecialSpring2026HealerNotes": "優雅地從寒冷陰暗的冬天滑入燦爛的春天。增加體質 <%= con %> 點。2026 春季限定版裝備。",
|
||||
"armorSpecialSpring2026WarriorNotes": "當積雪開始融化時,立刻躍入行動。增加體質 <%= con %> 點。2026 春季限定版裝備。",
|
||||
"armorSpecialSpring2026WarriorText": "青蛙鎧甲",
|
||||
"armorSpecialSpring2026MageNotes": "整裝出席,準備舞蹈、野餐,並享受春天帶來的溫暖天氣。增加 <%= int %> 點智力。2026 春季限定版裝備。",
|
||||
"headSpecialSpring2026WarriorText": "青蛙戰士頭盔",
|
||||
"headSpecialSpring2026WarriorNotes": "青蛙以其對腐化的抗性聞名。這頂頭盔將賦予你牠們高貴的特質!增加 <%= str %> 點力量。2026 春季限定版裝備。",
|
||||
"headSpecialSpring2026MageText": "五月花花冠",
|
||||
"headSpecialSpring2026MageNotes": "以環繞頭部的鮮豔花朵展現歡樂風采。增加 <%= per %> 點感知。2026 春季限定版裝備。",
|
||||
"headSpecialSpring2026HealerText": "雪滴花頭盔",
|
||||
"headSpecialSpring2026HealerNotes": "以這些美麗而堅韌的花瓣展現充滿希望的風采。增加 <%= int %> 點智力。2026 春季限定版裝備。",
|
||||
"shieldSpecialSpring2026HealerText": "雪滴花葉",
|
||||
"shieldSpecialSpring2026WarriorNotes": "這座燭台不僅能照亮你的道路,你還可以用它融化殘留的雪與冰。增加體質 <%= con %> 點。2026 春季限定版裝備。",
|
||||
"shieldSpecialSpring2026WarriorText": "青蛙戰士燭台"
|
||||
}
|
||||
|
||||
@@ -241,5 +241,9 @@
|
||||
"winter2026RimeReaperWarriorSet": "霜凍死神戰士套裝",
|
||||
"winter2026SkiRogueSet": "滑雪盜賊套裝",
|
||||
"winter2026PolarBearHealerSet": "北極熊醫師套裝",
|
||||
"winter2026MidwinterCandleMageSet": "隆冬燭火法師套裝"
|
||||
"winter2026MidwinterCandleMageSet": "隆冬燭火法師套裝",
|
||||
"spring2026BranchRogueSet": "春之枝條(盜賊)",
|
||||
"spring2026MaypoleMageSet": "五月柱(法師)",
|
||||
"spring2026SnowdropHealerSet": "雪滴花(醫師)",
|
||||
"spring2026FrogWarriorSet": "青蛙(戰士)"
|
||||
}
|
||||
|
||||
@@ -187,6 +187,7 @@ api.loginApple = {
|
||||
req.body.network = 'apple';
|
||||
req.body.allowRegister = req.query.allowRegister === 'true';
|
||||
req.body.username = req.query.username;
|
||||
req.body.email = req.query.email;
|
||||
return loginSocial(req, res);
|
||||
},
|
||||
};
|
||||
|
||||
@@ -181,6 +181,8 @@ api.ipn = {
|
||||
async handler (req, res) {
|
||||
res.sendStatus(200);
|
||||
|
||||
logger.info('PayPal IPN', req.body);
|
||||
|
||||
paypalPayments
|
||||
.ipn(req.body)
|
||||
.catch(err => logger.error(err, 'Error handling Paypal IPN message.'));
|
||||
|
||||
@@ -44,9 +44,13 @@ export async function appleProfile (req) {
|
||||
|
||||
const verifiedPayload = await jwt.verify(idToken, applePublicKey, { algorithms: 'RS256' });
|
||||
|
||||
let { email } = verifiedPayload;
|
||||
if ((!email || email === '') && req.body.email) {
|
||||
email = req.body.email;
|
||||
}
|
||||
return {
|
||||
id: verifiedPayload.sub,
|
||||
emails: [{ value: verifiedPayload.email }],
|
||||
emails: [{ value: email }],
|
||||
name: verifiedPayload.name || req.body.name || req.query.name,
|
||||
idToken,
|
||||
};
|
||||
|
||||
@@ -91,6 +91,7 @@ export async function loginSocial (req, res) { // eslint-disable-line import/pre
|
||||
if (network === 'apple') {
|
||||
return res.status(200).send({
|
||||
message: res.t('userNotFound'),
|
||||
email,
|
||||
id_token: profile.idToken,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import moment from 'moment/min/moment-with-locales';
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import _ from 'lodash';
|
||||
@@ -93,13 +94,12 @@ langCodes.forEach(code => {
|
||||
lang.momentLangCode = momentLangsMapping[code] || code;
|
||||
|
||||
try {
|
||||
// MomentJS lang files are JS files that has to be executed
|
||||
// in the browser so we load them as plain text files
|
||||
// We wrap everything in a try catch because the file might not exist
|
||||
const f = fs.readFileSync(path.join(__dirname, `/../../../node_modules/moment/locale/${lang.momentLangCode}.js`), 'utf8');
|
||||
|
||||
momentLangs[code] = f;
|
||||
} catch (e) { // eslint-disable-lint no-empty
|
||||
moment.locale(lang.momentLangCode);
|
||||
const weekdays = moment.weekdaysMin();
|
||||
for (const day of [...Array(7).keys()]) {
|
||||
coreTranslations[code][`weekdaysMin${day}`] = weekdays[day];
|
||||
}
|
||||
} catch (e) {
|
||||
// The catch block is mandatory so it won't crash the server
|
||||
}
|
||||
});
|
||||
@@ -149,7 +149,6 @@ export function geti18nCoreBrowserScript (languageCode) {
|
||||
availableLanguages,
|
||||
language,
|
||||
strings: coreTranslations[languageCode],
|
||||
momentLang: momentLangs[languageCode],
|
||||
})};
|
||||
})()`;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import _ from 'lodash';
|
||||
import paypalIpn from 'pp-ipn';
|
||||
import paypal from 'paypal-rest-sdk';
|
||||
import cc from 'coupon-code';
|
||||
import logger from '../logger';
|
||||
import shared from '../../../common';
|
||||
import payments from './payments'; // eslint-disable-line import/no-cycle
|
||||
import { getGemsBlock, validateGiftMessage } from './gems'; // eslint-disable-line import/no-cycle
|
||||
@@ -214,7 +213,6 @@ api.subscribeSuccess = async function subscribeSuccess (options = {}) {
|
||||
user, groupId, block, headers, token,
|
||||
} = options;
|
||||
const result = await this.paypalBillingAgreementExecute(token, {});
|
||||
logger.info('PayPal Subscription', { state: result.state, details: result.agreement_details });
|
||||
await payments.createSubscription({
|
||||
user,
|
||||
groupId,
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
/* eslint-disable import/no-commonjs */
|
||||
// NOTE es5 requires/exports to allow import from webpack
|
||||
import nconfDefault from 'nconf';
|
||||
import { join, resolve } from 'path';
|
||||
|
||||
|
||||
@@ -68,7 +68,37 @@ export default function attachMiddlewares (app, server) {
|
||||
// See https://helmetjs.github.io/ for the list of headers enabled by default
|
||||
app.use(helmet({
|
||||
// New middlewares added by default in Helmet 4 are disabled
|
||||
contentSecurityPolicy: false, // @TODO implement
|
||||
contentSecurityPolicy: {
|
||||
directives: {
|
||||
defaultSrc: [
|
||||
'habitica.com',
|
||||
'*.habitica.com',
|
||||
'*.amazon.com',
|
||||
'*.amazonaws.com',
|
||||
'*.amplitude.com',
|
||||
'*.loggly.com',
|
||||
'*.payments-amazon.com',
|
||||
'*.stripe.com',
|
||||
'*.stripe.network',
|
||||
],
|
||||
imgSrc: [
|
||||
'*',
|
||||
'data:',
|
||||
],
|
||||
scriptSrc: [
|
||||
'habitica.com',
|
||||
'*.habitica.com',
|
||||
'*.amazon.com',
|
||||
'*.amazonaws.com',
|
||||
'*.amplitude.com',
|
||||
'*.loggly.com',
|
||||
'*.payments-amazon.com',
|
||||
'*.stripe.com',
|
||||
'*.stripe.network',
|
||||
],
|
||||
upgradeInsecureRequests: IS_PROD ? [] : null,
|
||||
},
|
||||
},
|
||||
expectCt: false,
|
||||
permittedCrossDomainPolicies: false,
|
||||
referrerPolicy: false,
|
||||
|
||||
@@ -159,7 +159,7 @@ schema.plugin(baseModel, {
|
||||
if (plainObj.purchased) {
|
||||
plainObj.purchased.active = originalDoc.hasActiveGroupPlan();
|
||||
const plan = originalDoc.purchased && originalDoc.purchased.plan;
|
||||
if (plan && plan.customerId) {
|
||||
if (plan && plan.dateCreated) {
|
||||
plainObj.purchased.wasUpgraded = true;
|
||||
if (plan.dateTerminated) {
|
||||
plainObj.purchased.dateTerminated = plan.dateTerminated;
|
||||
@@ -317,7 +317,7 @@ schema.statics.getGroups = async function getGroups (options = {}) {
|
||||
type: 'guild',
|
||||
privacy: 'private',
|
||||
_id: { $in: user.guilds },
|
||||
'purchased.plan.customerId': { $exists: true },
|
||||
'purchased.plan.dateCreated': { $exists: true },
|
||||
};
|
||||
if (!filters.includeExpiredPlans) {
|
||||
query.$or = [
|
||||
|
||||
Reference in New Issue
Block a user