mirror of
https://github.com/YouHaveTrouble/GuildMaster.git
synced 2026-05-12 06:26:59 +00:00
Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1b1695bf1f | |||
| f524ce5e2e | |||
| d14ef20fb1 | |||
| 83070b632b | |||
| 2723801c9c | |||
| 5d1ce0a262 | |||
| 74ebac9862 | |||
| 2a5b162605 | |||
| d6e897c289 | |||
| a2b8b40464 | |||
| bdaa3bc029 | |||
| 816c1fb0e7 | |||
| acdd8f6964 | |||
| 5fa8f2cf15 | |||
| 5a818fb142 |
@@ -0,0 +1 @@
|
|||||||
|
Looking for artists for assets for this game! Need backgrounds, icons and character portraits! Join discord for more info!
|
||||||
Generated
+151
-151
@@ -1,28 +1,37 @@
|
|||||||
{
|
{
|
||||||
"name": "adventurers-guild",
|
"name": "adventurers-guild",
|
||||||
"version": "0.7.0",
|
"version": "0.9.0",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "adventurers-guild",
|
"name": "adventurers-guild",
|
||||||
"version": "0.7.0",
|
"version": "0.9.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vueuse/components": "^9.13.0",
|
"@vueuse/components": "^9.13.0",
|
||||||
"sass": "^1.63.4",
|
"sass": "^1.63.6",
|
||||||
"vue": "^3.3.4",
|
"vue": "^3.3.4",
|
||||||
"vue-router": "^4.2.2"
|
"vue-router": "^4.2.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^18.16.18",
|
"@types/node": "^18.16.19",
|
||||||
"@vitejs/plugin-vue": "^4.2.3",
|
"@vitejs/plugin-vue": "^4.2.3",
|
||||||
"@vue/tsconfig": "^0.4.0",
|
"@vue/tsconfig": "^0.4.0",
|
||||||
"eslint": "^8.43.0",
|
"eslint": "^8.44.0",
|
||||||
"eslint-plugin-vue": "^9.15.0",
|
"eslint-plugin-vue": "^9.15.1",
|
||||||
"npm-run-all": "^4.1.5",
|
"npm-run-all": "^4.1.5",
|
||||||
"typescript": "~5.1.3",
|
"typescript": "~5.1.6",
|
||||||
"vite": "4.3.9",
|
"vite": "4.3.9",
|
||||||
"vue-tsc": "^1.8.1"
|
"vue-tsc": "^1.8.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@aashutoshrathi/word-wrap": {
|
||||||
|
"version": "1.2.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
|
||||||
|
"integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/parser": {
|
"node_modules/@babel/parser": {
|
||||||
@@ -413,14 +422,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/eslintrc": {
|
"node_modules/@eslint/eslintrc": {
|
||||||
"version": "2.0.3",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz",
|
||||||
"integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==",
|
"integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ajv": "^6.12.4",
|
"ajv": "^6.12.4",
|
||||||
"debug": "^4.3.2",
|
"debug": "^4.3.2",
|
||||||
"espree": "^9.5.2",
|
"espree": "^9.6.0",
|
||||||
"globals": "^13.19.0",
|
"globals": "^13.19.0",
|
||||||
"ignore": "^5.2.0",
|
"ignore": "^5.2.0",
|
||||||
"import-fresh": "^3.2.1",
|
"import-fresh": "^3.2.1",
|
||||||
@@ -436,9 +445,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/js": {
|
"node_modules/@eslint/js": {
|
||||||
"version": "8.43.0",
|
"version": "8.44.0",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.43.0.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz",
|
||||||
"integrity": "sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==",
|
"integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||||
@@ -518,9 +527,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "18.16.18",
|
"version": "18.16.19",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.18.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.19.tgz",
|
||||||
"integrity": "sha512-/aNaQZD0+iSBAGnvvN2Cx92HqE5sZCPZtx2TsK+4nvV23fFe09jVDvpArXr2j9DnYlzuU9WuoykDDc6wqvpNcw==",
|
"integrity": "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@types/web-bluetooth": {
|
"node_modules/@types/web-bluetooth": {
|
||||||
@@ -542,30 +551,30 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@volar/language-core": {
|
"node_modules/@volar/language-core": {
|
||||||
"version": "1.7.8",
|
"version": "1.7.10",
|
||||||
"resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.7.8.tgz",
|
"resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.7.10.tgz",
|
||||||
"integrity": "sha512-TPklg4c2e/f1xB/MGZEiQc3AWG+dH64ZfBlYjFB8nNaWJt4Z4k+IHBhmaP52APG+5PHFerwiWI9oF002RrRTPA==",
|
"integrity": "sha512-18Gmth5M0UI3hDDqhZngjMnb6WCslcfglkOdepRIhGxRYe7xR7DRRzciisYDMZsvOQxDYme+uaohg0dKUxLV2Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@volar/source-map": "1.7.8"
|
"@volar/source-map": "1.7.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@volar/source-map": {
|
"node_modules/@volar/source-map": {
|
||||||
"version": "1.7.8",
|
"version": "1.7.10",
|
||||||
"resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.7.8.tgz",
|
"resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.7.10.tgz",
|
||||||
"integrity": "sha512-g2dtC2kOghvfzMDWeODIo4HO1Ml4hxzPTZyAFDz+YhRF9HjZYJSCaWaVuPZ+z0kY+T2daOHYA10GdrWQ5q0teA==",
|
"integrity": "sha512-FBpLEOKJpRxeh2nYbw1mTI5sZOPXYU8LlsCz6xuBY3yNtAizDTTIZtBHe1V8BaMpoSMgRysZe4gVxMEi3rDGVA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"muggle-string": "^0.3.1"
|
"muggle-string": "^0.3.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@volar/typescript": {
|
"node_modules/@volar/typescript": {
|
||||||
"version": "1.7.8",
|
"version": "1.7.10",
|
||||||
"resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.7.8.tgz",
|
"resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.7.10.tgz",
|
||||||
"integrity": "sha512-NDcI5ZQcdr8kgxzMQrhSSWIM8Tl0MbMFrkvJPTjfm2rdAQZPFT8zv3LrEW9Fqh0e9z2YbCry7jr4a/GShBqeDA==",
|
"integrity": "sha512-yqIov4wndLU3GE1iE25bU5W6T+P+exPePcE1dFPPBKzQIBki1KvmdQN5jBlJp3Wo+wp7UIxa/RsdNkXT+iFBjg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@volar/language-core": "1.7.8"
|
"@volar/language-core": "1.7.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/compiler-core": {
|
"node_modules/@vue/compiler-core": {
|
||||||
@@ -620,13 +629,13 @@
|
|||||||
"integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q=="
|
"integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q=="
|
||||||
},
|
},
|
||||||
"node_modules/@vue/language-core": {
|
"node_modules/@vue/language-core": {
|
||||||
"version": "1.8.1",
|
"version": "1.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.3.tgz",
|
||||||
"integrity": "sha512-pumv3k4J7P58hVh4YGRM9Qz3HaAr4TlFWM9bnVOkZ/2K9o2CK1lAP2y9Jw+Z0+mNL4F2uWQqnAPzj3seLyfpDA==",
|
"integrity": "sha512-AzhvMYoQkK/tg8CpAAttO19kx1zjS3+weYIr2AhlH/M5HebVzfftQoq4jZNFifjq+hyLKi8j9FiDMS8oqA89+A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@volar/language-core": "1.7.8",
|
"@volar/language-core": "1.7.10",
|
||||||
"@volar/source-map": "1.7.8",
|
"@volar/source-map": "1.7.10",
|
||||||
"@vue/compiler-dom": "^3.3.0",
|
"@vue/compiler-dom": "^3.3.0",
|
||||||
"@vue/reactivity": "^3.3.0",
|
"@vue/reactivity": "^3.3.0",
|
||||||
"@vue/shared": "^3.3.0",
|
"@vue/shared": "^3.3.0",
|
||||||
@@ -653,9 +662,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/language-core/node_modules/minimatch": {
|
"node_modules/@vue/language-core/node_modules/minimatch": {
|
||||||
"version": "9.0.1",
|
"version": "9.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.2.tgz",
|
||||||
"integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==",
|
"integrity": "sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"brace-expansion": "^2.0.1"
|
"brace-expansion": "^2.0.1"
|
||||||
@@ -730,13 +739,13 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@vue/typescript": {
|
"node_modules/@vue/typescript": {
|
||||||
"version": "1.8.1",
|
"version": "1.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/typescript/-/typescript-1.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/typescript/-/typescript-1.8.3.tgz",
|
||||||
"integrity": "sha512-nQpo55j/roie8heCfqyXHnyayqD5+p4/0fzfxH4ZuHf7NSBQS791PNv7ztp2CCOjnGAiaiCMdtC9rc6oriyPUg==",
|
"integrity": "sha512-6bdgSnIFpRYHlt70pHmnmNksPU00bfXgqAISeaNz3W6d2cH0OTfH8h/IhligQ82sJIhsuyfftQJ5518ZuKIhtA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@volar/typescript": "1.7.8",
|
"@volar/typescript": "1.7.10",
|
||||||
"@vue/language-core": "1.8.1"
|
"@vue/language-core": "1.8.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vueuse/components": {
|
"node_modules/@vueuse/components": {
|
||||||
@@ -1307,15 +1316,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint": {
|
"node_modules/eslint": {
|
||||||
"version": "8.43.0",
|
"version": "8.44.0",
|
||||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.43.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz",
|
||||||
"integrity": "sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==",
|
"integrity": "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.2.0",
|
"@eslint-community/eslint-utils": "^4.2.0",
|
||||||
"@eslint-community/regexpp": "^4.4.0",
|
"@eslint-community/regexpp": "^4.4.0",
|
||||||
"@eslint/eslintrc": "^2.0.3",
|
"@eslint/eslintrc": "^2.1.0",
|
||||||
"@eslint/js": "8.43.0",
|
"@eslint/js": "8.44.0",
|
||||||
"@humanwhocodes/config-array": "^0.11.10",
|
"@humanwhocodes/config-array": "^0.11.10",
|
||||||
"@humanwhocodes/module-importer": "^1.0.1",
|
"@humanwhocodes/module-importer": "^1.0.1",
|
||||||
"@nodelib/fs.walk": "^1.2.8",
|
"@nodelib/fs.walk": "^1.2.8",
|
||||||
@@ -1327,7 +1336,7 @@
|
|||||||
"escape-string-regexp": "^4.0.0",
|
"escape-string-regexp": "^4.0.0",
|
||||||
"eslint-scope": "^7.2.0",
|
"eslint-scope": "^7.2.0",
|
||||||
"eslint-visitor-keys": "^3.4.1",
|
"eslint-visitor-keys": "^3.4.1",
|
||||||
"espree": "^9.5.2",
|
"espree": "^9.6.0",
|
||||||
"esquery": "^1.4.2",
|
"esquery": "^1.4.2",
|
||||||
"esutils": "^2.0.2",
|
"esutils": "^2.0.2",
|
||||||
"fast-deep-equal": "^3.1.3",
|
"fast-deep-equal": "^3.1.3",
|
||||||
@@ -1347,7 +1356,7 @@
|
|||||||
"lodash.merge": "^4.6.2",
|
"lodash.merge": "^4.6.2",
|
||||||
"minimatch": "^3.1.2",
|
"minimatch": "^3.1.2",
|
||||||
"natural-compare": "^1.4.0",
|
"natural-compare": "^1.4.0",
|
||||||
"optionator": "^0.9.1",
|
"optionator": "^0.9.3",
|
||||||
"strip-ansi": "^6.0.1",
|
"strip-ansi": "^6.0.1",
|
||||||
"strip-json-comments": "^3.1.0",
|
"strip-json-comments": "^3.1.0",
|
||||||
"text-table": "^0.2.0"
|
"text-table": "^0.2.0"
|
||||||
@@ -1363,9 +1372,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint-plugin-vue": {
|
"node_modules/eslint-plugin-vue": {
|
||||||
"version": "9.15.0",
|
"version": "9.15.1",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.15.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.15.1.tgz",
|
||||||
"integrity": "sha512-XYzpK6e2REli100+6iCeBA69v6Sm0D/yK2FZP+fCeNt0yH/m82qZQq+ztseyV0JsKdhFysuSEzeE1yCmSC92BA==",
|
"integrity": "sha512-CJE/oZOslvmAR9hf8SClTdQ9JLweghT6JCBQNrT2Iel1uVw0W0OLJxzvPd6CxmABKCvLrtyDnqGV37O7KQv6+A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.3.0",
|
"@eslint-community/eslint-utils": "^4.3.0",
|
||||||
@@ -1580,12 +1589,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/espree": {
|
"node_modules/espree": {
|
||||||
"version": "9.5.2",
|
"version": "9.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz",
|
||||||
"integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==",
|
"integrity": "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"acorn": "^8.8.0",
|
"acorn": "^8.9.0",
|
||||||
"acorn-jsx": "^5.3.2",
|
"acorn-jsx": "^5.3.2",
|
||||||
"eslint-visitor-keys": "^3.4.1"
|
"eslint-visitor-keys": "^3.4.1"
|
||||||
},
|
},
|
||||||
@@ -2598,17 +2607,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/optionator": {
|
"node_modules/optionator": {
|
||||||
"version": "0.9.1",
|
"version": "0.9.3",
|
||||||
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
|
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
|
||||||
"integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
|
"integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@aashutoshrathi/word-wrap": "^1.2.3",
|
||||||
"deep-is": "^0.1.3",
|
"deep-is": "^0.1.3",
|
||||||
"fast-levenshtein": "^2.0.6",
|
"fast-levenshtein": "^2.0.6",
|
||||||
"levn": "^0.4.1",
|
"levn": "^0.4.1",
|
||||||
"prelude-ls": "^1.2.1",
|
"prelude-ls": "^1.2.1",
|
||||||
"type-check": "^0.4.0",
|
"type-check": "^0.4.0"
|
||||||
"word-wrap": "^1.2.3"
|
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.8.0"
|
"node": ">= 0.8.0"
|
||||||
@@ -2976,9 +2985,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/sass": {
|
"node_modules/sass": {
|
||||||
"version": "1.63.4",
|
"version": "1.63.6",
|
||||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.63.4.tgz",
|
"resolved": "https://registry.npmjs.org/sass/-/sass-1.63.6.tgz",
|
||||||
"integrity": "sha512-Sx/+weUmK+oiIlI+9sdD0wZHsqpbgQg8wSwSnGBjwb5GwqFhYNwwnI+UWZtLjKvKyFlKkatRK235qQ3mokyPoQ==",
|
"integrity": "sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chokidar": ">=3.0.0 <4.0.0",
|
"chokidar": ">=3.0.0 <4.0.0",
|
||||||
"immutable": "^4.0.0",
|
"immutable": "^4.0.0",
|
||||||
@@ -3259,9 +3268,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/typescript": {
|
"node_modules/typescript": {
|
||||||
"version": "5.1.3",
|
"version": "5.1.6",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz",
|
||||||
"integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==",
|
"integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"tsc": "bin/tsc",
|
"tsc": "bin/tsc",
|
||||||
@@ -3435,13 +3444,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vue-tsc": {
|
"node_modules/vue-tsc": {
|
||||||
"version": "1.8.1",
|
"version": "1.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.3.tgz",
|
||||||
"integrity": "sha512-GxBQrcb0Qvyrj1uZqnTXQyWbXdNDRY2MTa+r7ESgjhf+WzBSdxZfkS3KD/C3WhKYG+aN8hf44Hp5Gqzb6PehAA==",
|
"integrity": "sha512-Ua4DHuYxjudlhCW2nRZtaXbhIDVncRGIbDjZhHpF8Z8vklct/G/35/kAPuGNSOmq0JcvhPAe28Oa7LWaUerZVA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/language-core": "1.8.1",
|
"@vue/language-core": "1.8.3",
|
||||||
"@vue/typescript": "1.8.1",
|
"@vue/typescript": "1.8.3",
|
||||||
"semver": "^7.3.8"
|
"semver": "^7.3.8"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -3514,15 +3523,6 @@
|
|||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/word-wrap": {
|
|
||||||
"version": "1.2.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
|
|
||||||
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.10.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/wrappy": {
|
"node_modules/wrappy": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||||
@@ -3558,6 +3558,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@aashutoshrathi/word-wrap": {
|
||||||
|
"version": "1.2.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
|
||||||
|
"integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"@babel/parser": {
|
"@babel/parser": {
|
||||||
"version": "7.22.5",
|
"version": "7.22.5",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz",
|
||||||
@@ -3733,14 +3739,14 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@eslint/eslintrc": {
|
"@eslint/eslintrc": {
|
||||||
"version": "2.0.3",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz",
|
||||||
"integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==",
|
"integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"ajv": "^6.12.4",
|
"ajv": "^6.12.4",
|
||||||
"debug": "^4.3.2",
|
"debug": "^4.3.2",
|
||||||
"espree": "^9.5.2",
|
"espree": "^9.6.0",
|
||||||
"globals": "^13.19.0",
|
"globals": "^13.19.0",
|
||||||
"ignore": "^5.2.0",
|
"ignore": "^5.2.0",
|
||||||
"import-fresh": "^3.2.1",
|
"import-fresh": "^3.2.1",
|
||||||
@@ -3750,9 +3756,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@eslint/js": {
|
"@eslint/js": {
|
||||||
"version": "8.43.0",
|
"version": "8.44.0",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.43.0.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz",
|
||||||
"integrity": "sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==",
|
"integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@humanwhocodes/config-array": {
|
"@humanwhocodes/config-array": {
|
||||||
@@ -3810,9 +3816,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "18.16.18",
|
"version": "18.16.19",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.18.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.19.tgz",
|
||||||
"integrity": "sha512-/aNaQZD0+iSBAGnvvN2Cx92HqE5sZCPZtx2TsK+4nvV23fFe09jVDvpArXr2j9DnYlzuU9WuoykDDc6wqvpNcw==",
|
"integrity": "sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/web-bluetooth": {
|
"@types/web-bluetooth": {
|
||||||
@@ -3828,30 +3834,30 @@
|
|||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
"@volar/language-core": {
|
"@volar/language-core": {
|
||||||
"version": "1.7.8",
|
"version": "1.7.10",
|
||||||
"resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.7.8.tgz",
|
"resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.7.10.tgz",
|
||||||
"integrity": "sha512-TPklg4c2e/f1xB/MGZEiQc3AWG+dH64ZfBlYjFB8nNaWJt4Z4k+IHBhmaP52APG+5PHFerwiWI9oF002RrRTPA==",
|
"integrity": "sha512-18Gmth5M0UI3hDDqhZngjMnb6WCslcfglkOdepRIhGxRYe7xR7DRRzciisYDMZsvOQxDYme+uaohg0dKUxLV2Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@volar/source-map": "1.7.8"
|
"@volar/source-map": "1.7.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@volar/source-map": {
|
"@volar/source-map": {
|
||||||
"version": "1.7.8",
|
"version": "1.7.10",
|
||||||
"resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.7.8.tgz",
|
"resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.7.10.tgz",
|
||||||
"integrity": "sha512-g2dtC2kOghvfzMDWeODIo4HO1Ml4hxzPTZyAFDz+YhRF9HjZYJSCaWaVuPZ+z0kY+T2daOHYA10GdrWQ5q0teA==",
|
"integrity": "sha512-FBpLEOKJpRxeh2nYbw1mTI5sZOPXYU8LlsCz6xuBY3yNtAizDTTIZtBHe1V8BaMpoSMgRysZe4gVxMEi3rDGVA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"muggle-string": "^0.3.1"
|
"muggle-string": "^0.3.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@volar/typescript": {
|
"@volar/typescript": {
|
||||||
"version": "1.7.8",
|
"version": "1.7.10",
|
||||||
"resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.7.8.tgz",
|
"resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.7.10.tgz",
|
||||||
"integrity": "sha512-NDcI5ZQcdr8kgxzMQrhSSWIM8Tl0MbMFrkvJPTjfm2rdAQZPFT8zv3LrEW9Fqh0e9z2YbCry7jr4a/GShBqeDA==",
|
"integrity": "sha512-yqIov4wndLU3GE1iE25bU5W6T+P+exPePcE1dFPPBKzQIBki1KvmdQN5jBlJp3Wo+wp7UIxa/RsdNkXT+iFBjg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@volar/language-core": "1.7.8"
|
"@volar/language-core": "1.7.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/compiler-core": {
|
"@vue/compiler-core": {
|
||||||
@@ -3906,13 +3912,13 @@
|
|||||||
"integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q=="
|
"integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q=="
|
||||||
},
|
},
|
||||||
"@vue/language-core": {
|
"@vue/language-core": {
|
||||||
"version": "1.8.1",
|
"version": "1.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.3.tgz",
|
||||||
"integrity": "sha512-pumv3k4J7P58hVh4YGRM9Qz3HaAr4TlFWM9bnVOkZ/2K9o2CK1lAP2y9Jw+Z0+mNL4F2uWQqnAPzj3seLyfpDA==",
|
"integrity": "sha512-AzhvMYoQkK/tg8CpAAttO19kx1zjS3+weYIr2AhlH/M5HebVzfftQoq4jZNFifjq+hyLKi8j9FiDMS8oqA89+A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@volar/language-core": "1.7.8",
|
"@volar/language-core": "1.7.10",
|
||||||
"@volar/source-map": "1.7.8",
|
"@volar/source-map": "1.7.10",
|
||||||
"@vue/compiler-dom": "^3.3.0",
|
"@vue/compiler-dom": "^3.3.0",
|
||||||
"@vue/reactivity": "^3.3.0",
|
"@vue/reactivity": "^3.3.0",
|
||||||
"@vue/shared": "^3.3.0",
|
"@vue/shared": "^3.3.0",
|
||||||
@@ -3931,9 +3937,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"minimatch": {
|
"minimatch": {
|
||||||
"version": "9.0.1",
|
"version": "9.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.2.tgz",
|
||||||
"integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==",
|
"integrity": "sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"brace-expansion": "^2.0.1"
|
"brace-expansion": "^2.0.1"
|
||||||
@@ -4001,13 +4007,13 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@vue/typescript": {
|
"@vue/typescript": {
|
||||||
"version": "1.8.1",
|
"version": "1.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/typescript/-/typescript-1.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/typescript/-/typescript-1.8.3.tgz",
|
||||||
"integrity": "sha512-nQpo55j/roie8heCfqyXHnyayqD5+p4/0fzfxH4ZuHf7NSBQS791PNv7ztp2CCOjnGAiaiCMdtC9rc6oriyPUg==",
|
"integrity": "sha512-6bdgSnIFpRYHlt70pHmnmNksPU00bfXgqAISeaNz3W6d2cH0OTfH8h/IhligQ82sJIhsuyfftQJ5518ZuKIhtA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@volar/typescript": "1.7.8",
|
"@volar/typescript": "1.7.10",
|
||||||
"@vue/language-core": "1.8.1"
|
"@vue/language-core": "1.8.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vueuse/components": {
|
"@vueuse/components": {
|
||||||
@@ -4411,15 +4417,15 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"eslint": {
|
"eslint": {
|
||||||
"version": "8.43.0",
|
"version": "8.44.0",
|
||||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.43.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz",
|
||||||
"integrity": "sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==",
|
"integrity": "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@eslint-community/eslint-utils": "^4.2.0",
|
"@eslint-community/eslint-utils": "^4.2.0",
|
||||||
"@eslint-community/regexpp": "^4.4.0",
|
"@eslint-community/regexpp": "^4.4.0",
|
||||||
"@eslint/eslintrc": "^2.0.3",
|
"@eslint/eslintrc": "^2.1.0",
|
||||||
"@eslint/js": "8.43.0",
|
"@eslint/js": "8.44.0",
|
||||||
"@humanwhocodes/config-array": "^0.11.10",
|
"@humanwhocodes/config-array": "^0.11.10",
|
||||||
"@humanwhocodes/module-importer": "^1.0.1",
|
"@humanwhocodes/module-importer": "^1.0.1",
|
||||||
"@nodelib/fs.walk": "^1.2.8",
|
"@nodelib/fs.walk": "^1.2.8",
|
||||||
@@ -4431,7 +4437,7 @@
|
|||||||
"escape-string-regexp": "^4.0.0",
|
"escape-string-regexp": "^4.0.0",
|
||||||
"eslint-scope": "^7.2.0",
|
"eslint-scope": "^7.2.0",
|
||||||
"eslint-visitor-keys": "^3.4.1",
|
"eslint-visitor-keys": "^3.4.1",
|
||||||
"espree": "^9.5.2",
|
"espree": "^9.6.0",
|
||||||
"esquery": "^1.4.2",
|
"esquery": "^1.4.2",
|
||||||
"esutils": "^2.0.2",
|
"esutils": "^2.0.2",
|
||||||
"fast-deep-equal": "^3.1.3",
|
"fast-deep-equal": "^3.1.3",
|
||||||
@@ -4451,7 +4457,7 @@
|
|||||||
"lodash.merge": "^4.6.2",
|
"lodash.merge": "^4.6.2",
|
||||||
"minimatch": "^3.1.2",
|
"minimatch": "^3.1.2",
|
||||||
"natural-compare": "^1.4.0",
|
"natural-compare": "^1.4.0",
|
||||||
"optionator": "^0.9.1",
|
"optionator": "^0.9.3",
|
||||||
"strip-ansi": "^6.0.1",
|
"strip-ansi": "^6.0.1",
|
||||||
"strip-json-comments": "^3.1.0",
|
"strip-json-comments": "^3.1.0",
|
||||||
"text-table": "^0.2.0"
|
"text-table": "^0.2.0"
|
||||||
@@ -4565,9 +4571,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"eslint-plugin-vue": {
|
"eslint-plugin-vue": {
|
||||||
"version": "9.15.0",
|
"version": "9.15.1",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.15.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.15.1.tgz",
|
||||||
"integrity": "sha512-XYzpK6e2REli100+6iCeBA69v6Sm0D/yK2FZP+fCeNt0yH/m82qZQq+ztseyV0JsKdhFysuSEzeE1yCmSC92BA==",
|
"integrity": "sha512-CJE/oZOslvmAR9hf8SClTdQ9JLweghT6JCBQNrT2Iel1uVw0W0OLJxzvPd6CxmABKCvLrtyDnqGV37O7KQv6+A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@eslint-community/eslint-utils": "^4.3.0",
|
"@eslint-community/eslint-utils": "^4.3.0",
|
||||||
@@ -4607,12 +4613,12 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"espree": {
|
"espree": {
|
||||||
"version": "9.5.2",
|
"version": "9.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz",
|
||||||
"integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==",
|
"integrity": "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"acorn": "^8.8.0",
|
"acorn": "^8.9.0",
|
||||||
"acorn-jsx": "^5.3.2",
|
"acorn-jsx": "^5.3.2",
|
||||||
"eslint-visitor-keys": "^3.4.1"
|
"eslint-visitor-keys": "^3.4.1"
|
||||||
}
|
}
|
||||||
@@ -5346,17 +5352,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"optionator": {
|
"optionator": {
|
||||||
"version": "0.9.1",
|
"version": "0.9.3",
|
||||||
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
|
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
|
||||||
"integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
|
"integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
|
"@aashutoshrathi/word-wrap": "^1.2.3",
|
||||||
"deep-is": "^0.1.3",
|
"deep-is": "^0.1.3",
|
||||||
"fast-levenshtein": "^2.0.6",
|
"fast-levenshtein": "^2.0.6",
|
||||||
"levn": "^0.4.1",
|
"levn": "^0.4.1",
|
||||||
"prelude-ls": "^1.2.1",
|
"prelude-ls": "^1.2.1",
|
||||||
"type-check": "^0.4.0",
|
"type-check": "^0.4.0"
|
||||||
"word-wrap": "^1.2.3"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"p-limit": {
|
"p-limit": {
|
||||||
@@ -5581,9 +5587,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sass": {
|
"sass": {
|
||||||
"version": "1.63.4",
|
"version": "1.63.6",
|
||||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.63.4.tgz",
|
"resolved": "https://registry.npmjs.org/sass/-/sass-1.63.6.tgz",
|
||||||
"integrity": "sha512-Sx/+weUmK+oiIlI+9sdD0wZHsqpbgQg8wSwSnGBjwb5GwqFhYNwwnI+UWZtLjKvKyFlKkatRK235qQ3mokyPoQ==",
|
"integrity": "sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"chokidar": ">=3.0.0 <4.0.0",
|
"chokidar": ">=3.0.0 <4.0.0",
|
||||||
"immutable": "^4.0.0",
|
"immutable": "^4.0.0",
|
||||||
@@ -5786,9 +5792,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"typescript": {
|
"typescript": {
|
||||||
"version": "5.1.3",
|
"version": "5.1.6",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz",
|
||||||
"integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==",
|
"integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"unbox-primitive": {
|
"unbox-primitive": {
|
||||||
@@ -5897,13 +5903,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"vue-tsc": {
|
"vue-tsc": {
|
||||||
"version": "1.8.1",
|
"version": "1.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.3.tgz",
|
||||||
"integrity": "sha512-GxBQrcb0Qvyrj1uZqnTXQyWbXdNDRY2MTa+r7ESgjhf+WzBSdxZfkS3KD/C3WhKYG+aN8hf44Hp5Gqzb6PehAA==",
|
"integrity": "sha512-Ua4DHuYxjudlhCW2nRZtaXbhIDVncRGIbDjZhHpF8Z8vklct/G/35/kAPuGNSOmq0JcvhPAe28Oa7LWaUerZVA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"@vue/language-core": "1.8.1",
|
"@vue/language-core": "1.8.3",
|
||||||
"@vue/typescript": "1.8.1",
|
"@vue/typescript": "1.8.3",
|
||||||
"semver": "^7.3.8"
|
"semver": "^7.3.8"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -5954,12 +5960,6 @@
|
|||||||
"is-typed-array": "^1.1.10"
|
"is-typed-array": "^1.1.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"word-wrap": {
|
|
||||||
"version": "1.2.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
|
|
||||||
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"wrappy": {
|
"wrappy": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||||
|
|||||||
+7
-7
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "adventurers-guild",
|
"name": "adventurers-guild",
|
||||||
"version": "0.8.0",
|
"version": "0.10.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
@@ -11,19 +11,19 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vueuse/components": "^9.13.0",
|
"@vueuse/components": "^9.13.0",
|
||||||
"sass": "^1.63.4",
|
"sass": "^1.63.6",
|
||||||
"vue": "^3.3.4",
|
"vue": "^3.3.4",
|
||||||
"vue-router": "^4.2.2"
|
"vue-router": "^4.2.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^18.16.18",
|
"@types/node": "^18.16.19",
|
||||||
"@vitejs/plugin-vue": "^4.2.3",
|
"@vitejs/plugin-vue": "^4.2.3",
|
||||||
"@vue/tsconfig": "^0.4.0",
|
"@vue/tsconfig": "^0.4.0",
|
||||||
"eslint": "^8.43.0",
|
"eslint": "^8.44.0",
|
||||||
"eslint-plugin-vue": "^9.15.0",
|
"eslint-plugin-vue": "^9.15.1",
|
||||||
"npm-run-all": "^4.1.5",
|
"npm-run-all": "^4.1.5",
|
||||||
"typescript": "~5.1.3",
|
"typescript": "~5.1.6",
|
||||||
"vite": "4.3.9",
|
"vite": "4.3.9",
|
||||||
"vue-tsc": "^1.8.1"
|
"vue-tsc": "^1.8.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+58
-19
@@ -20,10 +20,28 @@ import {version} from "../package.json"
|
|||||||
</section>
|
</section>
|
||||||
<header>
|
<header>
|
||||||
<nav>
|
<nav>
|
||||||
<RouterLink :to="{name: 'guild'}">Guild</RouterLink>
|
<RouterLink
|
||||||
<RouterLink :to="{name: 'quests'}">Quests</RouterLink>
|
:to="{name: 'guild'}"
|
||||||
<RouterLink :to="{name: 'adventurers'}">Adventurers</RouterLink>
|
>
|
||||||
<RouterLink :to="{name: 'technical'}"><img class="icon" src="/img/icons/cog.svg" alt="Technical"></RouterLink>
|
Guild
|
||||||
|
</RouterLink>
|
||||||
|
<RouterLink
|
||||||
|
:to="{name: 'quests'}"
|
||||||
|
>
|
||||||
|
Quests
|
||||||
|
</RouterLink>
|
||||||
|
<RouterLink
|
||||||
|
:to="{name: 'adventurers'}"
|
||||||
|
>
|
||||||
|
Adventurers
|
||||||
|
</RouterLink>
|
||||||
|
<RouterLink
|
||||||
|
data-tooltip="Technical information"
|
||||||
|
data-tooltip-position="bottom"
|
||||||
|
:to="{name: 'technical'}"
|
||||||
|
>
|
||||||
|
<img class="icon" src="/img/icons/cog.svg" alt="Technical">
|
||||||
|
</RouterLink>
|
||||||
</nav>
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<RouterView
|
<RouterView
|
||||||
@@ -31,8 +49,8 @@ import {version} from "../package.json"
|
|||||||
:adventurers="adventurers"
|
:adventurers="adventurers"
|
||||||
:quests="missives"
|
:quests="missives"
|
||||||
:adventurerForHire="adventurerForHire"
|
:adventurerForHire="adventurerForHire"
|
||||||
|
:news="news"
|
||||||
@finalizeQuest="finalizeQuest($event)"
|
@finalizeQuest="finalizeQuest($event)"
|
||||||
@wipeSave="resetSave()"
|
|
||||||
@recruitActionTaken="recruitAction($event)"
|
@recruitActionTaken="recruitAction($event)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
@@ -62,9 +80,11 @@ export default defineComponent({
|
|||||||
name: "GuildView",
|
name: "GuildView",
|
||||||
data: () => ({
|
data: () => ({
|
||||||
loading: true as boolean,
|
loading: true as boolean,
|
||||||
|
screenWakeLock: null as null | WakeLockSentinel,
|
||||||
guild: new Guild(1, 500),
|
guild: new Guild(1, 500),
|
||||||
gameTickTask: null as null | number,
|
gameTickTask: null as null | number,
|
||||||
gameSaveTask: null as null | number,
|
gameSaveTask: null as null | number,
|
||||||
|
news: "" as string,
|
||||||
lastQuestGot: {
|
lastQuestGot: {
|
||||||
S: null as null | number,
|
S: null as null | number,
|
||||||
A: null as null | number,
|
A: null as null | number,
|
||||||
@@ -160,7 +180,7 @@ export default defineComponent({
|
|||||||
const questsForRank = this.quests[rank] as { [key: string]: Quest };
|
const questsForRank = this.quests[rank] as { [key: string]: Quest };
|
||||||
const randomId = keys.length * Math.random() << 0;
|
const randomId = keys.length * Math.random() << 0;
|
||||||
const randomIdString = keys[randomId] as string;
|
const randomIdString = keys[randomId] as string;
|
||||||
return getQuestWithRewards(questsForRank[randomIdString], this.guild.expModifier.getModifier());
|
return getQuestWithRewards(questsForRank[randomIdString], this.guild.expModifier.getModifier(), this.guild.goldModifier.getModifier());
|
||||||
},
|
},
|
||||||
createMissive(questToAdd: Quest, rank: QuestRank) {
|
createMissive(questToAdd: Quest, rank: QuestRank) {
|
||||||
const quest = JSON.parse(JSON.stringify(questToAdd));
|
const quest = JSON.parse(JSON.stringify(questToAdd));
|
||||||
@@ -241,19 +261,36 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
resetSave() {
|
async updateNews() {
|
||||||
if (!confirm("You are about to wipe your save file. Are you sure?")) return;
|
const result = await fetch("https://raw.githubusercontent.com/YouHaveTrouble/GuildMaster/master/news.txt").catch(() => {
|
||||||
window.localStorage.removeItem("savedGame");
|
return null;
|
||||||
window.location.reload();
|
});
|
||||||
|
if (result === null) return;
|
||||||
|
this.news = await result.text();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
|
|
||||||
|
setInterval(async () => {
|
||||||
|
if (this.screenWakeLock) return;
|
||||||
|
try {
|
||||||
|
this.screenWakeLock = await navigator.wakeLock.request("screen");
|
||||||
|
console.debug("Screen wake lock acquired");
|
||||||
|
} catch (e) {}
|
||||||
|
}, 1000);
|
||||||
|
|
||||||
console.debug("Loading game data")
|
console.debug("Loading game data")
|
||||||
const promises = await Promise.all([
|
const promises = await Promise.all([
|
||||||
loadAvailableQuests(),
|
loadAvailableQuests(),
|
||||||
loadAdventurersForHire(),
|
loadAdventurersForHire(),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
this.updateNews().then(() => {
|
||||||
|
setInterval(() => {
|
||||||
|
this.updateNews();
|
||||||
|
}, 1000 * 60 * 60);
|
||||||
|
});
|
||||||
|
|
||||||
this.quests = promises[0] as { [key: string]: { [key: string]: Quest } };
|
this.quests = promises[0] as { [key: string]: { [key: string]: Quest } };
|
||||||
this.adventurersDatabase = promises[1] as Array<Adventurer>;
|
this.adventurersDatabase = promises[1] as Array<Adventurer>;
|
||||||
console.debug("Game data loaded!")
|
console.debug("Game data loaded!")
|
||||||
@@ -344,7 +381,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (this.guild.level < 6) return;
|
if (this.guild.level < 6) return;
|
||||||
if (Number(now) - Number(this.lastQuestGot.A) >= 5 * 60 * 1000) {
|
if (Number(now) - Number(this.lastQuestGot.A) >= 3 * 60 * 1000) {
|
||||||
this.lastQuestGot.A = now;
|
this.lastQuestGot.A = now;
|
||||||
const keys = Object.keys(this.missives[QuestRank.A]);
|
const keys = Object.keys(this.missives[QuestRank.A]);
|
||||||
if (keys.length >= 5) return;
|
if (keys.length >= 5) return;
|
||||||
@@ -355,7 +392,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (this.guild.level < 6) return;
|
if (this.guild.level < 6) return;
|
||||||
if (Number(now) - Number(this.lastQuestGot.S) >= 30 * 60 * 1000) {
|
if (Number(now) - Number(this.lastQuestGot.S) >= 5 * 60 * 1000) {
|
||||||
this.lastQuestGot.S = now;
|
this.lastQuestGot.S = now;
|
||||||
const keys = Object.keys(this.missives[QuestRank.S]);
|
const keys = Object.keys(this.missives[QuestRank.S]);
|
||||||
if (keys.length >= 5) return;
|
if (keys.length >= 5) return;
|
||||||
@@ -394,22 +431,24 @@ nav {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
gap: 1rem;
|
gap: 1rem;
|
||||||
padding: 2rem;
|
padding-inline: 2rem;
|
||||||
background-size: 200px;
|
padding-bottom: 2rem;
|
||||||
background-blend-mode: darken;
|
padding-top: 0.5rem;
|
||||||
background-color: rgba(0, 0, 0, 0.65);
|
background-size: 100%;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: bottom;
|
||||||
|
background-image: url("/img/background/panels/wall_panel_empty.png");
|
||||||
|
filter: drop-shadow(0 0 0.5rem rgba(0,0,0, 0.25));
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
width: 2rem;
|
width: 2rem;
|
||||||
height: 2rem;
|
height: 2rem;
|
||||||
fill: white;
|
|
||||||
filter: invert(1);
|
|
||||||
transform: translateY(0.35rem);
|
transform: translateY(0.35rem);
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
font-size: 2rem;
|
font-size: 2rem;
|
||||||
color: #fff;
|
color: #000;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
|
||||||
&.router-link-active {
|
&.router-link-active {
|
||||||
|
|||||||
@@ -112,3 +112,57 @@ body {
|
|||||||
line-height: 0.25;
|
line-height: 0.25;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[data-tooltip] {
|
||||||
|
position: relative;
|
||||||
|
&:after {
|
||||||
|
pointer-events: none;
|
||||||
|
transition: opacity 0.25s ease-in-out;
|
||||||
|
opacity: 0;
|
||||||
|
position: absolute;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: max-content;
|
||||||
|
min-height: 2rem;
|
||||||
|
background-color: rgba(0,0,0, 0.5);
|
||||||
|
color: #fff;
|
||||||
|
font-size: 1rem;
|
||||||
|
padding-block: 0.25rem;
|
||||||
|
padding-inline: 0.5rem;
|
||||||
|
white-space: break-spaces;
|
||||||
|
}
|
||||||
|
|
||||||
|
&[data-tooltip-position="bottom"]:after {
|
||||||
|
content: attr(data-tooltip);
|
||||||
|
bottom: calc(-100% - 0.5rem);
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
max-width: 200%;
|
||||||
|
}
|
||||||
|
&[data-tooltip-position="top"]:after {
|
||||||
|
content: attr(data-tooltip);
|
||||||
|
top: calc(-100% - 0.5rem);
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
max-width: 200%;
|
||||||
|
}
|
||||||
|
&[data-tooltip-position="left"]:after {
|
||||||
|
content: attr(data-tooltip);
|
||||||
|
top: 50%;
|
||||||
|
right: calc(100% + 0.5rem);
|
||||||
|
transform: translateY(-50%);
|
||||||
|
max-width: 20rem;
|
||||||
|
}
|
||||||
|
&[data-tooltip-position="right"]:after {
|
||||||
|
content: attr(data-tooltip);
|
||||||
|
top: 50%;
|
||||||
|
left: calc(100% + 0.5rem);
|
||||||
|
transform: translateY(-50%);
|
||||||
|
max-width: 20rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover:after {
|
||||||
|
opacity: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -34,8 +34,9 @@ export class Quest {
|
|||||||
* Generate rewards for a quest and return it
|
* Generate rewards for a quest and return it
|
||||||
* @param quest
|
* @param quest
|
||||||
* @param expModifier - multiplification modifier for the exp reward
|
* @param expModifier - multiplification modifier for the exp reward
|
||||||
|
* @param goldModifier - multiplification modifier for the gold reward
|
||||||
*/
|
*/
|
||||||
export function getQuestWithRewards(quest: Quest, expModifier: number = 1) {
|
export function getQuestWithRewards(quest: Quest, expModifier: number = 1, goldModifier: number = 1) {
|
||||||
|
|
||||||
let maxProgress = 1;
|
let maxProgress = 1;
|
||||||
|
|
||||||
@@ -70,7 +71,7 @@ export function getQuestWithRewards(quest: Quest, expModifier: number = 1) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
let goldReward = Math.floor(maxProgress/6);
|
let goldReward = Math.floor(maxProgress/6 * goldModifier);
|
||||||
let expReward = Math.floor((Math.floor(maxProgress/120) - maxProgress/1000) * expModifier);
|
let expReward = Math.floor((Math.floor(maxProgress/120) - maxProgress/1000) * expModifier);
|
||||||
|
|
||||||
// add some randomness to the rewards
|
// add some randomness to the rewards
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ export default class AdventurerCapacityUpgrade extends GuildUpgrade {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getCostForLevel(level: number): number {
|
getCostForLevel(level: number): number {
|
||||||
const scalingFactor = Math.pow(1.35, level - 1);
|
if (level === 1) return 1500;
|
||||||
return Math.floor(1500 * scalingFactor * Math.pow(level, 1.35));
|
return Math.floor(1500 * (level * 4));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -20,8 +20,26 @@ export default class AutoFinishQuestsUpgrade extends GuildUpgrade implements Max
|
|||||||
}
|
}
|
||||||
|
|
||||||
getCostForLevel(level: number): number {
|
getCostForLevel(level: number): number {
|
||||||
const scalingFactor = Math.pow(4.2, level - 1);
|
switch (level) {
|
||||||
return Math.floor(25000 * scalingFactor * Math.pow(level, 1.05));
|
case 1:
|
||||||
|
return 25000;
|
||||||
|
case 2:
|
||||||
|
return 50000;
|
||||||
|
case 3:
|
||||||
|
return 75000;
|
||||||
|
case 4:
|
||||||
|
return 150000;
|
||||||
|
case 5:
|
||||||
|
return 275000;
|
||||||
|
case 6:
|
||||||
|
return 750000;
|
||||||
|
case 7:
|
||||||
|
return 1500000;
|
||||||
|
case 8:
|
||||||
|
return 2500000;
|
||||||
|
default:
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
isMaxLevel(): boolean {
|
isMaxLevel(): boolean {
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ export default class QuestExpUpgrade extends GuildUpgrade {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getCostForLevel(level: number): number {
|
getCostForLevel(level: number): number {
|
||||||
const scalingFactor = Math.pow(1.05, level - 1);
|
if (level === 1) return 1000000;
|
||||||
return Math.floor(2500000 * scalingFactor * Math.pow(level, 1.01));
|
return Math.floor(1000000 * (level * 1.05));
|
||||||
}
|
}
|
||||||
|
|
||||||
getModifier(): number {
|
getModifier(): number {
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ export default class QuestGoldUpgrade extends GuildUpgrade {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getCostForLevel(level: number): number {
|
getCostForLevel(level: number): number {
|
||||||
const scalingFactor = Math.pow(1.05, level - 1);
|
if (level === 1) return 1000000;
|
||||||
return Math.floor(2500000 * scalingFactor * Math.pow(level, 1.01));
|
return Math.floor(1000000 * (level * 1.05));
|
||||||
}
|
}
|
||||||
|
|
||||||
getModifier(): number {
|
getModifier(): number {
|
||||||
|
|||||||
@@ -70,7 +70,9 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
closeSelect() {
|
closeSelect() {
|
||||||
|
setTimeout(() => {
|
||||||
this.selection = false;
|
this.selection = false;
|
||||||
|
}, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="upgrade" v-if="guild.level >= guild.expModifier.guildLevelRequirement">
|
<div class="upgrade" v-if="guild.level >= guild.expModifier.guildLevelRequirement">
|
||||||
<span>Quest exp modifier (level {{ guild.expModifier.level }})</span>
|
<span>Quest exp modifier (level {{ guild.expModifier.level - 1 }})</span>
|
||||||
<small>Increases exp from newly offered quests by 10% per level</small>
|
<small>Increases exp from newly offered quests by 10% per level</small>
|
||||||
<button
|
<button
|
||||||
class="button metal"
|
class="button metal"
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="upgrade" v-if="guild.level >= guild.goldModifier.guildLevelRequirement">
|
<div class="upgrade" v-if="guild.level >= guild.goldModifier.guildLevelRequirement">
|
||||||
<span>Quest gold modifier (level {{ guild.goldModifier.level }})</span>
|
<span>Quest gold modifier (level {{ guild.goldModifier.level - 1 }})</span>
|
||||||
<small>Increases gold from newly offered quests by 10% per level</small>
|
<small>Increases gold from newly offered quests by 10% per level</small>
|
||||||
<button
|
<button
|
||||||
class="button metal"
|
class="button metal"
|
||||||
|
|||||||
-1
@@ -53,7 +53,6 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
this.getReleases(1);
|
this.getReleases(1);
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@@ -0,0 +1,146 @@
|
|||||||
|
<template>
|
||||||
|
<div class="save-manager panel pinned-paper">
|
||||||
|
<dialog ref="importDialog" >
|
||||||
|
<div class="import-dialog">
|
||||||
|
<textarea
|
||||||
|
v-model="importSaveText"
|
||||||
|
placeholder="Paste your save data here"
|
||||||
|
></textarea>
|
||||||
|
<div style="display: flex; flex-direction: row; flex-wrap: wrap; gap: 0.5rem;">
|
||||||
|
<button type="button" class="button metal" @click="importSave()" :disabled="importSaveText === ''">
|
||||||
|
Import
|
||||||
|
</button>
|
||||||
|
<button class="close" @click="closeSaveImport">✗</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</dialog>
|
||||||
|
<div class="nail top-left">
|
||||||
|
<img src="/img/quests/overlays/nail.png" alt="" draggable="false"/>
|
||||||
|
</div>
|
||||||
|
<div class="nail top-right">
|
||||||
|
<img src="/img/quests/overlays/nail.png" alt="" draggable="false"/>
|
||||||
|
</div>
|
||||||
|
<h1>Save file</h1>
|
||||||
|
<div class="buttons">
|
||||||
|
<button class="button metal" @click="exportSave()">
|
||||||
|
Export
|
||||||
|
</button>
|
||||||
|
<button class="button metal" @click="openSaveImport()">
|
||||||
|
Import
|
||||||
|
</button>
|
||||||
|
<button class="button metal" @click="wipeSave()">
|
||||||
|
<span class="red">Wipe</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import {defineComponent} from "vue";
|
||||||
|
|
||||||
|
export default defineComponent({
|
||||||
|
name: "ChangelogComponent",
|
||||||
|
data: () => ({
|
||||||
|
importSaveText: "",
|
||||||
|
}),
|
||||||
|
methods: {
|
||||||
|
openSaveImport() {
|
||||||
|
const dialog = this.$refs.importDialog as HTMLDialogElement;
|
||||||
|
dialog.showModal();
|
||||||
|
},
|
||||||
|
closeSaveImport() {
|
||||||
|
const dialog = this.$refs.importDialog as HTMLDialogElement;
|
||||||
|
dialog.close();
|
||||||
|
},
|
||||||
|
exportSave() {
|
||||||
|
const save = window.localStorage.getItem("savedGame");
|
||||||
|
if (!save) {
|
||||||
|
alert("No save file found!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
navigator.clipboard.writeText(btoa(save));
|
||||||
|
setTimeout(() => alert("Save data copied to clipboard!"), 100);
|
||||||
|
},
|
||||||
|
importSave() {
|
||||||
|
const saveBase64 = this.importSaveText;
|
||||||
|
try {
|
||||||
|
const save = atob(saveBase64);
|
||||||
|
JSON.parse(save);
|
||||||
|
window.localStorage.setItem("savedGame", save);
|
||||||
|
window.location.reload();
|
||||||
|
} catch (e) {
|
||||||
|
alert("Invalid save file!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
wipeSave() {
|
||||||
|
if (!confirm("You are about to wipe your save file. Are you sure?")) return;
|
||||||
|
window.localStorage.removeItem("savedGame");
|
||||||
|
window.location.reload();
|
||||||
|
},
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.save-manager {
|
||||||
|
padding-block: 1rem;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
gap: 1rem;
|
||||||
|
max-width: 45rem;
|
||||||
|
width: 100%;
|
||||||
|
h1 {
|
||||||
|
margin-block: 0;
|
||||||
|
font-size: 2rem;
|
||||||
|
}
|
||||||
|
dialog {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.buttons {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 0.25rem;
|
||||||
|
.red {
|
||||||
|
color: #d52121;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.import-dialog {
|
||||||
|
padding: 1rem;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
background: url("/img/background/panels/plaster.png");
|
||||||
|
background-size: 100% 100%;
|
||||||
|
gap: 1rem;
|
||||||
|
position: relative;
|
||||||
|
textarea {
|
||||||
|
width: 90%;
|
||||||
|
height: 10rem;
|
||||||
|
resize: none;
|
||||||
|
border: 1px solid var(--color-metal);
|
||||||
|
border-radius: 0.25rem;
|
||||||
|
padding: 0.5rem;
|
||||||
|
font-family: monospace;
|
||||||
|
}
|
||||||
|
.close {
|
||||||
|
color: #ab0707;
|
||||||
|
font-size: 2rem;
|
||||||
|
border: none;
|
||||||
|
background: transparent;
|
||||||
|
&:hover {
|
||||||
|
color: #d52121;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
+11
-3
@@ -4,6 +4,7 @@
|
|||||||
<h1>Guild Master</h1>
|
<h1>Guild Master</h1>
|
||||||
<h3>Adventurer's guild management game</h3>
|
<h3>Adventurer's guild management game</h3>
|
||||||
<small>v{{ version }}</small>
|
<small>v{{ version }}</small>
|
||||||
|
<p class="news">{{ news }}</p>
|
||||||
</section>
|
</section>
|
||||||
<section class="upgrades panel pinned-paper">
|
<section class="upgrades panel pinned-paper">
|
||||||
<div class="nail top-left">
|
<div class="nail top-left">
|
||||||
@@ -29,9 +30,6 @@
|
|||||||
<section class="upgrade">
|
<section class="upgrade">
|
||||||
<UpgradesList :guild="guild"/>
|
<UpgradesList :guild="guild"/>
|
||||||
</section>
|
</section>
|
||||||
<section class="upgrade">
|
|
||||||
<span class="wipe-save" @click="$emit('wipeSave')">Wipe your save data</span>
|
|
||||||
</section>
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
@@ -56,6 +54,10 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
|
news: {
|
||||||
|
type: String,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
guild: {
|
guild: {
|
||||||
type: Object as PropType<Guild>,
|
type: Object as PropType<Guild>,
|
||||||
default: () => new Guild(1, 0) as Guild,
|
default: () => new Guild(1, 0) as Guild,
|
||||||
@@ -77,9 +79,15 @@ main {
|
|||||||
.upgrades {
|
.upgrades {
|
||||||
max-width: 45rem;
|
max-width: 45rem;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
padding-bottom: 1rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.news {
|
||||||
|
max-width: 75%;
|
||||||
|
color: #ab0707;
|
||||||
|
}
|
||||||
|
|
||||||
.coffer {
|
.coffer {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<SaveManagerComponent/>
|
||||||
<ChangelogComponent/>
|
<ChangelogComponent/>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
@@ -26,11 +27,12 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {defineComponent} from "vue";
|
import {defineComponent} from "vue";
|
||||||
import ChangelogComponent from "@/components/ChangelogComponent.vue";
|
import ChangelogComponent from "@/components/technical/ChangelogComponent.vue";
|
||||||
|
import SaveManagerComponent from "@/components/technical/SaveManagerComponent.vue";
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "TechnicalView",
|
name: "TechnicalView",
|
||||||
components: {ChangelogComponent},
|
components: {SaveManagerComponent, ChangelogComponent},
|
||||||
|
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user