Merge branch 'develop' into sabrecat/teams-rebase

This commit is contained in:
SabreCat
2022-03-22 16:29:47 -05:00
13 changed files with 433 additions and 141 deletions
+126 -113
View File
@@ -1,6 +1,6 @@
{
"name": "habitica",
"version": "4.224.2",
"version": "4.225.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -1307,9 +1307,9 @@
}
},
"@discoveryjs/json-ext": {
"version": "0.5.6",
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz",
"integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA=="
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
"integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw=="
},
"@google-cloud/common": {
"version": "3.8.1",
@@ -1657,9 +1657,9 @@
}
},
"@types/estree": {
"version": "0.0.50",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz",
"integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw=="
"version": "0.0.51",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
"integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
},
"@types/express": {
"version": "4.17.13",
@@ -2135,9 +2135,9 @@
}
},
"apidoc": {
"version": "0.50.4",
"resolved": "https://registry.npmjs.org/apidoc/-/apidoc-0.50.4.tgz",
"integrity": "sha512-voAIVzHXRMO/QLh6n/2AVF3j0doLvyFY7cZXwBFuidBOSp5Ft+oJ6aVzMPyp1dUD1HF7YBmqg5O82cWrM5tepA==",
"version": "0.50.5",
"resolved": "https://registry.npmjs.org/apidoc/-/apidoc-0.50.5.tgz",
"integrity": "sha512-bp4nze32IsUgeDoRHcpZY8mdZ/GHMHyMak6ptLQkrzQ1rL6LYf0Mu4mBJmVksA+N6/hOsnOhoPQGeiZp2BVX2w==",
"requires": {
"bootstrap": "3.4.1",
"commander": "^8.3.0",
@@ -2784,18 +2784,11 @@
"integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA=="
},
"axios": {
"version": "0.26.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.26.0.tgz",
"integrity": "sha512-lKoGLMYtHvFrPVt3r+RBMp9nh34N0M8zEfCWqdWZx6phynIEhQqAdydpyBAAG211zlhX9Rgu08cOamy6XjE5Og==",
"version": "0.26.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
"integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
"requires": {
"follow-redirects": "^1.14.8"
},
"dependencies": {
"follow-redirects": {
"version": "1.14.8",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz",
"integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA=="
}
}
},
"babel-code-frame": {
@@ -5397,9 +5390,9 @@
}
},
"enhanced-resolve": {
"version": "5.9.0",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.0.tgz",
"integrity": "sha512-weDYmzbBygL7HzGGS26M3hGQx68vehdEg6VUmqSOaFzXExFqlnKuSvsEJCVGQHScS8CQMbrAqftT+AzzHNt/YA==",
"version": "5.9.2",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz",
"integrity": "sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==",
"requires": {
"graceful-fs": "^4.2.4",
"tapable": "^2.2.0"
@@ -5509,100 +5502,114 @@
}
},
"esbuild": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.20.tgz",
"integrity": "sha512-7aRJRnTjHZ6rFEre52tsAYZxatVELSA/QvYGUBf1iOsYKCnSJICE5seugQFFJgV1Gyl0/mngxQPhxBIqgYG2BA==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.25.tgz",
"integrity": "sha512-4JHEIOMNFvK09ziiL+iVmldIhLbn49V4NAVo888tcGFKedEZY/Y8YapfStJ6zSE23tzYPKxqKwQBnQoIO0BI/Q==",
"requires": {
"esbuild-android-arm64": "0.14.20",
"esbuild-darwin-64": "0.14.20",
"esbuild-darwin-arm64": "0.14.20",
"esbuild-freebsd-64": "0.14.20",
"esbuild-freebsd-arm64": "0.14.20",
"esbuild-linux-32": "0.14.20",
"esbuild-linux-64": "0.14.20",
"esbuild-linux-arm": "0.14.20",
"esbuild-linux-arm64": "0.14.20",
"esbuild-linux-mips64le": "0.14.20",
"esbuild-linux-ppc64le": "0.14.20",
"esbuild-linux-s390x": "0.14.20",
"esbuild-netbsd-64": "0.14.20",
"esbuild-openbsd-64": "0.14.20",
"esbuild-sunos-64": "0.14.20",
"esbuild-windows-32": "0.14.20",
"esbuild-windows-64": "0.14.20",
"esbuild-windows-arm64": "0.14.20"
"esbuild-android-64": "0.14.25",
"esbuild-android-arm64": "0.14.25",
"esbuild-darwin-64": "0.14.25",
"esbuild-darwin-arm64": "0.14.25",
"esbuild-freebsd-64": "0.14.25",
"esbuild-freebsd-arm64": "0.14.25",
"esbuild-linux-32": "0.14.25",
"esbuild-linux-64": "0.14.25",
"esbuild-linux-arm": "0.14.25",
"esbuild-linux-arm64": "0.14.25",
"esbuild-linux-mips64le": "0.14.25",
"esbuild-linux-ppc64le": "0.14.25",
"esbuild-linux-riscv64": "0.14.25",
"esbuild-linux-s390x": "0.14.25",
"esbuild-netbsd-64": "0.14.25",
"esbuild-openbsd-64": "0.14.25",
"esbuild-sunos-64": "0.14.25",
"esbuild-windows-32": "0.14.25",
"esbuild-windows-64": "0.14.25",
"esbuild-windows-arm64": "0.14.25"
}
},
"esbuild-android-64": {
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.25.tgz",
"integrity": "sha512-L5vCUk7TzFbBnoESNoXjU3x9+/+7TDIE/1mTfy/erAfvZAqC+S3sp/Qa9wkypFMcFvN9FzvESkTlpeQDolREtQ==",
"optional": true
},
"esbuild-android-arm64": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.20.tgz",
"integrity": "sha512-MPKVDe3TMjGDRB5WmY9XnBaXEsPiiTpkz6GjXgBhBkMFZm27PhvZT4JE0vZ1fsLb5hnGC/fYsfAnp9rsxTZhIg==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.25.tgz",
"integrity": "sha512-4jv5xPjM/qNm27T5j3ZEck0PvjgQtoMHnz4FzwF5zNP56PvY2CT0WStcAIl6jNlsuDdN63rk2HRBIsO6xFbcFw==",
"optional": true
},
"esbuild-darwin-64": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.20.tgz",
"integrity": "sha512-09PPWejM3rRFsGHvtaTuRlG+KOQlOMwPW4HwwzRlO4TuP+FNV1nTW4x2Nid3dYLzCkcjznJWQ0oylLBQvGTRyQ==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.25.tgz",
"integrity": "sha512-TGp8tuudIxOyWd1+8aYPxQmC1ZQyvij/AfNBa35RubixD0zJ1vkKHVAzo0Zao1zcG6pNqiSyzfPto8vmg0s7oA==",
"optional": true
},
"esbuild-darwin-arm64": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.20.tgz",
"integrity": "sha512-jYLrSXAwygoFF2lpRJSUAghre+9IThbcPvJQbcZMONBQaaZft9nclNsrN3k4u7zQaC8v+xZDVSHkmw593tQvkg==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.25.tgz",
"integrity": "sha512-oTcDgdm0MDVEmw2DWu8BV68pYuImpFgvWREPErBZmNA4MYKGuBRaCiJqq6jZmBR1x+3y1DWCjez+5uLtuAm6mw==",
"optional": true
},
"esbuild-freebsd-64": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.20.tgz",
"integrity": "sha512-XShznPLW3QsK8/7iCx1euZTowWaWlcrlkq4YTlRqDKXkJRe98FJ6+V2QyoSTwwCoo5koaYwc+h/SYdglF5369A==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.25.tgz",
"integrity": "sha512-ueAqbnMZ8arnuLH8tHwTCQYeptnHOUV7vA6px6j4zjjQwDx7TdP7kACPf3TLZLdJQ3CAD1XCvQ2sPhX+8tacvQ==",
"optional": true
},
"esbuild-freebsd-arm64": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.20.tgz",
"integrity": "sha512-flb3tDd6SScKhBqzWAESVCErpaqrGmMSRrssjx1aC+Ai5ZQrEyhfs5OWL4A9qHuixkhfmXffci7rFD+bNeXmZg==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.25.tgz",
"integrity": "sha512-+ZVWud2HKh+Ob6k/qiJWjBtUg4KmJGGmbvEXXW1SNKS7hW7HU+Zq2ZCcE1akFxOPkVB+EhOty/sSek30tkCYug==",
"optional": true
},
"esbuild-linux-32": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.20.tgz",
"integrity": "sha512-Avtxbd0MHFJ2QhNxj/e8VGGm1/VnEJZq9qiHUl3wQZ4S0o2Wf4ReAfhqmgAbOPFTuxuZm070rRDZYiZifWzFGQ==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.25.tgz",
"integrity": "sha512-3OP/lwV3kCzEz45tobH9nj+uE4ubhGsfx+tn0L26WAGtUbmmcRpqy7XRG/qK7h1mClZ+eguIANcQntYMdYklfw==",
"optional": true
},
"esbuild-linux-64": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.20.tgz",
"integrity": "sha512-ugisoRA/ajCr9JMszsQnT9hKkpbD7Gr1yl1mWdZhWQnGt6JKGIndGiihMURcrR44IK/2OMkixVe66D4gCHKdPA==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.25.tgz",
"integrity": "sha512-+aKHdHZmX9qwVlQmu5xYXh7GsBFf4TWrePgeJTalhXHOG7NNuUwoHmketGiZEoNsWyyqwH9rE5BC+iwcLY30Ug==",
"optional": true
},
"esbuild-linux-arm": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.20.tgz",
"integrity": "sha512-uo++Mo31+P2EA38oQgOeSIWgD7GMCMpZkaLfsCqtKJTIIL9fVzQHQYLDRIiFGpLHvs1faWWHDCEcXEFSP1Ou0g==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.25.tgz",
"integrity": "sha512-aTLcE2VBoLydL943REcAcgnDi3bHtmULSXWLbjtBdtykRatJVSxKMjK9YlBXUZC4/YcNQfH7AxwVeQr9fNxPhw==",
"optional": true
},
"esbuild-linux-arm64": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.20.tgz",
"integrity": "sha512-hsrMbNzhh+ud3zUyhONlR41vpYMjINS7BHEzXHbzo4YiCsG9Ht3arbiSuNGrhR/ybLr+8J/0fYVCipiVeAjy3Q==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.25.tgz",
"integrity": "sha512-UxfenPx/wSZx55gScCImPtXekvZQLI2GW3qe5dtlmU7luiqhp5GWPzGeQEbD3yN3xg/pHc671m5bma5Ns7lBHw==",
"optional": true
},
"esbuild-linux-mips64le": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.20.tgz",
"integrity": "sha512-MBUu2Q+pzdTBWclPe7AwmRUMTUL0R99ONa8Hswpb987fXgFUdN4XBNBcEa5zy/l2UrIJK+9FUN1jjedZlxgP2A==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.25.tgz",
"integrity": "sha512-wLWYyqVfYx9Ur6eU5RT92yJVsaBGi5RdkoWqRHOqcJ38Kn60QMlcghsKeWfe9jcYut8LangYZ98xO1LxIoSXrQ==",
"optional": true
},
"esbuild-linux-ppc64le": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.20.tgz",
"integrity": "sha512-xkYjQtITA6q/b+/5aAf5n2L063pOxLyXUIad+zYT8GpZh0Sa7aSn18BmrFa2fHb0QSGgTEeRfYkTcBGgoPDjBA==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.25.tgz",
"integrity": "sha512-0dR6Csl6Zas3g4p9ULckEl8Mo8IInJh33VCJ3eaV1hj9+MHGdmDOakYMN8MZP9/5nl+NU/0ygpd14cWgy8uqRw==",
"optional": true
},
"esbuild-linux-riscv64": {
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.25.tgz",
"integrity": "sha512-J4d20HDmTrgvhR0bdkDhvvJGaikH3LzXQnNaseo8rcw9Yqby9A90gKUmWpfwqLVNRILvNnAmKLfBjCKU9ajg8w==",
"optional": true
},
"esbuild-linux-s390x": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.20.tgz",
"integrity": "sha512-AAcj3x80TXIedpNVuZgjYNETXr2iciOBQv5pGdNGAy6rv7k6Y6sT6SXQ58l2LH2AHbaeTPQjze+Y6qgX1efzrA==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.25.tgz",
"integrity": "sha512-YI2d5V6nTE73ZnhEKQD7MtsPs1EtUZJ3obS21oxQxGbbRw1G+PtJKjNyur+3t6nzHP9oTg6GHQ3S3hOLLmbDIQ==",
"optional": true
},
"esbuild-loader": {
@@ -5619,39 +5626,39 @@
}
},
"esbuild-netbsd-64": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.20.tgz",
"integrity": "sha512-30GQKCnsID1WddUi6tr5HFUxJD0t7Uitf6tO9Cf1WqF6C44pf8EflwrhyDFmUyvkddlyfb4OrYI6NNLC/G3ajg==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.25.tgz",
"integrity": "sha512-TKIVgNWLUOkr+Exrye70XTEE1lJjdQXdM4tAXRzfHE9iBA7LXWcNtVIuSnphTqpanPzTDFarF0yqq4kpbC6miA==",
"optional": true
},
"esbuild-openbsd-64": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.20.tgz",
"integrity": "sha512-zVrf8fY46BK57AkxDdqu2S8TV3p7oLmYIiW707IOHrveI0TwJ2iypAxnwOQuCvowM3UWqVBO2RDBzV7S7t0klg==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.25.tgz",
"integrity": "sha512-QgFJ37A15D7NIXBTYEqz29+uw3nNBOIyog+3kFidANn6kjw0GHZ0lEYQn+cwjyzu94WobR+fes7cTl/ZYlHb1A==",
"optional": true
},
"esbuild-sunos-64": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.20.tgz",
"integrity": "sha512-MYRsS1O7+aBr2T/0aA4OJrju6eMku4rm81fwGF1KLFwmymIpPGmj7n69n5JW3NKyW5j+FBt0GcyDh9nEnUL1FQ==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.25.tgz",
"integrity": "sha512-rmWfjUItYIVlqr5EnTH1+GCxXiBOC42WBZ3w++qh7n2cS9Xo0lO5pGSG2N+huOU2fX5L+6YUuJ78/vOYvefeFw==",
"optional": true
},
"esbuild-windows-32": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.20.tgz",
"integrity": "sha512-7VqDITqTU65LQ1Uka/4jx4sUIZc1L8NPlvc7HBRdR15TUyPxmHRQaxMGXd8aakI1FEBcImpJ9SQ4JLmPwRlS1w==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.25.tgz",
"integrity": "sha512-HGAxVUofl3iUIz9W10Y9XKtD0bNsK9fBXv1D55N/ljNvkrAYcGB8YCm0v7DjlwtyS6ws3dkdQyXadbxkbzaKOA==",
"optional": true
},
"esbuild-windows-64": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.20.tgz",
"integrity": "sha512-q4GxY4m5+nXSgqCKx6Cc5pavnhd2g5mHn+K8kNdfCMZsWPDlHLMRjYF5NVQ3/5mJ1M7iR3/Ai4ISjxmsCeGOGA==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.25.tgz",
"integrity": "sha512-TirEohRkfWU9hXLgoDxzhMQD1g8I2mOqvdQF2RS9E/wbkORTAqJHyh7wqGRCQAwNzdNXdg3JAyhQ9/177AadWA==",
"optional": true
},
"esbuild-windows-arm64": {
"version": "0.14.20",
"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.20.tgz",
"integrity": "sha512-vOxfU7YwuBMjsUNUygMBhC8T60aCzeYptnHu4k7azqqOVo5EAyoueyWSkFR5GpX6bae5cXyB0vcOV/bfwqRwAg==",
"version": "0.14.25",
"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.25.tgz",
"integrity": "sha512-4ype9ERiI45rSh+R8qUoBtaj6kJvUOI7oVLhKqPEpcF4Pa5PpT3hm/mXAyotJHREkHpM87PAJcA442mLnbtlNA==",
"optional": true
},
"escalade": {
@@ -6974,9 +6981,9 @@
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
},
"fs-extra": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
"integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz",
"integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==",
"requires": {
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
@@ -13656,9 +13663,9 @@
}
},
"stripe": {
"version": "8.207.0",
"resolved": "https://registry.npmjs.org/stripe/-/stripe-8.207.0.tgz",
"integrity": "sha512-ZCjdqN2adGfrC5uAAo0v7IquzaiQ3+pDzB324/iV3Q3Deiot9VO7KMVSNVx/0i6E6ywhgV33ko3FMT7iUgxKYA==",
"version": "8.209.0",
"resolved": "https://registry.npmjs.org/stripe/-/stripe-8.209.0.tgz",
"integrity": "sha512-ozfs8t0fxA/uvCK1DNvitSdEublOHK5CTRsrd2AWWk9LogjXcfkxmtz3KGSSQd+jyA2+rbee9TMzhJ6aabQ5WQ==",
"requires": {
"@types/node": ">=8.1.0",
"qs": "^6.6.0"
@@ -13959,15 +13966,21 @@
"integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw=="
},
"terser": {
"version": "5.10.0",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz",
"integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==",
"version": "5.12.0",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.12.0.tgz",
"integrity": "sha512-R3AUhNBGWiFc77HXag+1fXpAxTAFRQTJemlJKjAgD9r8xXTpjNKqIXwHM/o7Rh+O0kUJtS3WQVdBeMKFk5sw9A==",
"requires": {
"acorn": "^8.5.0",
"commander": "^2.20.0",
"source-map": "~0.7.2",
"source-map-support": "~0.5.20"
},
"dependencies": {
"acorn": {
"version": "8.7.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz",
"integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ=="
},
"commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
@@ -15111,12 +15124,12 @@
"integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
},
"webpack": {
"version": "5.68.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.68.0.tgz",
"integrity": "sha512-zUcqaUO0772UuuW2bzaES2Zjlm/y3kRBQDVFVCge+s2Y8mwuUTdperGaAv65/NtRL/1zanpSJOq/MD8u61vo6g==",
"version": "5.70.0",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.70.0.tgz",
"integrity": "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw==",
"requires": {
"@types/eslint-scope": "^3.7.0",
"@types/estree": "^0.0.50",
"@types/eslint-scope": "^3.7.3",
"@types/estree": "^0.0.51",
"@webassemblyjs/ast": "1.11.1",
"@webassemblyjs/wasm-edit": "1.11.1",
"@webassemblyjs/wasm-parser": "1.11.1",
@@ -15124,7 +15137,7 @@
"acorn-import-assertions": "^1.7.6",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.8.3",
"enhanced-resolve": "^5.9.2",
"es-module-lexer": "^0.9.0",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
+5 -5
View File
@@ -1,7 +1,7 @@
{
"name": "habitica",
"description": "A habit tracker app which treats your goals like a Role Playing Game.",
"version": "4.224.2",
"version": "4.225.0",
"main": "./website/server/index.js",
"dependencies": {
"@babel/core": "^7.17.5",
@@ -13,7 +13,7 @@
"accepts": "^1.3.8",
"amazon-payments": "^0.2.9",
"amplitude": "^6.0.0",
"apidoc": "^0.50.4",
"apidoc": "^0.50.5",
"apple-auth": "^1.0.7",
"bcrypt": "^5.0.1",
"body-parser": "^1.19.2",
@@ -67,7 +67,7 @@
"remove-markdown": "^0.3.0",
"rimraf": "^3.0.2",
"short-uuid": "^4.2.0",
"stripe": "^8.207.0",
"stripe": "^8.209.0",
"superagent": "^7.1.1",
"universal-analytics": "^0.5.3",
"useragent": "^2.1.9",
@@ -106,11 +106,11 @@
"start": "gulp nodemon",
"debug": "gulp nodemon --inspect",
"mongo:dev": "run-rs -v 4.2.8 -l ubuntu1804 --keep --dbpath mongodb-data --number 1 --quiet",
"postinstall": "gulp build && cd website/client && npm install",
"postinstall": "git config --global url.\"https://\".insteadOf git:// && gulp build && cd website/client && npm install",
"apidoc": "gulp apidoc"
},
"devDependencies": {
"axios": "^0.26.0",
"axios": "^0.26.1",
"chai": "^4.3.6",
"chai-as-promised": "^7.1.1",
"chai-moment": "^0.1.0",
@@ -50,8 +50,8 @@
}
.achievement-birdsOfAFeather2x {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/achievement-birdsOfAFeather2x.png');
width: 68px;
height: 68px;
width: 60px;
height: 64px;
}
.achievement-birthday2x {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/achievement-birthday2x.png');
@@ -25543,6 +25543,26 @@
width: 114px;
height: 90px;
}
.broad_armor_special_spring2022Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_spring2022Healer.png');
width: 114px;
height: 90px;
}
.broad_armor_special_spring2022Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_spring2022Mage.png');
width: 114px;
height: 90px;
}
.broad_armor_special_spring2022Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_spring2022Rogue.png');
width: 114px;
height: 117px;
}
.broad_armor_special_spring2022Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_spring2022Warrior.png');
width: 114px;
height: 90px;
}
.broad_armor_special_springHealer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_special_springHealer.png');
width: 90px;
@@ -25783,6 +25803,26 @@
width: 114px;
height: 90px;
}
.head_special_spring2022Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_spring2022Healer.png');
width: 114px;
height: 90px;
}
.head_special_spring2022Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_spring2022Mage.png');
width: 114px;
height: 90px;
}
.head_special_spring2022Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_spring2022Rogue.png');
width: 114px;
height: 117px;
}
.head_special_spring2022Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_spring2022Warrior.png');
width: 114px;
height: 90px;
}
.head_special_springHealer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_special_springHealer.png');
width: 90px;
@@ -25908,6 +25948,21 @@
width: 114px;
height: 90px;
}
.shield_special_spring2022Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_spring2022Healer.png');
width: 114px;
height: 90px;
}
.shield_special_spring2022Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_spring2022Mage.png');
width: 114px;
height: 117px;
}
.shield_special_spring2022Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_spring2022Warrior.png');
width: 114px;
height: 90px;
}
.shield_special_springHealer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_special_springHealer.png');
width: 90px;
@@ -26063,6 +26118,26 @@
width: 68px;
height: 68px;
}
.shop_armor_special_spring2022Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_spring2022Healer.png');
width: 68px;
height: 68px;
}
.shop_armor_special_spring2022Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_spring2022Mage.png');
width: 68px;
height: 68px;
}
.shop_armor_special_spring2022Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_spring2022Rogue.png');
width: 68px;
height: 68px;
}
.shop_armor_special_spring2022Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_spring2022Warrior.png');
width: 68px;
height: 68px;
}
.shop_armor_special_springHealer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_special_springHealer.png');
width: 68px;
@@ -26303,6 +26378,26 @@
width: 68px;
height: 68px;
}
.shop_head_special_spring2022Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_spring2022Healer.png');
width: 68px;
height: 68px;
}
.shop_head_special_spring2022Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_spring2022Mage.png');
width: 68px;
height: 68px;
}
.shop_head_special_spring2022Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_spring2022Rogue.png');
width: 68px;
height: 68px;
}
.shop_head_special_spring2022Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_spring2022Warrior.png');
width: 68px;
height: 68px;
}
.shop_head_special_springHealer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_special_springHealer.png');
width: 68px;
@@ -26428,6 +26523,21 @@
width: 68px;
height: 68px;
}
.shop_shield_special_spring2022Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_spring2022Healer.png');
width: 68px;
height: 68px;
}
.shop_shield_special_spring2022Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_spring2022Rogue.png');
width: 68px;
height: 68px;
}
.shop_shield_special_spring2022Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_spring2022Warrior.png');
width: 68px;
height: 68px;
}
.shop_shield_special_springHealer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_special_springHealer.png');
width: 68px;
@@ -26583,6 +26693,26 @@
width: 68px;
height: 68px;
}
.shop_weapon_special_spring2022Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_spring2022Healer.png');
width: 68px;
height: 68px;
}
.shop_weapon_special_spring2022Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_spring2022Mage.png');
width: 68px;
height: 68px;
}
.shop_weapon_special_spring2022Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_spring2022Rogue.png');
width: 68px;
height: 68px;
}
.shop_weapon_special_spring2022Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_spring2022Warrior.png');
width: 68px;
height: 68px;
}
.shop_weapon_special_springHealer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_weapon_special_springHealer.png');
width: 68px;
@@ -26743,6 +26873,26 @@
width: 114px;
height: 90px;
}
.slim_armor_special_spring2022Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_spring2022Healer.png');
width: 114px;
height: 90px;
}
.slim_armor_special_spring2022Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_spring2022Mage.png');
width: 114px;
height: 90px;
}
.slim_armor_special_spring2022Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_spring2022Rogue.png');
width: 114px;
height: 117px;
}
.slim_armor_special_spring2022Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_spring2022Warrior.png');
width: 114px;
height: 90px;
}
.slim_armor_special_springHealer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_special_springHealer.png');
width: 90px;
@@ -26903,6 +27053,26 @@
width: 114px;
height: 90px;
}
.weapon_special_spring2022Healer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_spring2022Healer.png');
width: 114px;
height: 90px;
}
.weapon_special_spring2022Mage {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_spring2022Mage.png');
width: 114px;
height: 90px;
}
.weapon_special_spring2022Rogue {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_spring2022Rogue.png');
width: 114px;
height: 117px;
}
.weapon_special_spring2022Warrior {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_spring2022Warrior.png');
width: 114px;
height: 90px;
}
.weapon_special_springHealer {
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/weapon_special_springHealer.png');
width: 90px;
+32
View File
@@ -428,6 +428,15 @@
"headSpecialNye2021Text": "Preposterous Party Hat",
"headSpecialNye2021Notes": "You've received a Preposterous Party Hat! Wear it with pride while ringing in the New Year! Confers no benefit.",
"weaponSpecialSpring2022RogueText": "Giant Earring Stud",
"weaponSpecialSpring2022RogueNotes": "A shiny! Its so shiny and gleaming and pretty and nice and all yours! Increases Strength by <%= str %>. Limited Edition 2022 Spring Gear.",
"weaponSpecialSpring2022WarriorText": "Inside-Out Umbrella",
"weaponSpecialSpring2022WarriorNotes": "Yikes! Guess that wind was a little stronger than you thought, huh? Increases Strength by <%= str %>, Limited Edition 2022 Spring Gear.",
"weaponSpecialSpring2022MageText": "Forsythia Staff",
"weaponSpecialSpring2022MageNotes": "These bright yellow bells are ready to channel your powerful springtime magic. Increases Intelligence by <%= int %> and Perception by <%= per %>. Limited Edition 2022 Spring Gear.",
"weaponSpecialSpring2022HealerText": "Peridot Wand",
"weaponSpecialSpring2022HealerNotes": "Use this wand to tap into peridots healing properties, whether it be to bring calm, positivity, or kindheartedness. Increases Intelligence by <%= int %>. Limited Edition 2022 Spring Gear.",
"weaponMystery201411Text": "Pitchfork of Feasting",
"weaponMystery201411Notes": "Stab your enemies or dig in to your favorite foods - this versatile pitchfork does it all! Confers no benefit. November 2014 Subscriber Item.",
"weaponMystery201502Text": "Shimmery Winged Staff of Love and Also Truth",
@@ -1028,6 +1037,15 @@
"armorSpecialWinter2022HealerText": "Crystalline Ice Armor",
"armorSpecialWinter2022HealerNotes": "Glide as if skating, just above the ground, a glittering ethereal figure come to bring cool and calm. Increases Constitution by <%= con %>. Limited Edition 2021-2022 Winter Gear.",
"armorSpecialSpring2022RogueText": "Magpie Costume",
"armorSpecialSpring2022RogueNotes": "With iridescent metallic blue-gray and lighter patches on your feathers, you will be the finest flying friend at the spring fling! Increases Perception by <%= per %>. Limited Edition 2022 Spring Gear.",
"armorSpecialSpring2022WarriorText": "Rain Slicker",
"armorSpecialSpring2022WarriorNotes": "This slicker and boots are so formidable you could sing in the rain or jump in every puddle but still be warm and dry! Increases Constitution by <%= con %>. Limited Edition 2022 Spring Gear.",
"armorSpecialSpring2022MageText": "Forsythia Robe",
"armorSpecialSpring2022MageNotes": "Show youre ready to spring forward into the season with this robe adorned with forsythia flower petals. Intelligence by <%= int %>.Limited Edition 2022 Spring Gear.",
"armorSpecialSpring2022HealerText": "Peridot Armor",
"armorSpecialSpring2022HealerNotes": " Drive away fears and nightmares simply by wearing this green gem garment. Increases Constitution by <%= con %>. Limited Edition 2022 Spring Gear.",
"armorMystery201402Text": "Messenger Robes",
"armorMystery201402Notes": "Shimmering and strong, these robes have many pockets to carry letters. Confers no benefit. February 2014 Subscriber Item.",
"armorMystery201403Text": "Forest Walker Armor",
@@ -1712,6 +1730,15 @@
"headSpecialWinter2022HealerText": "Crystalline Ice Crown",
"headSpecialWinter2022HealerNotes": "Minute imperfections and impurities send the arms of this headdress branching out in unpredictable directions. It's symbolic! And also very, very pretty. Increases Intelligence by <%= int %>. Limited Edition 2021-2022 Winter Gear.",
"headSpecialSpring2022RogueText": "Magpie Mask",
"headSpecialSpring2022RogueNotes": "Be as clever as a magpie when wearing this mask. Maybe youll even be able to whistle, trill, and mimic as well as one, too. Increases Perception by <%= per %>. Limited Edition 2022 Spring Gear.",
"headSpecialSpring2022WarriorText": "Rain Slicker Hood",
"headSpecialSpring2022WarriorNotes": "Tut tut, it looks like rain! Stand tall and pull up your hood to stay dry. Increases Strength by <%= str %>. Limited Edition 2022 Spring Gear.",
"headSpecialSpring2022MageText": "Forsythia Helmet",
"headSpecialSpring2022MageNotes": "Stay dry during a rainstorm with this protective helmet of downturned petals.Increases Perception by <%= per %>. Limited Edition 2022 Spring Gear.",
"headSpecialSpring2022HealerText": "Peridot Helmet",
"headSpecialSpring2022HealerNotes": "This mysterious helmet preserves your privacy as you tackle your tasks. Increases Intelligence by <%= int %>. Limited Edition 2022 Spring Gear.",
"headSpecialGaymerxText": "Rainbow Warrior Helm",
"headSpecialGaymerxNotes": "In celebration of the GaymerX Conference, this special helmet is decorated with a radiant, colorful rainbow pattern! GaymerX is a game convention celebrating LGTBQ and gaming and is open to everyone.",
@@ -2243,6 +2270,11 @@
"shieldSpecialWinter2022HealerText": "Enduring Ice Crystal",
"shieldSpecialWinter2022HealerNotes": "Though it melts in your hand, the power of elemental ice replenishes it from within. Increases Constitution by <%= con %>. Limited Edition 2021-2022 Winter Gear.",
"shieldSpecialSpring2022WarriorText": "Raincloud",
"shieldSpecialSpring2022WarriorNotes": "Ever had one of those days when it seems like a raincloud is following you around? Well, consider yourself lucky, because the prettiest flowers will soon be growing at your feet! Increases Constitution by <%= con %>. Limited Edition 2022 Spring Gear.",
"shieldSpecialSpring2022HealerText": "Peridot Shield",
"shieldSpecialSpring2022HealerNotes": "Formed by molten rock of the upper mantle, this shield can withstand any hit that comes its way. Increases Constitution by <%= con %>. Limited Edition 2022 Spring Gear.",
"shieldMystery201601Text": "Resolution Slayer",
"shieldMystery201601Notes": "This blade can be used to parry away all distractions. Confers no benefit. January 2016 Subscriber Item.",
"shieldMystery201701Text": "Time-Freezer Shield",
+4
View File
@@ -179,6 +179,10 @@
"winter2022StockingWarriorSet": "Stocking (Warrior)",
"winter2022PomegranateMageSet": "Pomegranate (Mage)",
"winter2022IceCrystalHealerSet": "Ice Crystal (Healer)",
"spring2022MagpieRogueSet": "Magpie (Rogue)",
"spring2022RainstormWarriorSet": "Rainstorm (Warrior)",
"spring2022ForsythiaMageSet": "Forsythia (Mage)",
"spring2022PeridotHealerSet": "Peridot (Healer)",
"eventAvailability": "Available for purchase until <%= date(locale) %>.",
"eventAvailabilityReturning": "Available for purchase until <%= availableDate(locale) %>. This potion was last available in <%= previousDate(locale) %>.",
"dateEndMarch": "April 30",
+1 -1
View File
@@ -699,7 +699,7 @@
"questSquirrelUnlockText": "Unlocks Squirrel Eggs for purchase in the Market",
"cuddleBuddiesText": "Cuddle Buddies Quest Bundle",
"cuddleBuddiesNotes": "Contains 'The Killer Bunny', 'The Nefarious Ferret', and 'The Guinea Pig Gang'. Available until May 31.",
"cuddleBuddiesNotes": "Contains 'The Killer Bunny', 'The Nefarious Ferret', and 'The Guinea Pig Gang'. Available until March 31.",
"aquaticAmigosText": "Aquatic Amigos Quest Bundle",
"aquaticAmigosNotes": "Contains 'The Magical Axolotl', 'The Kraken of Inkomplete', and 'The Call of Octothulu'. Available until August 31.",
+1 -1
View File
@@ -114,7 +114,7 @@ const bundles = {
'guineapig',
],
canBuy () {
return moment().isBetween('2022-03-15T08:00-04:00', '2022-05-31T20:00-04:00');
return moment().isBetween('2022-03-15T08:00-04:00', '2022-03-31T20:00-04:00');
},
type: 'quests',
value: 7,
@@ -10,11 +10,18 @@ const gemsPromo = {
export const EVENTS = {
noCurrentEvent: {
start: '2022-02-18T20:00-05:00',
end: '2022-03-31T20:00-05:00',
start: '2022-04-30T20:00-05:00',
end: '2022-06-30T20:00-05:00',
season: 'normal',
npcImageSuffix: '',
},
spring2022: {
start: '2022-03-22T08:00-05:00',
end: '2022-04-30T20:00-05:00',
npcImageSuffix: 'spring',
season: 'spring',
gear: true,
},
valentines2022: {
start: '2022-02-14T08:00-05:00',
end: '2022-02-18T20:00-05:00',
@@ -67,36 +67,37 @@ const SEASONAL_SETS = {
'cleverDogSet',
'braveMouseSet',
// spring 2017
'spring2017FelineWarriorSet',
'spring2017CanineConjurorSet',
'spring2017FloralMouseSet',
'spring2017SneakyBunnySet',
// spring 2018
'spring2018TulipMageSet',
'spring2018SunriseWarriorSet',
'spring2018DucklingRogueSet',
'spring2018GarnetHealerSet',
// spring 2019
'spring2019AmberMageSet',
'spring2019OrchidWarriorSet',
'spring2019CloudRogueSet',
'spring2019RobinHealerSet',
// spring 2020
'spring2020BeetleWarriorSet',
'spring2020IrisHealerSet',
'spring2020LapisLazuliRogueSet',
'spring2020PuddleMageSet',
// spring 2021
'spring2021SwanMageSet',
'spring2021WillowHealerSet',
'spring2021SunstoneWarriorSet',
'spring2021TwinFlowerRogueSet',
'spring2022ForsythiaMageSet',
'spring2022PeridotHealerSet',
'spring2022RainstormWarriorSet',
'spring2022MagpieRogueSet',
],
summer: [
// summer 2014
'daringSwashbucklerSet',
@@ -670,15 +670,19 @@ const armor = {
},
spring2021Rogue: {
set: 'spring2021TwinFlowerRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2021Warrior: {
set: 'spring2021SunstoneWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2021Mage: {
set: 'spring2021SwanMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2021Healer: {
set: 'spring2021WillowHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
summer2021Rogue: {
set: 'summer2021ClownfishRogueSet',
@@ -716,6 +720,19 @@ const armor = {
winter2022Healer: {
set: 'winter2022IceCrystalHealerSet',
},
spring2022Rogue: {
set: 'spring2022MagpieRogueSet',
},
spring2022Warrior: {
set: 'spring2022RainstormWarriorSet',
},
spring2022Mage: {
set: 'spring2022ForsythiaMageSet',
},
spring2022Healer: {
set: 'spring2022PeridotHealerSet',
},
birthday2022: {
text: t('armorSpecialBirthday2022Text'),
notes: t('armorSpecialBirthday2022Notes'),
@@ -1728,15 +1745,19 @@ const head = {
},
spring2021Rogue: {
set: 'spring2021TwinFlowerRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2021Warrior: {
set: 'spring2021SunstoneWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2021Mage: {
set: 'spring2021SwanMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2021Healer: {
set: 'spring2021WillowHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
summer2021Rogue: {
set: 'summer2021ClownfishRogueSet',
@@ -1780,6 +1801,18 @@ const head = {
value: 0,
canOwn: ownsItem('head_special_nye2021'),
},
spring2022Rogue: {
set: 'spring2022MagpieRogueSet',
},
spring2022Warrior: {
set: 'spring2022RainstormWarriorSet',
},
spring2022Mage: {
set: 'spring2022ForsythiaMageSet',
},
spring2022Healer: {
set: 'spring2022PeridotHealerSet',
},
};
const headStats = {
@@ -2504,12 +2537,15 @@ const shield = {
},
spring2021Rogue: {
set: 'spring2021TwinFlowerRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2021Warrior: {
set: 'spring2021SunstoneWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2021Healer: {
set: 'spring2021WillowHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
summer2021Rogue: {
set: 'summer2021ClownfishRogueSet',
@@ -2538,6 +2574,15 @@ const shield = {
winter2022Healer: {
set: 'winter2022IceCrystalHealerSet',
},
spring2022Rogue: {
set: 'spring2022MagpieRogueSet',
},
spring2022Warrior: {
set: 'spring2022RainstormWarriorSet',
},
spring2022Healer: {
set: 'spring2022PeridotHealerSet',
},
};
const shieldStats = {
@@ -3168,15 +3213,19 @@ const weapon = {
},
spring2021Rogue: {
set: 'spring2021TwinFlowerRogueSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2021Warrior: {
set: 'spring2021SunstoneWarriorSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2021Mage: {
set: 'spring2021SwanMageSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
spring2021Healer: {
set: 'spring2021WillowHealerSet',
canBuy: () => CURRENT_EVENT && CURRENT_EVENT.season === 'spring',
},
summer2021Rogue: {
set: 'summer2021ClownfishRogueSet',
@@ -3214,6 +3263,18 @@ const weapon = {
winter2022Healer: {
set: 'winter2022IceCrystalHealerSet',
},
spring2022Rogue: {
set: 'spring2022MagpieRogueSet',
},
spring2022Warrior: {
set: 'spring2022RainstormWarriorSet',
},
spring2022Mage: {
set: 'spring2022ForsythiaMageSet',
},
spring2022Healer: {
set: 'spring2022PeridotHealerSet',
},
};
const weaponStats = {
@@ -44,7 +44,7 @@ const featuredItems = {
];
},
quests () {
if (moment().isBefore('2022-05-31T20:00-04:00')) {
if (moment().isBefore('2022-03-31T20:00-04:00')) {
return [
{
type: 'bundles',
@@ -52,7 +52,7 @@ const featuredItems = {
},
{
type: 'quests',
path: 'quests.turquoise',
path: 'quests.egg',
},
{
type: 'quests',
@@ -75,7 +75,7 @@ const featuredItems = {
},
];
},
seasonal: 'winter2021Warrior',
seasonal: 'spring2021Healer',
timeTravelers: [
// TODO
],
@@ -30,20 +30,24 @@ export default {
pinnedSets: SHOP_OPEN
? {
healer: 'winter2022IceCrystalHealerSet',
rogue: 'winter2022FireworksRogueSet',
warrior: 'winter2022StockingWarriorSet',
wizard: 'winter2022PomegranateMageSet',
healer: 'spring2022PeridotHealerSet',
rogue: 'spring2022MagpieRogueSet',
warrior: 'spring2022RainstormWarriorSet',
wizard: 'spring2022ForsythiaMageSet',
}
: {},
availableSpells: SHOP_OPEN && moment().isBetween('2021-12-30T08:00-04:00', CURRENT_EVENT.end)
availableSpells: SHOP_OPEN && moment().isBetween('2022-04-12T08:00-05:00', CURRENT_EVENT.end)
? [
'snowball',
'shinySeed',
]
: [],
availableQuests: [],
availableQuests: SHOP_OPEN && CURRENT_EVENT.season === 'spring'
? [
'egg',
]
: [],
featuredSet: 'winter2021ArcticExplorerHealerSet',
featuredSet: 'spring2021TwinFlowerRogueSet',
};