mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 15:48:04 +01:00
Merge branch 'develop' into sabrecat/teams-rebase
This commit is contained in:
Submodule habitica-images updated: 896d1aedad...4f18c662a7
1165
package-lock.json
generated
1165
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "habitica",
|
"name": "habitica",
|
||||||
"description": "A habit tracker app which treats your goals like a Role Playing Game.",
|
"description": "A habit tracker app which treats your goals like a Role Playing Game.",
|
||||||
"version": "4.235.1",
|
"version": "4.236.1",
|
||||||
"main": "./website/server/index.js",
|
"main": "./website/server/index.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/core": "^7.18.6",
|
"@babel/core": "^7.18.6",
|
||||||
"@babel/preset-env": "^7.18.2",
|
"@babel/preset-env": "^7.18.6",
|
||||||
"@babel/register": "^7.18.6",
|
"@babel/register": "^7.18.6",
|
||||||
"@google-cloud/trace-agent": "^5.1.6",
|
"@google-cloud/trace-agent": "^5.1.6",
|
||||||
"@parse/node-apn": "^5.1.3",
|
"@parse/node-apn": "^5.1.3",
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"merge-stream": "^2.0.0",
|
"merge-stream": "^2.0.0",
|
||||||
"method-override": "^3.0.0",
|
"method-override": "^3.0.0",
|
||||||
"moment": "^2.29.3",
|
"moment": "^2.29.4",
|
||||||
"moment-recur": "^1.0.7",
|
"moment-recur": "^1.0.7",
|
||||||
"mongoose": "^5.13.7",
|
"mongoose": "^5.13.7",
|
||||||
"morgan": "^1.10.0",
|
"morgan": "^1.10.0",
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
"uuid": "^8.3.2",
|
"uuid": "^8.3.2",
|
||||||
"validator": "^13.7.0",
|
"validator": "^13.7.0",
|
||||||
"vinyl-buffer": "^1.0.1",
|
"vinyl-buffer": "^1.0.1",
|
||||||
"winston": "^3.8.0",
|
"winston": "^3.8.1",
|
||||||
"winston-loggly-bulk": "^3.2.1",
|
"winston-loggly-bulk": "^3.2.1",
|
||||||
"xml2js": "^0.4.23"
|
"xml2js": "^0.4.23"
|
||||||
},
|
},
|
||||||
|
|||||||
80
website/client/package-lock.json
generated
80
website/client/package-lock.json
generated
@@ -1799,39 +1799,39 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/plugin-proposal-optional-chaining": {
|
"@babel/plugin-proposal-optional-chaining": {
|
||||||
"version": "7.17.12",
|
"version": "7.18.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.6.tgz",
|
||||||
"integrity": "sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==",
|
"integrity": "sha512-PatI6elL5eMzoypFAiYDpYQyMtXTn+iMhuxxQt5mAXD4fEmKorpSI3PHd+i3JXBJN3xyA6MvJv7at23HffFHwA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/helper-plugin-utils": "^7.17.12",
|
"@babel/helper-plugin-utils": "^7.18.6",
|
||||||
"@babel/helper-skip-transparent-expression-wrappers": "^7.16.0",
|
"@babel/helper-skip-transparent-expression-wrappers": "^7.18.6",
|
||||||
"@babel/plugin-syntax-optional-chaining": "^7.8.3"
|
"@babel/plugin-syntax-optional-chaining": "^7.8.3"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-plugin-utils": {
|
"@babel/helper-plugin-utils": {
|
||||||
"version": "7.17.12",
|
"version": "7.18.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.6.tgz",
|
||||||
"integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA=="
|
"integrity": "sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg=="
|
||||||
},
|
},
|
||||||
"@babel/helper-skip-transparent-expression-wrappers": {
|
"@babel/helper-skip-transparent-expression-wrappers": {
|
||||||
"version": "7.16.0",
|
"version": "7.18.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.6.tgz",
|
||||||
"integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==",
|
"integrity": "sha512-4KoLhwGS9vGethZpAhYnMejWkX64wsnHPDwvOsKWU6Fg4+AlK2Jz3TyjQLMEPvz+1zemi/WBdkYxCD0bAfIkiw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/types": "^7.16.0"
|
"@babel/types": "^7.18.6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/helper-validator-identifier": {
|
"@babel/helper-validator-identifier": {
|
||||||
"version": "7.16.7",
|
"version": "7.18.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz",
|
||||||
"integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw=="
|
"integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g=="
|
||||||
},
|
},
|
||||||
"@babel/types": {
|
"@babel/types": {
|
||||||
"version": "7.18.0",
|
"version": "7.18.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.0.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.7.tgz",
|
||||||
"integrity": "sha512-vhAmLPAiC8j9K2GnsnLPCIH5wCrPpYIVBCWRBFDCB7Y/BXLqi/O+1RSTTM2bsmg6U/551+FCf9PNPxjABmxHTw==",
|
"integrity": "sha512-QG3yxTcTIBoAcQmkCs+wAPYZhu7Dk9rXKacINfNbdJDNERTbLQbHGyVG8q/YGMPeCJRIhSY0+fTc5+xuh6WPSQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/helper-validator-identifier": "^7.16.7",
|
"@babel/helper-validator-identifier": "^7.18.6",
|
||||||
"to-fast-properties": "^2.0.0"
|
"to-fast-properties": "^2.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -12131,11 +12131,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/cli-plugin-eslint": {
|
"@vue/cli-plugin-eslint": {
|
||||||
"version": "4.5.18",
|
"version": "4.5.19",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.5.18.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.5.19.tgz",
|
||||||
"integrity": "sha512-UWacV26Ul+W61PwvMBv4Msh2h3Umr5FG0ApXFzLQTgyc/rCmXvhR53pW252zVZ2tf7s2n7xDFnp/mrCUrkb2tw==",
|
"integrity": "sha512-53sa4Pu9j5KajesFlj494CcO8vVo3e3nnZ1CCKjGGnrF90id1rUeepcFfz5XjwfEtbJZp2x/NoX/EZE6zCzSFQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@vue/cli-shared-utils": "^4.5.18",
|
"@vue/cli-shared-utils": "^4.5.19",
|
||||||
"eslint-loader": "^2.2.1",
|
"eslint-loader": "^2.2.1",
|
||||||
"globby": "^9.2.0",
|
"globby": "^9.2.0",
|
||||||
"inquirer": "^7.1.0",
|
"inquirer": "^7.1.0",
|
||||||
@@ -12144,9 +12144,9 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/cli-shared-utils": {
|
"@vue/cli-shared-utils": {
|
||||||
"version": "4.5.18",
|
"version": "4.5.19",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.18.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.19.tgz",
|
||||||
"integrity": "sha512-rYX8watG/+SFmkedXMZ3hJP+26/bz80f9zG9dMUfBMqTAqIDGICDtuP4H4QXZL3PCKI/HWFCMhRWf2wO4eGEPg==",
|
"integrity": "sha512-JYpdsrC/d9elerKxbEUtmSSU6QRM60rirVubOewECHkBHj+tLNznWq/EhCjswywtePyLaMUK25eTqnTSZlEE+g==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@achrinza/node-ipc": "9.2.2",
|
"@achrinza/node-ipc": "9.2.2",
|
||||||
"@hapi/joi": "^15.0.1",
|
"@hapi/joi": "^15.0.1",
|
||||||
@@ -13697,9 +13697,12 @@
|
|||||||
"integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg=="
|
"integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg=="
|
||||||
},
|
},
|
||||||
"async": {
|
"async": {
|
||||||
"version": "3.2.3",
|
"version": "2.6.4",
|
||||||
"resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
|
||||||
"integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g=="
|
"integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
|
||||||
|
"requires": {
|
||||||
|
"lodash": "^4.17.14"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"async-each": {
|
"async-each": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
@@ -21926,9 +21929,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"moment": {
|
"moment": {
|
||||||
"version": "2.29.3",
|
"version": "2.29.4",
|
||||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
|
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
|
||||||
"integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw=="
|
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
|
||||||
},
|
},
|
||||||
"move-concurrently": {
|
"move-concurrently": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
@@ -22035,6 +22038,11 @@
|
|||||||
"color-convert": "^2.0.1"
|
"color-convert": "^2.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"async": {
|
||||||
|
"version": "3.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
|
||||||
|
"integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
|
||||||
|
},
|
||||||
"cliui": {
|
"cliui": {
|
||||||
"version": "7.0.4",
|
"version": "7.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
|
||||||
@@ -23119,14 +23127,6 @@
|
|||||||
"mkdirp": "^0.5.5"
|
"mkdirp": "^0.5.5"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"async": {
|
|
||||||
"version": "2.6.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
|
|
||||||
"integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
|
|
||||||
"requires": {
|
|
||||||
"lodash": "^4.17.14"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"debug": {
|
"debug": {
|
||||||
"version": "3.2.7",
|
"version": "3.2.7",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
"@storybook/addons": "6.5.9",
|
"@storybook/addons": "6.5.9",
|
||||||
"@storybook/vue": "6.3.13",
|
"@storybook/vue": "6.3.13",
|
||||||
"@vue/cli-plugin-babel": "^4.5.15",
|
"@vue/cli-plugin-babel": "^4.5.15",
|
||||||
"@vue/cli-plugin-eslint": "^4.5.18",
|
"@vue/cli-plugin-eslint": "^4.5.19",
|
||||||
"@vue/cli-plugin-router": "^4.5.15",
|
"@vue/cli-plugin-router": "^4.5.15",
|
||||||
"@vue/cli-plugin-unit-mocha": "^4.5.15",
|
"@vue/cli-plugin-unit-mocha": "^4.5.15",
|
||||||
"@vue/cli-service": "^4.5.15",
|
"@vue/cli-service": "^4.5.15",
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
"intro.js": "^5.1.0",
|
"intro.js": "^5.1.0",
|
||||||
"jquery": "^3.6.0",
|
"jquery": "^3.6.0",
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"moment": "^2.29.3",
|
"moment": "^2.29.4",
|
||||||
"nconf": "^0.12.0",
|
"nconf": "^0.12.0",
|
||||||
"sass": "^1.34.0",
|
"sass": "^1.34.0",
|
||||||
"sass-loader": "^8.0.2",
|
"sass-loader": "^8.0.2",
|
||||||
@@ -65,6 +65,6 @@
|
|||||||
"webpack": "^4.46.0"
|
"webpack": "^4.46.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/plugin-proposal-optional-chaining": "^7.17.12"
|
"@babel/plugin-proposal-optional-chaining": "^7.18.6"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -417,7 +417,15 @@ export default {
|
|||||||
this.$store.state.isUserLoaded = true;
|
this.$store.state.isUserLoaded = true;
|
||||||
Analytics.setUser();
|
Analytics.setUser();
|
||||||
Analytics.updateUser();
|
Analytics.updateUser();
|
||||||
return axios.get('/api/v4/i18n/browser-script', { language: this.user.preferences.language });
|
return axios.get('/api/v4/i18n/browser-script',
|
||||||
|
{
|
||||||
|
language: this.user.preferences.language,
|
||||||
|
headers: {
|
||||||
|
'Cache-Control': 'no-cache',
|
||||||
|
Pragma: 'no-cache',
|
||||||
|
Expires: '0',
|
||||||
|
},
|
||||||
|
});
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
const i18nData = window && window['habitica-i18n'];
|
const i18nData = window && window['habitica-i18n'];
|
||||||
this.$loadLocale(i18nData);
|
this.$loadLocale(i18nData);
|
||||||
|
|||||||
@@ -625,6 +625,11 @@
|
|||||||
width: 141px;
|
width: 141px;
|
||||||
height: 147px;
|
height: 147px;
|
||||||
}
|
}
|
||||||
|
.background_bioluminescent_waves {
|
||||||
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_bioluminescent_waves.png');
|
||||||
|
width: 141px;
|
||||||
|
height: 147px;
|
||||||
|
}
|
||||||
.background_birch_forest {
|
.background_birch_forest {
|
||||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_birch_forest.png');
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_birch_forest.png');
|
||||||
width: 141px;
|
width: 141px;
|
||||||
@@ -1884,11 +1889,21 @@
|
|||||||
width: 141px;
|
width: 141px;
|
||||||
height: 147px;
|
height: 147px;
|
||||||
}
|
}
|
||||||
|
.background_underwater_cave {
|
||||||
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_underwater_cave.png');
|
||||||
|
width: 141px;
|
||||||
|
height: 147px;
|
||||||
|
}
|
||||||
.background_underwater_ruins {
|
.background_underwater_ruins {
|
||||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_underwater_ruins.png');
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_underwater_ruins.png');
|
||||||
width: 141px;
|
width: 141px;
|
||||||
height: 147px;
|
height: 147px;
|
||||||
}
|
}
|
||||||
|
.background_underwater_statues {
|
||||||
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_underwater_statues.png');
|
||||||
|
width: 141px;
|
||||||
|
height: 147px;
|
||||||
|
}
|
||||||
.background_underwater_vents {
|
.background_underwater_vents {
|
||||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_underwater_vents.png');
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/background_underwater_vents.png');
|
||||||
width: 141px;
|
width: 141px;
|
||||||
@@ -2151,6 +2166,11 @@
|
|||||||
width: 68px;
|
width: 68px;
|
||||||
height: 68px;
|
height: 68px;
|
||||||
}
|
}
|
||||||
|
.icon_background_bioluminescent_waves {
|
||||||
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_bioluminescent_waves.png');
|
||||||
|
width: 68px;
|
||||||
|
height: 68px;
|
||||||
|
}
|
||||||
.icon_background_birch_forest {
|
.icon_background_birch_forest {
|
||||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_birch_forest.png');
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_birch_forest.png');
|
||||||
width: 68px;
|
width: 68px;
|
||||||
@@ -3420,11 +3440,21 @@
|
|||||||
width: 68px;
|
width: 68px;
|
||||||
height: 68px;
|
height: 68px;
|
||||||
}
|
}
|
||||||
|
.icon_background_underwater_cave {
|
||||||
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_underwater_cave.png');
|
||||||
|
width: 68px;
|
||||||
|
height: 68px;
|
||||||
|
}
|
||||||
.icon_background_underwater_ruins {
|
.icon_background_underwater_ruins {
|
||||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_underwater_ruins.png');
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_underwater_ruins.png');
|
||||||
width: 68px;
|
width: 68px;
|
||||||
height: 68px;
|
height: 68px;
|
||||||
}
|
}
|
||||||
|
.icon_background_underwater_statues {
|
||||||
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_underwater_statues.png');
|
||||||
|
width: 68px;
|
||||||
|
height: 68px;
|
||||||
|
}
|
||||||
.icon_background_underwater_vents {
|
.icon_background_underwater_vents {
|
||||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_underwater_vents.png');
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/icon_background_underwater_vents.png');
|
||||||
width: 68px;
|
width: 68px;
|
||||||
@@ -18145,6 +18175,11 @@
|
|||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
|
.broad_armor_armoire_fancyPirateSuit {
|
||||||
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_armoire_fancyPirateSuit.png');
|
||||||
|
width: 114px;
|
||||||
|
height: 90px;
|
||||||
|
}
|
||||||
.broad_armor_armoire_farrierOutfit {
|
.broad_armor_armoire_farrierOutfit {
|
||||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_armoire_farrierOutfit.png');
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/broad_armor_armoire_farrierOutfit.png');
|
||||||
width: 90px;
|
width: 90px;
|
||||||
@@ -18590,6 +18625,11 @@
|
|||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
|
.head_armoire_fancyPirateHat {
|
||||||
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_armoire_fancyPirateHat.png');
|
||||||
|
width: 114px;
|
||||||
|
height: 90px;
|
||||||
|
}
|
||||||
.head_armoire_fiddlersCap {
|
.head_armoire_fiddlersCap {
|
||||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_armoire_fiddlersCap.png');
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/head_armoire_fiddlersCap.png');
|
||||||
width: 114px;
|
width: 114px;
|
||||||
@@ -19175,6 +19215,11 @@
|
|||||||
width: 114px;
|
width: 114px;
|
||||||
height: 87px;
|
height: 87px;
|
||||||
}
|
}
|
||||||
|
.shield_armoire_treasureMap {
|
||||||
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_armoire_treasureMap.png');
|
||||||
|
width: 114px;
|
||||||
|
height: 90px;
|
||||||
|
}
|
||||||
.shield_armoire_trustyUmbrella {
|
.shield_armoire_trustyUmbrella {
|
||||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_armoire_trustyUmbrella.png');
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shield_armoire_trustyUmbrella.png');
|
||||||
width: 114px;
|
width: 114px;
|
||||||
@@ -19325,6 +19370,11 @@
|
|||||||
width: 68px;
|
width: 68px;
|
||||||
height: 68px;
|
height: 68px;
|
||||||
}
|
}
|
||||||
|
.shop_armor_armoire_fancyPirateSuit {
|
||||||
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_armoire_fancyPirateSuit.png');
|
||||||
|
width: 68px;
|
||||||
|
height: 68px;
|
||||||
|
}
|
||||||
.shop_armor_armoire_farrierOutfit {
|
.shop_armor_armoire_farrierOutfit {
|
||||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_armoire_farrierOutfit.png');
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_armor_armoire_farrierOutfit.png');
|
||||||
width: 68px;
|
width: 68px;
|
||||||
@@ -19785,6 +19835,11 @@
|
|||||||
width: 68px;
|
width: 68px;
|
||||||
height: 68px;
|
height: 68px;
|
||||||
}
|
}
|
||||||
|
.shop_head_armoire_fancyPirateHat {
|
||||||
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_armoire_fancyPirateHat.png');
|
||||||
|
width: 68px;
|
||||||
|
height: 68px;
|
||||||
|
}
|
||||||
.shop_head_armoire_fiddlersCap {
|
.shop_head_armoire_fiddlersCap {
|
||||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_armoire_fiddlersCap.png');
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_head_armoire_fiddlersCap.png');
|
||||||
width: 68px;
|
width: 68px;
|
||||||
@@ -20370,6 +20425,11 @@
|
|||||||
width: 68px;
|
width: 68px;
|
||||||
height: 68px;
|
height: 68px;
|
||||||
}
|
}
|
||||||
|
.shop_shield_armoire_treasureMap {
|
||||||
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_armoire_treasureMap.png');
|
||||||
|
width: 68px;
|
||||||
|
height: 68px;
|
||||||
|
}
|
||||||
.shop_shield_armoire_trustyUmbrella {
|
.shop_shield_armoire_trustyUmbrella {
|
||||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_armoire_trustyUmbrella.png');
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/shop_shield_armoire_trustyUmbrella.png');
|
||||||
width: 68px;
|
width: 68px;
|
||||||
@@ -20960,6 +21020,11 @@
|
|||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
|
.slim_armor_armoire_fancyPirateSuit {
|
||||||
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_armoire_fancyPirateSuit.png');
|
||||||
|
width: 114px;
|
||||||
|
height: 90px;
|
||||||
|
}
|
||||||
.slim_armor_armoire_farrierOutfit {
|
.slim_armor_armoire_farrierOutfit {
|
||||||
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_armoire_farrierOutfit.png');
|
background-image: url('https://habitica-assets.s3.amazonaws.com/mobileApp/images/slim_armor_armoire_farrierOutfit.png');
|
||||||
width: 90px;
|
width: 90px;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
:class="{ condensed, expanded, 'd-flex': isHeader, row: !isHeader, }"
|
:class="{ condensed, expanded, 'd-flex': isHeader, row: !isHeader, }"
|
||||||
@click="showMemberModal(member)"
|
@click="showMemberModal(member)"
|
||||||
>
|
>
|
||||||
<div :class="{ 'col-4': !isHeader }">
|
<div class="avatar-container" :class="{ 'col-4': !isHeader }">
|
||||||
<avatar
|
<avatar
|
||||||
:member="member"
|
:member="member"
|
||||||
:hide-class-badge="classBadgePosition !== 'under-avatar'"
|
:hide-class-badge="classBadgePosition !== 'under-avatar'"
|
||||||
@@ -92,6 +92,10 @@
|
|||||||
.member-details {
|
.member-details {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
transition: all 0.15s ease-out;
|
transition: all 0.15s ease-out;
|
||||||
|
|
||||||
|
.avatar-container {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.member-stats {
|
.member-stats {
|
||||||
|
|||||||
@@ -739,6 +739,14 @@ export default {
|
|||||||
} else if (attribute === 'email') {
|
} else if (attribute === 'email') {
|
||||||
this.user.auth.local.email = updates.newEmail;
|
this.user.auth.local.email = updates.newEmail;
|
||||||
window.alert(this.$t('emailSuccess')); // eslint-disable-line no-alert
|
window.alert(this.$t('emailSuccess')); // eslint-disable-line no-alert
|
||||||
|
} else if (attribute === 'password') {
|
||||||
|
this.passwordUpdates = {};
|
||||||
|
this.$store.dispatch('snackbars:add', {
|
||||||
|
title: 'Habitica',
|
||||||
|
text: this.$t('passwordSuccess'),
|
||||||
|
type: 'success',
|
||||||
|
timeout: true,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async changeDisplayName (newName) {
|
async changeDisplayName (newName) {
|
||||||
|
|||||||
@@ -126,7 +126,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12 col-md-6 offset-md-3 text-center nav">
|
<div class="text-center nav">
|
||||||
<div
|
<div
|
||||||
class="nav-item"
|
class="nav-item"
|
||||||
:class="{active: selectedPage === 'profile'}"
|
:class="{active: selectedPage === 'profile'}"
|
||||||
@@ -470,6 +470,7 @@
|
|||||||
.gift-icon svg {
|
.gift-icon svg {
|
||||||
height: 14px;
|
height: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@@ -538,6 +539,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.nav {
|
.nav {
|
||||||
|
width: 100%;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
min-height: 40px;
|
min-height: 40px;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@@ -710,6 +712,27 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 990px) {
|
||||||
|
.profile-actions {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
.profile-actions :not(:last-child) {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
.profile-actions {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 550px) {
|
||||||
|
.member-details {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
.member-details .avatar {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
class="standard-page"
|
class="standard-page"
|
||||||
>
|
>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-12 col-md-6">
|
<div class="stats-section-equipment col-12 col-md-6">
|
||||||
<h2 class="text-center">
|
<h2 class="text-center">
|
||||||
{{ $t('equipment') }}
|
{{ $t('equipment') }}
|
||||||
</h2>
|
</h2>
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
<div
|
<div
|
||||||
v-for="(label, key) in equipTypes"
|
v-for="(label, key) in equipTypes"
|
||||||
:key="key"
|
:key="key"
|
||||||
class="col-12 col-md-4 item-wrapper"
|
class="item-wrapper"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
v-if="label !== 'skip'"
|
v-if="label !== 'skip'"
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 col-md-6">
|
<div class="stats-section-costume col-12 col-md-6">
|
||||||
<h2 class="text-center">
|
<h2 class="text-center">
|
||||||
{{ $t('costume') }}
|
{{ $t('costume') }}
|
||||||
</h2>
|
</h2>
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
<div
|
<div
|
||||||
v-for="(label, key) in equipTypes"
|
v-for="(label, key) in equipTypes"
|
||||||
:key="key"
|
:key="key"
|
||||||
class="col-12 col-md-4 item-wrapper"
|
class="item-wrapper"
|
||||||
>
|
>
|
||||||
<!-- Append a "C" to the key name since HTML IDs have to be unique.-->
|
<!-- Append a "C" to the key name since HTML IDs have to be unique.-->
|
||||||
<div
|
<div
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row pet-mount-row">
|
<div class="row pet-mount-row">
|
||||||
<div class="col-12 col-md-6">
|
<div class="stats-section-pets col-12 col-md-6">
|
||||||
<h2
|
<h2
|
||||||
v-once
|
v-once
|
||||||
class="text-center"
|
class="text-center"
|
||||||
@@ -119,8 +119,7 @@
|
|||||||
{{ $t('pets') }}
|
{{ $t('pets') }}
|
||||||
</h2>
|
</h2>
|
||||||
<div class="well pet-mount-well">
|
<div class="well pet-mount-well">
|
||||||
<div class="row col-12">
|
<div class="pet-mount-well-image">
|
||||||
<div class="col-12 col-md-4">
|
|
||||||
<div
|
<div
|
||||||
class="box"
|
class="box"
|
||||||
:class="{white: user.items.currentPet}"
|
:class="{white: user.items.currentPet}"
|
||||||
@@ -131,7 +130,7 @@
|
|||||||
></div>
|
></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 col-md-8">
|
<div class="pet-mount-well-text">
|
||||||
<div>{{ formatAnimal(user.items.currentPet, 'pet') }}</div>
|
<div>{{ formatAnimal(user.items.currentPet, 'pet') }}</div>
|
||||||
<div>
|
<div>
|
||||||
<strong>{{ $t('petsFound') }}:</strong>
|
<strong>{{ $t('petsFound') }}:</strong>
|
||||||
@@ -142,10 +141,9 @@
|
|||||||
{{ beastMasterProgress(user.items.pets) }}
|
{{ beastMasterProgress(user.items.pets) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 col-md-6">
|
<div class="stats-section-mounts col-12 col-md-6">
|
||||||
<h2
|
<h2
|
||||||
v-once
|
v-once
|
||||||
class="text-center"
|
class="text-center"
|
||||||
@@ -153,28 +151,26 @@
|
|||||||
{{ $t('mounts') }}
|
{{ $t('mounts') }}
|
||||||
</h2>
|
</h2>
|
||||||
<div class="well pet-mount-well">
|
<div class="well pet-mount-well">
|
||||||
<div class="row col-12">
|
<div class="pet-mount-well-image">
|
||||||
<div class="col-12 col-md-4">
|
<div
|
||||||
|
class="box"
|
||||||
|
:class="{white: user.items.currentMount}"
|
||||||
|
>
|
||||||
<div
|
<div
|
||||||
class="box"
|
class="mount"
|
||||||
:class="{white: user.items.currentMount}"
|
:class="`Mount_Icon_${user.items.currentMount}`"
|
||||||
>
|
></div>
|
||||||
<div
|
|
||||||
class="mount"
|
|
||||||
:class="`Mount_Icon_${user.items.currentMount}`"
|
|
||||||
></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 col-md-8">
|
</div>
|
||||||
<div>{{ formatAnimal(user.items.currentMount, 'mount') }}</div>
|
<div class="pet-mount-well-text">
|
||||||
<div>
|
<div>{{ formatAnimal(user.items.currentMount, 'mount') }}</div>
|
||||||
<strong>{{ $t('mountsTamed') }}:</strong>
|
<div>
|
||||||
<span>{{ totalCount(user.items.mounts) }}</span>
|
<strong>{{ $t('mountsTamed') }}:</strong>
|
||||||
</div>
|
<span>{{ totalCount(user.items.mounts) }}</span>
|
||||||
<div>
|
</div>
|
||||||
<strong>{{ $t('mountMasterProgress') }}:</strong>
|
<div>
|
||||||
<span>{{ mountMasterProgress(user.items.mounts) }}</span>
|
<strong>{{ $t('mountMasterProgress') }}:</strong>
|
||||||
</div>
|
<span>{{ mountMasterProgress(user.items.mounts) }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -309,15 +305,13 @@
|
|||||||
v-if="showStatsSave"
|
v-if="showStatsSave"
|
||||||
class="row save-row"
|
class="row save-row"
|
||||||
>
|
>
|
||||||
<div class="col-12 col-md-6 offset-md-3 text-center">
|
<button
|
||||||
<button
|
class="btn btn-primary"
|
||||||
class="btn btn-primary"
|
:disabled="loading"
|
||||||
:disabled="loading"
|
@click="saveAttributes()"
|
||||||
@click="saveAttributes()"
|
>
|
||||||
>
|
{{ loading ? $t('loading') : $t('save') }}
|
||||||
{{ loading ? $t('loading') : $t('save') }}
|
</button>
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -650,10 +644,17 @@ export default {
|
|||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
padding: 0.4em;
|
padding: 0.4em;
|
||||||
padding-top: 1em;
|
padding-top: 1em;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.well.pet-mount-well {
|
.well.pet-mount-well {
|
||||||
|
padding-left: 15px;
|
||||||
padding-bottom: 1em;
|
padding-bottom: 1em;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
justify-content: flex-start;
|
||||||
|
|
||||||
strong {
|
strong {
|
||||||
margin-right: .2em;
|
margin-right: .2em;
|
||||||
@@ -690,12 +691,13 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.save-row {
|
.save-row {
|
||||||
margin-top: 1em;
|
margin: 2em 0 1em 0;
|
||||||
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gear.box {
|
.gear.box {
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
margin: 0 auto;
|
// margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gear-label {
|
.gear-label {
|
||||||
@@ -721,4 +723,34 @@ export default {
|
|||||||
// breaks the long words without a space
|
// breaks the long words without a space
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 850px) {
|
||||||
|
#stats .col-md-6 {
|
||||||
|
flex: none;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media(max-width: 990px) {
|
||||||
|
.modal-body #stats .col-md-6 {
|
||||||
|
flex: none;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
[class^="stats-section-"] {
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
#allocation {
|
||||||
|
.box {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
.col-9 {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.col-9 div:first-child {
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -795,6 +795,14 @@
|
|||||||
"backgroundSailboatAtSunsetText": "Sailboat At Sunset",
|
"backgroundSailboatAtSunsetText": "Sailboat At Sunset",
|
||||||
"backgroundSailboatAtSunsetNotes": "Enjoy the beauty of a sailboat at sunset.",
|
"backgroundSailboatAtSunsetNotes": "Enjoy the beauty of a sailboat at sunset.",
|
||||||
|
|
||||||
|
"backgrounds072022": "SET 98: Released July 2022",
|
||||||
|
"backgroundBioluminescentWavesText": "Bioluminescent Waves",
|
||||||
|
"backgroundBioluminescentWavesNotes": "Admire the glow of Bioluminescent Waves.",
|
||||||
|
"backgroundUnderwaterCaveText": "Underwater Cave",
|
||||||
|
"backgroundUnderwaterCaveNotes": "Explore an Underwater Cave.",
|
||||||
|
"backgroundUnderwaterStatuesText": "Underwater Statue Garden",
|
||||||
|
"backgroundUnderwaterStatuesNotes": "Try not to blink in an Underwater Statue Garden.",
|
||||||
|
|
||||||
"timeTravelBackgrounds": "Steampunk Backgrounds",
|
"timeTravelBackgrounds": "Steampunk Backgrounds",
|
||||||
"backgroundAirshipText": "Airship",
|
"backgroundAirshipText": "Airship",
|
||||||
"backgroundAirshipNotes": "Become a sky sailor on board your very own Airship.",
|
"backgroundAirshipNotes": "Become a sky sailor on board your very own Airship.",
|
||||||
|
|||||||
@@ -1362,6 +1362,8 @@
|
|||||||
"armorArmoireGardenersOverallsNotes": "Don’t be afraid to work down in the dirt when you’re wearing these durable overalls. Increases Constitution by <%= con %>. Enchanted Armoire: Gardener Set (Item 1 of 4).",
|
"armorArmoireGardenersOverallsNotes": "Don’t be afraid to work down in the dirt when you’re wearing these durable overalls. Increases Constitution by <%= con %>. Enchanted Armoire: Gardener Set (Item 1 of 4).",
|
||||||
"armorArmoireStrawRaincoatText": "Straw Raincoat",
|
"armorArmoireStrawRaincoatText": "Straw Raincoat",
|
||||||
"armorArmoireStrawRaincoatNotes": "This woven straw cape will keep you dry and your armor from rusting while on your quest. Just don’t venture too near a candle! Increases Constitution by <%= con %>. Enchanted Armoire: Straw Raincoat Set (Item 1 of 2).",
|
"armorArmoireStrawRaincoatNotes": "This woven straw cape will keep you dry and your armor from rusting while on your quest. Just don’t venture too near a candle! Increases Constitution by <%= con %>. Enchanted Armoire: Straw Raincoat Set (Item 1 of 2).",
|
||||||
|
"armorArmoireFancyPirateSuitText": "Fancy Pirate Jacket",
|
||||||
|
"armorArmoireFancyPirateSuitNotes": "Wear this fine jacket well as you organize 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).",
|
||||||
|
|
||||||
"headgear": "helm",
|
"headgear": "helm",
|
||||||
"headgearCapitalized": "Headgear",
|
"headgearCapitalized": "Headgear",
|
||||||
@@ -2095,6 +2097,8 @@
|
|||||||
"headArmoireGardenersSunHatNotes": "The bright light of the day star won’t shine in your eyes when you wear this wide-brimmed hat. Increases Perception by <%= per %>. Enchanted Armoire: Gardener Set (Item 2 of 4).",
|
"headArmoireGardenersSunHatNotes": "The bright light of the day star won’t shine in your eyes when you wear this wide-brimmed hat. Increases Perception by <%= per %>. Enchanted Armoire: Gardener Set (Item 2 of 4).",
|
||||||
"headArmoireStrawRainHatText": "Straw Rain Hat",
|
"headArmoireStrawRainHatText": "Straw Rain Hat",
|
||||||
"headArmoireStrawRainHatNotes": "You’ll be able to spot every obstacle in your path when you wear this water-resistant, conical hat. Increases Perception by <%= per %>. Enchanted Armoire: Straw Raincoat Set (Item 2 of 2).",
|
"headArmoireStrawRainHatNotes": "You’ll be able to spot every obstacle in your path when you wear this water-resistant, conical hat. Increases Perception by <%= per %>. Enchanted Armoire: Straw Raincoat Set (Item 2 of 2).",
|
||||||
|
"headArmoireFancyPirateHatText": "Fancy Pirate Hat",
|
||||||
|
"headArmoireFancyPirateHatNotes": "Be protected from the sun and any seagulls flying overhead as you drink tea on the deck of your ship. Increases Perception by <%= per %>. Enchanted Armoire: Fancy Pirate Set (Item 2 of 3).",
|
||||||
|
|
||||||
"offhand": "off-hand item",
|
"offhand": "off-hand item",
|
||||||
"offHandCapitalized": "Off-Hand Item",
|
"offHandCapitalized": "Off-Hand Item",
|
||||||
@@ -2481,6 +2485,8 @@
|
|||||||
"shieldArmoireSpanishGuitarNotes": "Tink! Tink! Thrummm! Gather your party for a concert or celebration by playing this guitar. Increases Perception by <%= per %> and Intelligence by <%= int %>. Enchanted Armoire: Musical Instrument Set 1 (Item 2 of 3)",
|
"shieldArmoireSpanishGuitarNotes": "Tink! Tink! Thrummm! Gather your party for a concert or celebration by playing this guitar. Increases Perception by <%= per %> and Intelligence by <%= int %>. Enchanted Armoire: Musical Instrument Set 1 (Item 2 of 3)",
|
||||||
"shieldArmoireSnareDrumText": "Snare Drum",
|
"shieldArmoireSnareDrumText": "Snare Drum",
|
||||||
"shieldArmoireSnareDrumNotes": "Rat-a-tat-tat! Gather your party for a parade or march into battle by playing this drum. Increases Constitution by <%= con %> and Intelligence by <%= int %>. Enchanted Armoire: Musical Instrument Set 1 (Item 3 of 3)",
|
"shieldArmoireSnareDrumNotes": "Rat-a-tat-tat! Gather your party for a parade or march into battle by playing this drum. Increases Constitution by <%= con %> and Intelligence by <%= int %>. Enchanted Armoire: Musical Instrument Set 1 (Item 3 of 3)",
|
||||||
|
"shieldArmoireTreasureMapText": "Treasure Map",
|
||||||
|
"shieldArmoireTreasureMapNotes": "X marks the spot! You never know what you’ll find when you follow this handy map to fabled treasures: gold, jewels, relics, or perhaps a petrified orange? Increases Strength and Intelligence by <%= attrs %> each. Enchanted Armoire: Fancy Pirate Set (Item 3 of 3).",
|
||||||
|
|
||||||
"back": "Back Accessory",
|
"back": "Back Accessory",
|
||||||
"backBase0Text": "No Back Accessory",
|
"backBase0Text": "No Back Accessory",
|
||||||
|
|||||||
@@ -87,6 +87,7 @@
|
|||||||
"passwordChangeSuccess": "Your password was successfully changed to the one you just chose. You can now use it to access your account.",
|
"passwordChangeSuccess": "Your password was successfully changed to the one you just chose. You can now use it to access your account.",
|
||||||
"displayNameSuccess": "Display name successfully changed",
|
"displayNameSuccess": "Display name successfully changed",
|
||||||
"emailSuccess": "Email successfully changed",
|
"emailSuccess": "Email successfully changed",
|
||||||
|
"passwordSuccess": "Password successfully changed",
|
||||||
"detachSocial": "De-register <%= network %>",
|
"detachSocial": "De-register <%= network %>",
|
||||||
"detachedSocial": "Successfully removed <%= network %> authentication from your account",
|
"detachedSocial": "Successfully removed <%= network %> authentication from your account",
|
||||||
"addedLocalAuth": "Successfully added local authentication",
|
"addedLocalAuth": "Successfully added local authentication",
|
||||||
|
|||||||
@@ -505,6 +505,11 @@ const backgrounds = {
|
|||||||
mountain_waterfall: { },
|
mountain_waterfall: { },
|
||||||
sailboat_at_sunset: { },
|
sailboat_at_sunset: { },
|
||||||
},
|
},
|
||||||
|
backgrounds072022: {
|
||||||
|
bioluminescent_waves: { },
|
||||||
|
underwater_cave: { },
|
||||||
|
underwater_statues: { },
|
||||||
|
},
|
||||||
timeTravelBackgrounds: {
|
timeTravelBackgrounds: {
|
||||||
airship: {
|
airship: {
|
||||||
price: 1,
|
price: 1,
|
||||||
|
|||||||
@@ -396,6 +396,11 @@ const armor = {
|
|||||||
con: 9,
|
con: 9,
|
||||||
set: 'strawRaincoat',
|
set: 'strawRaincoat',
|
||||||
},
|
},
|
||||||
|
fancyPirateSuit: {
|
||||||
|
con: 4,
|
||||||
|
int: 4,
|
||||||
|
set: 'fancyPirate',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const body = {
|
const body = {
|
||||||
@@ -803,6 +808,10 @@ const head = {
|
|||||||
per: 9,
|
per: 9,
|
||||||
set: 'strawRaincoat',
|
set: 'strawRaincoat',
|
||||||
},
|
},
|
||||||
|
fancyPirateHat: {
|
||||||
|
per: 8,
|
||||||
|
set: 'fancyPirate',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const shield = {
|
const shield = {
|
||||||
@@ -1086,6 +1095,11 @@ const shield = {
|
|||||||
int: 6,
|
int: 6,
|
||||||
set: 'musicalInstrumentOne',
|
set: 'musicalInstrumentOne',
|
||||||
},
|
},
|
||||||
|
treasureMap: {
|
||||||
|
int: 4,
|
||||||
|
str: 4,
|
||||||
|
set: 'fancyPirate',
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const headAccessory = {
|
const headAccessory = {
|
||||||
|
|||||||
@@ -398,7 +398,7 @@ spells.special = {
|
|||||||
target: 'user',
|
target: 'user',
|
||||||
notes: t('spellSpecialSeafoamNotes'),
|
notes: t('spellSpecialSeafoamNotes'),
|
||||||
canOwn () {
|
canOwn () {
|
||||||
return moment().isBetween('2021-07-06T08:00-04:00', EVENTS.summer2021.end);
|
return moment().isBetween('2022-07-12T08:00-04:00', EVENTS.summer2022.end);
|
||||||
},
|
},
|
||||||
cast (user, target, req) {
|
cast (user, target, req) {
|
||||||
if (!user.items.special.seafoam) throw new NotAuthorized(t('spellNotOwned')(req.language));
|
if (!user.items.special.seafoam) throw new NotAuthorized(t('spellNotOwned')(req.language));
|
||||||
|
|||||||
Reference in New Issue
Block a user