From 98123bede8be170858bd738ce02790258186ed34 Mon Sep 17 00:00:00 2001 From: unanmed <1319491857@qq.com> Date: Thu, 5 Jan 2023 22:21:40 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=BA=8C=E7=AB=A0=E4=B8=80=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 28 +- pnpm-lock.yaml | 672 +++++++++++++++------------- public/libs/actions.js | 6 +- public/libs/control.js | 6 +- public/project/data.js | 7 +- public/project/enemys.js | 26 +- public/project/floors/MT0.js | 3 +- public/project/floors/MT21.js | 7 +- public/project/floors/MT22.js | 15 +- public/project/floors/MT23.js | 63 ++- public/project/floors/MT24.js | 141 ++++-- public/project/floors/MT25.js | 130 ++++-- public/project/floors/MT26.js | 137 ++++-- public/project/floors/MT27.js | 99 ++-- public/project/floors/MT28.js | 172 +++++-- public/project/floors/MT29.js | 172 +++++-- public/project/floors/MT30.js | 130 ++++-- public/project/floors/MT31.js | 191 ++++++++ public/project/floors/MT6.js | 5 +- public/project/floors/tower1.js | 20 +- public/project/functions.js | 71 +-- public/project/icons.js | 19 +- public/project/items.js | 90 +++- public/project/maps.js | 15 + public/project/materials/enemys.png | Bin 125852 -> 136201 bytes public/project/materials/items.png | Bin 38747 -> 42441 bytes public/project/plugins.js | 129 +++++- src/data/desc.json | 39 +- src/data/skill.json | 5 +- src/panel/enemyCritical.vue | 4 +- src/plugin/ui/equipbox.tsx | 8 +- src/plugin/ui/fly.ts | 2 +- src/source/cls.d.ts | 15 + src/source/data.d.ts | 1 + src/source/items.d.ts | 3 + src/source/maps.d.ts | 30 ++ src/types/map.d.ts | 5 + src/types/plugin.d.ts | 9 + src/types/status.d.ts | 9 + src/ui/chapter.vue | 2 +- src/ui/fly.vue | 7 +- src/ui/statusBar.vue | 25 +- src/ui/study.vue | 14 + 43 files changed, 1834 insertions(+), 698 deletions(-) create mode 100644 public/project/floors/MT31.js create mode 100644 src/ui/study.vue diff --git a/package.json b/package.json index c11412c..816fa89 100644 --- a/package.json +++ b/package.json @@ -15,33 +15,33 @@ }, "dependencies": { "@ant-design/icons-vue": "^6.1.0", - "ant-design-vue": "^3.2.13", - "axios": "^1.1.3", - "chart.js": "^4.0.1", + "ant-design-vue": "^3.2.15", + "axios": "^1.2.2", + "chart.js": "^4.1.1", "lodash": "^4.17.21", "lz-string": "^1.4.4", - "mutate-animate": "^1.0.0", - "vue": "^3.2.41" + "mutate-animate": "^1.0.2", + "vue": "^3.2.45" }, "devDependencies": { "@types/fontmin": "^0.9.0", "@types/fs-extra": "^9.0.13", - "@types/lodash": "^4.14.186", + "@types/lodash": "^4.14.191", "@types/lz-string": "^1.3.34", - "@types/node": "^18.11.7", - "@vitejs/plugin-legacy": "^2.3.0", + "@types/node": "^18.11.18", + "@vitejs/plugin-legacy": "^2.3.1", "@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue-jsx": "^2.1.1", - "compressing": "^1.6.2", + "compressing": "^1.6.3", "fontmin": "^0.9.9", "form-data": "^4.0.0", "fs-extra": "^10.1.0", "less": "^4.1.3", - "terser": "^5.15.1", + "terser": "^5.16.1", "ts-node": "^10.9.1", - "typescript": "^4.6.4", - "unplugin-vue-components": "^0.22.9", - "vite": "^3.2.0", - "vue-tsc": "^1.0.9" + "typescript": "^4.9.4", + "unplugin-vue-components": "^0.22.12", + "vite": "^3.2.5", + "vue-tsc": "^1.0.22" } } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 59c9fa3..29cce2b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,61 +4,61 @@ specifiers: '@ant-design/icons-vue': ^6.1.0 '@types/fontmin': ^0.9.0 '@types/fs-extra': ^9.0.13 - '@types/lodash': ^4.14.186 + '@types/lodash': ^4.14.191 '@types/lz-string': ^1.3.34 - '@types/node': ^18.11.7 - '@vitejs/plugin-legacy': ^2.3.0 + '@types/node': ^18.11.18 + '@vitejs/plugin-legacy': ^2.3.1 '@vitejs/plugin-vue': ^3.2.0 '@vitejs/plugin-vue-jsx': ^2.1.1 - ant-design-vue: ^3.2.13 - axios: ^1.1.3 - chart.js: ^4.0.1 - compressing: ^1.6.2 + ant-design-vue: ^3.2.15 + axios: ^1.2.2 + chart.js: ^4.1.1 + compressing: ^1.6.3 fontmin: ^0.9.9 form-data: ^4.0.0 fs-extra: ^10.1.0 less: ^4.1.3 lodash: ^4.17.21 lz-string: ^1.4.4 - mutate-animate: ^1.0.0 - terser: ^5.15.1 + mutate-animate: ^1.0.2 + terser: ^5.16.1 ts-node: ^10.9.1 - typescript: ^4.6.4 - unplugin-vue-components: ^0.22.9 - vite: ^3.2.0 - vue: ^3.2.41 - vue-tsc: ^1.0.9 + typescript: ^4.9.4 + unplugin-vue-components: ^0.22.12 + vite: ^3.2.5 + vue: ^3.2.45 + vue-tsc: ^1.0.22 dependencies: '@ant-design/icons-vue': 6.1.0_vue@3.2.45 ant-design-vue: 3.2.15_vue@3.2.45 - axios: 1.1.3 - chart.js: 4.0.1 + axios: 1.2.2 + chart.js: 4.1.1 lodash: 4.17.21 lz-string: 1.4.4 - mutate-animate: 1.0.0 + mutate-animate: 1.0.2 vue: 3.2.45 devDependencies: '@types/fontmin': 0.9.0 '@types/fs-extra': 9.0.13 - '@types/lodash': 4.14.189 + '@types/lodash': 4.14.191 '@types/lz-string': 1.3.34 - '@types/node': 18.11.9 - '@vitejs/plugin-legacy': 2.3.1_terser@5.15.1+vite@3.2.4 - '@vitejs/plugin-vue': 3.2.0_vite@3.2.4+vue@3.2.45 - '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.4+vue@3.2.45 - compressing: 1.6.2 + '@types/node': 18.11.18 + '@vitejs/plugin-legacy': 2.3.1_terser@5.16.1+vite@3.2.5 + '@vitejs/plugin-vue': 3.2.0_vite@3.2.5+vue@3.2.45 + '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.5+vue@3.2.45 + compressing: 1.6.3 fontmin: 0.9.9 form-data: 4.0.0 fs-extra: 10.1.0 less: 4.1.3 - terser: 5.15.1 - ts-node: 10.9.1_wup25etrarvlqkprac7h35hj7u - typescript: 4.9.3 - unplugin-vue-components: 0.22.9_vue@3.2.45 - vite: 3.2.4_sjdpriiyqai3ghwmd5e3ldppum - vue-tsc: 1.0.9_typescript@4.9.3 + terser: 5.16.1 + ts-node: 10.9.1_awa2wsr5thmg3i7jqycphctjfq + typescript: 4.9.4 + unplugin-vue-components: 0.22.12_vue@3.2.45 + vite: 3.2.5_25ccpcpgpj6lg6lpj5keiqybuq + vue-tsc: 1.0.22_typescript@4.9.4 packages: @@ -73,7 +73,7 @@ packages: /@ant-design/colors/6.0.0: resolution: {integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==} dependencies: - '@ctrl/tinycolor': 3.4.1 + '@ctrl/tinycolor': 3.5.0 dev: false /@ant-design/icons-svg/4.2.1: @@ -90,8 +90,8 @@ packages: vue: 3.2.45 dev: false - /@antfu/utils/0.6.3: - resolution: {integrity: sha512-sEYpyyKUPOew9QsXZ8feRVMzW6DWLviwOl+/ap06UQW02A8Srbc95CPHVm4eUbiBzBgD46eyIT+przv//KSSlQ==} + /@antfu/utils/0.7.2: + resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==} dev: true /@babel/code-frame/7.18.6: @@ -101,39 +101,39 @@ packages: '@babel/highlight': 7.18.6 dev: true - /@babel/compat-data/7.20.1: - resolution: {integrity: sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==} + /@babel/compat-data/7.20.10: + resolution: {integrity: sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==} engines: {node: '>=6.9.0'} dev: true - /@babel/core/7.20.2: - resolution: {integrity: sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==} + /@babel/core/7.20.12: + resolution: {integrity: sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.4 - '@babel/helper-compilation-targets': 7.20.0_@babel+core@7.20.2 - '@babel/helper-module-transforms': 7.20.2 - '@babel/helpers': 7.20.1 - '@babel/parser': 7.20.3 - '@babel/template': 7.18.10 - '@babel/traverse': 7.20.1 - '@babel/types': 7.20.2 + '@babel/generator': 7.20.7 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 + '@babel/helper-module-transforms': 7.20.11 + '@babel/helpers': 7.20.7 + '@babel/parser': 7.20.7 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.12 + '@babel/types': 7.20.7 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 - json5: 2.2.1 + json5: 2.2.3 semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /@babel/generator/7.20.4: - resolution: {integrity: sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==} + /@babel/generator/7.20.7: + resolution: {integrity: sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.20.7 '@jridgewell/gen-mapping': 0.3.2 jsesc: 2.5.2 dev: true @@ -142,35 +142,37 @@ packages: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.20.7 dev: true - /@babel/helper-compilation-targets/7.20.0_@babel+core@7.20.2: - resolution: {integrity: sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==} + /@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.20.1 - '@babel/core': 7.20.2 + '@babel/compat-data': 7.20.10 + '@babel/core': 7.20.12 '@babel/helper-validator-option': 7.18.6 browserslist: 4.21.4 + lru-cache: 5.1.1 semver: 6.3.0 dev: true - /@babel/helper-create-class-features-plugin/7.20.2_@babel+core@7.20.2: - resolution: {integrity: sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==} + /@babel/helper-create-class-features-plugin/7.20.12_@babel+core@7.20.12: + resolution: {integrity: sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.20.12 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.19.0 - '@babel/helper-member-expression-to-functions': 7.18.9 + '@babel/helper-member-expression-to-functions': 7.20.7 '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-replace-supers': 7.20.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 '@babel/helper-split-export-declaration': 7.18.6 transitivePeerDependencies: - supports-color @@ -185,33 +187,33 @@ packages: resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.18.10 - '@babel/types': 7.20.2 + '@babel/template': 7.20.7 + '@babel/types': 7.20.7 dev: true /@babel/helper-hoist-variables/7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.20.7 dev: true - /@babel/helper-member-expression-to-functions/7.18.9: - resolution: {integrity: sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==} + /@babel/helper-member-expression-to-functions/7.20.7: + resolution: {integrity: sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.20.7 dev: true /@babel/helper-module-imports/7.18.6: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.20.7 dev: true - /@babel/helper-module-transforms/7.20.2: - resolution: {integrity: sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==} + /@babel/helper-module-transforms/7.20.11: + resolution: {integrity: sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-environment-visitor': 7.18.9 @@ -219,9 +221,9 @@ packages: '@babel/helper-simple-access': 7.20.2 '@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.18.10 - '@babel/traverse': 7.20.1 - '@babel/types': 7.20.2 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.12 + '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color dev: true @@ -230,7 +232,7 @@ packages: resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.20.7 dev: true /@babel/helper-plugin-utils/7.20.2: @@ -238,15 +240,16 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-replace-supers/7.19.1: - resolution: {integrity: sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==} + /@babel/helper-replace-supers/7.20.7: + resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-member-expression-to-functions': 7.18.9 + '@babel/helper-member-expression-to-functions': 7.20.7 '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/traverse': 7.20.1 - '@babel/types': 7.20.2 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.12 + '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color dev: true @@ -255,14 +258,21 @@ packages: resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.20.7 + dev: true + + /@babel/helper-skip-transparent-expression-wrappers/7.20.0: + resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.20.7 dev: true /@babel/helper-split-export-declaration/7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.20.7 dev: true /@babel/helper-string-parser/7.19.4: @@ -278,13 +288,13 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helpers/7.20.1: - resolution: {integrity: sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==} + /@babel/helpers/7.20.7: + resolution: {integrity: sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.18.10 - '@babel/traverse': 7.20.1 - '@babel/types': 7.20.2 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.12 + '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color dev: true @@ -298,88 +308,88 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser/7.20.3: - resolution: {integrity: sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==} + /@babel/parser/7.20.7: + resolution: {integrity: sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.20.7 - /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.2: + /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.2: + /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.20.12: resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 + '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-typescript/7.20.2_@babel+core@7.20.2: - resolution: {integrity: sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==} + /@babel/plugin-transform-typescript/7.20.7_@babel+core@7.20.12: + resolution: {integrity: sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.20.2 - '@babel/helper-create-class-features-plugin': 7.20.2_@babel+core@7.20.2 + '@babel/core': 7.20.12 + '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.12 '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.2 + '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.12 transitivePeerDependencies: - supports-color dev: true - /@babel/runtime/7.20.1: - resolution: {integrity: sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==} + /@babel/runtime/7.20.7: + resolution: {integrity: sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.11 dev: false - /@babel/standalone/7.20.4: - resolution: {integrity: sha512-27bv4h47jbaFZ7+e7gT1VEo9PNL1ynxqUX6/BERLz1qxm/5gzpbcHX+47VnSeYHyEyGZkRznpSOd8zPBhiz6tw==} + /@babel/standalone/7.20.12: + resolution: {integrity: sha512-hK/X+m1il3w1tYS4H8LDaGCEdiT47SVqEXY8RiEAgou26BystipSU8ZL6EvBR6t5l7lTv0ilBiChXWblKJ5iUA==} engines: {node: '>=6.9.0'} dev: true - /@babel/template/7.18.10: - resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==} + /@babel/template/7.20.7: + resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/parser': 7.20.3 - '@babel/types': 7.20.2 + '@babel/parser': 7.20.7 + '@babel/types': 7.20.7 dev: true - /@babel/traverse/7.20.1: - resolution: {integrity: sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==} + /@babel/traverse/7.20.12: + resolution: {integrity: sha512-MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.4 + '@babel/generator': 7.20.7 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.19.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.20.3 - '@babel/types': 7.20.2 + '@babel/parser': 7.20.7 + '@babel/types': 7.20.7 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types/7.20.2: - resolution: {integrity: sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==} + /@babel/types/7.20.7: + resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.19.4 @@ -393,13 +403,13 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@ctrl/tinycolor/3.4.1: - resolution: {integrity: sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw==} + /@ctrl/tinycolor/3.5.0: + resolution: {integrity: sha512-tlJpwF40DEQcfR/QF+wNMVyGMaO9FQp6Z1Wahj4Gk3CJQYHwA2xVG7iKDFdW6zuxZY9XWOpGcfNCTsX4McOsOg==} engines: {node: '>=10'} dev: false - /@esbuild/android-arm/0.15.14: - resolution: {integrity: sha512-+Rb20XXxRGisNu2WmNKk+scpanb7nL5yhuI1KR9wQFiC43ddPj/V1fmNyzlFC9bKiG4mYzxW7egtoHVcynr+OA==} + /@esbuild/android-arm/0.15.18: + resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -407,8 +417,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64/0.15.14: - resolution: {integrity: sha512-eQi9rosGNVQFJyJWV0HCA5WZae/qWIQME7s8/j8DMvnylfBv62Pbu+zJ2eUDqNf2O4u3WB+OEXyfkpBoe194sg==} + /@esbuild/linux-loong64/0.15.18: + resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -472,6 +482,10 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true + /@kurkle/color/0.3.1: + resolution: {integrity: sha512-hW0GwZj06z/ZFUW2Espl7toVDjghJN+EKqyXzPSV8NV89d5BYp5rRMBJoc+aUN0x5OXDMeRQHazejr2Xmqj2tw==} + dev: false + /@nodelib/fs.scandir/2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -490,7 +504,7 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.13.0 + fastq: 1.15.0 dev: true /@npmcli/fs/2.1.2: @@ -527,7 +541,7 @@ packages: /@simonwep/pickr/1.8.2: resolution: {integrity: sha512-/l5w8BIkrpP6n1xsetx9MWPWlU6OblN5YgZZphxan0Tq4BByTCETL6lyIeY8lagalS2Nbt4F2W034KHLIiunKA==} dependencies: - core-js: 3.26.1 + core-js: 3.27.1 nanopop: 2.2.0 dev: false @@ -559,17 +573,17 @@ packages: /@types/fontmin/0.9.0: resolution: {integrity: sha512-nWUcpO53EPPKUnkcQJRYyEbiojO/WXHFHOuo6GHWptaoVhFg036eB9z0OoecnhPj/1TWue0Ls5TlqSJLbRJRvg==} dependencies: - '@types/node': 18.11.9 + '@types/node': 18.11.18 dev: true /@types/fs-extra/9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 18.11.9 + '@types/node': 18.11.18 dev: true - /@types/lodash/4.14.189: - resolution: {integrity: sha512-kb9/98N6X8gyME9Cf7YaqIMvYGnBSWqEci6tiettE6iJWH1XdJz/PO8LB0GtLCG7x8dU3KWhZT+lA1a35127tA==} + /@types/lodash/4.14.191: + resolution: {integrity: sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==} dev: true /@types/lz-string/1.3.34: @@ -580,109 +594,108 @@ packages: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true - /@types/node/18.11.9: - resolution: {integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==} + /@types/node/18.11.18: + resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} dev: true /@types/normalize-package-data/2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true - /@vitejs/plugin-legacy/2.3.1_terser@5.15.1+vite@3.2.4: + /@vitejs/plugin-legacy/2.3.1_terser@5.16.1+vite@3.2.5: resolution: {integrity: sha512-J5KaGBlSt2tEYPVjM/C8dA6DkRzkFkbPe+Xb4IX5G+XOV5OGbVAfkMjKywdrkO3gGynO8S98i71Lmsff4cWkCQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: terser: ^5.4.0 vite: ^3.0.0 dependencies: - '@babel/standalone': 7.20.4 - core-js: 3.26.1 + '@babel/standalone': 7.20.12 + core-js: 3.27.1 magic-string: 0.26.7 regenerator-runtime: 0.13.11 systemjs: 6.13.0 - terser: 5.15.1 - vite: 3.2.4_sjdpriiyqai3ghwmd5e3ldppum + terser: 5.16.1 + vite: 3.2.5_25ccpcpgpj6lg6lpj5keiqybuq dev: true - /@vitejs/plugin-vue-jsx/2.1.1_vite@3.2.4+vue@3.2.45: + /@vitejs/plugin-vue-jsx/2.1.1_vite@3.2.5+vue@3.2.45: resolution: {integrity: sha512-JgDhxstQlwnHBvZ1BSnU5mbmyQ14/t5JhREc6YH5kWyu2QdAAOsLF6xgHoIWarj8tddaiwFrNzLbWJPudpXKYA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^3.0.0 vue: ^3.0.0 dependencies: - '@babel/core': 7.20.2 - '@babel/plugin-transform-typescript': 7.20.2_@babel+core@7.20.2 - '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.20.2 - vite: 3.2.4_sjdpriiyqai3ghwmd5e3ldppum + '@babel/core': 7.20.12 + '@babel/plugin-transform-typescript': 7.20.7_@babel+core@7.20.12 + '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.20.12 + vite: 3.2.5_25ccpcpgpj6lg6lpj5keiqybuq vue: 3.2.45 transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue/3.2.0_vite@3.2.4+vue@3.2.45: + /@vitejs/plugin-vue/3.2.0_vite@3.2.5+vue@3.2.45: resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^3.0.0 vue: ^3.2.25 dependencies: - vite: 3.2.4_sjdpriiyqai3ghwmd5e3ldppum + vite: 3.2.5_25ccpcpgpj6lg6lpj5keiqybuq vue: 3.2.45 dev: true - /@volar/language-core/1.0.9: - resolution: {integrity: sha512-5Fty3slLet6svXiJw2YxhYeo6c7wFdtILrql5bZymYLM+HbiZtJbryW1YnUEKAP7MO9Mbeh+TNH4Z0HFxHgIqw==} + /@volar/language-core/1.0.22: + resolution: {integrity: sha512-hiJeCOqxNdtG/04FRGLGI9H9DVz2l6cTqPDBzwqplHXAWfMxjzUaGUrn9sfTG7YMFNZUgK4EYxJnRfhqdtbSFQ==} dependencies: - '@volar/source-map': 1.0.9 - '@vue/reactivity': 3.2.45 + '@volar/source-map': 1.0.22 muggle-string: 0.1.0 dev: true - /@volar/source-map/1.0.9: - resolution: {integrity: sha512-fazB/vy5ZEJ3yKx4fabJyGNI3CBkdLkfEIRVu6+1P3VixK0Mn+eqyUIkLBrzGYaeFM3GybhCLCvsVdNz0Fu/CQ==} + /@volar/source-map/1.0.22: + resolution: {integrity: sha512-cv4gypHSP4MWVR82ed/+1IpI6794qAl0Q0+KJ+VGMVF8rVugsiF9QbyMCgjel9wNRsssQsazzsf6txOR9vHQiw==} dependencies: muggle-string: 0.1.0 dev: true - /@volar/typescript/1.0.9: - resolution: {integrity: sha512-dVziu+ShQUWuMukM6bvK2v2O446/gG6l1XkTh2vfkccw1IzjfbiP1TWQoNo1ipTfZOtu5YJGYAx+o5HNrGXWfQ==} + /@volar/typescript/1.0.22: + resolution: {integrity: sha512-VPyEicealSD4gqlE5/UQ1j3ietsO6Hfat40KtUEh/K+XEZ7h02b1KgFV64YEuBkBOaZ5hgvRW/WXKtQgXCl7Iw==} dependencies: - '@volar/language-core': 1.0.9 + '@volar/language-core': 1.0.22 dev: true - /@volar/vue-language-core/1.0.9: - resolution: {integrity: sha512-tofNoR8ShPFenHT1YVMuvoXtXWwoQE+fiXVqSmW0dSKZqEDjWQ3YeXSd0a6aqyKaIbvR7kWWGp34WbpQlwf9Ww==} + /@volar/vue-language-core/1.0.22: + resolution: {integrity: sha512-Ki0G/ZdBj2/GLw+/VVH3n9XR/JL6krMIth02EekFn6JV4PGN3mNxbvoh6lOPSDZLR6biOU5nJPnnjpKy8nuXhw==} dependencies: - '@volar/language-core': 1.0.9 - '@volar/source-map': 1.0.9 + '@volar/language-core': 1.0.22 + '@volar/source-map': 1.0.22 '@vue/compiler-dom': 3.2.45 '@vue/compiler-sfc': 3.2.45 '@vue/reactivity': 3.2.45 '@vue/shared': 3.2.45 - minimatch: 5.1.0 + minimatch: 5.1.2 vue-template-compiler: 2.7.14 dev: true - /@volar/vue-typescript/1.0.9: - resolution: {integrity: sha512-ZLe4y9YNbviACa7uAMCilzxA76gbbSlKfjspXBzk6fCobd8QCIig+VyDYcjANIlm2HhgSCX8jYTzhCKlegh4mw==} + /@volar/vue-typescript/1.0.22: + resolution: {integrity: sha512-2T1o5z86PAev31OMtVOv/qp4P3ZVl9ln/2KTmykQE8Fh4A5F+868MW4nf5J7XQ6RNyx7RH9LhzgjvbqJpAfiYw==} dependencies: - '@volar/typescript': 1.0.9 - '@volar/vue-language-core': 1.0.9 + '@volar/typescript': 1.0.22 + '@volar/vue-language-core': 1.0.22 dev: true /@vue/babel-helper-vue-transform-on/1.0.2: resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==} dev: true - /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.20.2: + /@vue/babel-plugin-jsx/1.1.1_@babel+core@7.20.12: resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==} dependencies: '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.2 - '@babel/template': 7.18.10 - '@babel/traverse': 7.20.1 - '@babel/types': 7.20.2 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.12 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.12 + '@babel/types': 7.20.7 '@vue/babel-helper-vue-transform-on': 1.0.2 camelcase: 6.3.0 html-tags: 3.2.0 @@ -695,7 +708,7 @@ packages: /@vue/compiler-core/3.2.45: resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==} dependencies: - '@babel/parser': 7.20.3 + '@babel/parser': 7.20.7 '@vue/shared': 3.2.45 estree-walker: 2.0.2 source-map: 0.6.1 @@ -709,7 +722,7 @@ packages: /@vue/compiler-sfc/3.2.45: resolution: {integrity: sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==} dependencies: - '@babel/parser': 7.20.3 + '@babel/parser': 7.20.7 '@vue/compiler-core': 3.2.45 '@vue/compiler-dom': 3.2.45 '@vue/compiler-ssr': 3.2.45 @@ -717,7 +730,7 @@ packages: '@vue/shared': 3.2.45 estree-walker: 2.0.2 magic-string: 0.25.9 - postcss: 8.4.19 + postcss: 8.4.20 source-map: 0.6.1 /@vue/compiler-ssr/3.2.45: @@ -729,7 +742,7 @@ packages: /@vue/reactivity-transform/3.2.45: resolution: {integrity: sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==} dependencies: - '@babel/parser': 7.20.3 + '@babel/parser': 7.20.7 '@vue/compiler-core': 3.2.45 '@vue/shared': 3.2.45 estree-walker: 2.0.2 @@ -833,26 +846,26 @@ packages: dependencies: '@ant-design/colors': 6.0.0 '@ant-design/icons-vue': 6.1.0_vue@3.2.45 - '@babel/runtime': 7.20.1 - '@ctrl/tinycolor': 3.4.1 + '@babel/runtime': 7.20.7 + '@ctrl/tinycolor': 3.5.0 '@simonwep/pickr': 1.8.2 array-tree-filter: 2.1.0 async-validator: 4.2.5 - dayjs: 1.11.6 + dayjs: 1.11.7 dom-align: 1.12.4 dom-scroll-into-view: 2.0.1 lodash: 4.17.21 lodash-es: 4.17.21 resize-observer-polyfill: 1.5.1 - scroll-into-view-if-needed: 2.2.29 + scroll-into-view-if-needed: 2.2.31 shallow-equal: 1.2.1 vue: 3.2.45 vue-types: 3.0.2_vue@3.2.45 warning: 4.0.3 dev: false - /anymatch/3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + /anymatch/3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 @@ -898,8 +911,8 @@ packages: /asynckit/0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - /axios/1.1.3: - resolution: {integrity: sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==} + /axios/1.2.2: + resolution: {integrity: sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==} dependencies: follow-redirects: 1.15.2 form-data: 4.0.0 @@ -959,9 +972,9 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001431 + caniuse-lite: 1.0.30001441 electron-to-chromium: 1.4.284 - node-releases: 2.0.6 + node-releases: 2.0.8 update-browserslist-db: 1.0.10_browserslist@4.21.4 dev: true @@ -1021,7 +1034,7 @@ packages: glob: 8.0.3 infer-owner: 1.0.4 lru-cache: 7.14.1 - minipass: 3.3.4 + minipass: 3.3.6 minipass-collect: 1.0.2 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 @@ -1030,7 +1043,7 @@ packages: promise-inflight: 1.0.1 rimraf: 3.0.2 ssri: 9.0.1 - tar: 6.1.12 + tar: 6.1.13 unique-filename: 2.0.1 transitivePeerDependencies: - bluebird @@ -1058,8 +1071,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite/1.0.30001431: - resolution: {integrity: sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==} + /caniuse-lite/1.0.30001441: + resolution: {integrity: sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==} dev: true /chalk/2.4.2: @@ -1071,16 +1084,18 @@ packages: supports-color: 5.5.0 dev: true - /chart.js/4.0.1: - resolution: {integrity: sha512-5/8/9eBivwBZK81mKvmIwTb2Pmw4D/5h1RK9fBWZLLZ8mCJ+kfYNmV9rMrGoa5Hgy2/wVDBMLSUDudul2/9ihA==} + /chart.js/4.1.1: + resolution: {integrity: sha512-P0pCosNXp+LR8zO/QTkZKT6Hb7p0DPFtypEeVOf+6x06hX13NIb75R0DXUA4Ksx/+48chDQKtCCmRCviQRTqsA==} engines: {pnpm: ^7.0.0} + dependencies: + '@kurkle/color': 0.3.1 dev: false /chokidar/3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} dependencies: - anymatch: 3.1.2 + anymatch: 3.1.3 braces: 3.0.2 glob-parent: 5.1.2 is-binary-path: 2.1.0 @@ -1167,8 +1182,8 @@ packages: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: true - /compressing/1.6.2: - resolution: {integrity: sha512-1HK+eK//Tx45n2kuVCl2ITDMZD2JkZAolOYyJrV260lUnq1rPt4d+6L6OvwRFLqAt5aR0vAtGGGiJNmTxqff/g==} + /compressing/1.6.3: + resolution: {integrity: sha512-BPkE937R8kXT1k55PgnVgMpCAs4Ws5ZgROx+qZEaYIi0tA4nvB9s5HAX/YH5suYp9njGGJOKEAOHhB3OQ5/IJA==} engines: {node: '>= 4.0.0'} dependencies: flushwritable: 1.0.0 @@ -1182,8 +1197,8 @@ packages: yazl: 2.5.1 dev: true - /compute-scroll-into-view/1.0.17: - resolution: {integrity: sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg==} + /compute-scroll-into-view/1.0.20: + resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} dev: false /concat-map/0.0.1: @@ -1214,8 +1229,8 @@ packages: is-what: 3.14.1 dev: true - /core-js/3.26.1: - resolution: {integrity: sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==} + /core-js/3.27.1: + resolution: {integrity: sha512-GutwJLBChfGCpwwhbYoqfv03LAfmiz7e7D/BNxzeMxwQf10GRSzqiOjx7AmtEk+heiD/JWmBuyBPgFtx0Sg1ww==} requiresBuild: true /core-util-is/1.0.3: @@ -1229,8 +1244,8 @@ packages: /csstype/2.6.21: resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} - /dayjs/1.11.6: - resolution: {integrity: sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==} + /dayjs/1.11.7: + resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==} dev: false /de-indent/1.0.2: @@ -1372,8 +1387,8 @@ packages: is-arrayish: 0.2.1 dev: true - /esbuild-android-64/0.15.14: - resolution: {integrity: sha512-HuilVIb4rk9abT4U6bcFdU35UHOzcWVGLSjEmC58OVr96q5UiRqzDtWjPlCMugjhgUGKEs8Zf4ueIvYbOStbIg==} + /esbuild-android-64/0.15.18: + resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -1381,8 +1396,8 @@ packages: dev: true optional: true - /esbuild-android-arm64/0.15.14: - resolution: {integrity: sha512-/QnxRVxsR2Vtf3XottAHj7hENAMW2wCs6S+OZcAbc/8nlhbAL/bCQRCVD78VtI5mdwqWkVi3wMqM94kScQCgqg==} + /esbuild-android-arm64/0.15.18: + resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -1390,8 +1405,8 @@ packages: dev: true optional: true - /esbuild-darwin-64/0.15.14: - resolution: {integrity: sha512-ToNuf1uifu8hhwWvoZJGCdLIX/1zpo8cOGnT0XAhDQXiKOKYaotVNx7pOVB1f+wHoWwTLInrOmh3EmA7Fd+8Vg==} + /esbuild-darwin-64/0.15.18: + resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -1399,8 +1414,8 @@ packages: dev: true optional: true - /esbuild-darwin-arm64/0.15.14: - resolution: {integrity: sha512-KgGP+y77GszfYJgceO0Wi/PiRtYo5y2Xo9rhBUpxTPaBgWDJ14gqYN0+NMbu+qC2fykxXaipHxN4Scaj9tUS1A==} + /esbuild-darwin-arm64/0.15.18: + resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -1408,8 +1423,8 @@ packages: dev: true optional: true - /esbuild-freebsd-64/0.15.14: - resolution: {integrity: sha512-xr0E2n5lyWw3uFSwwUXHc0EcaBDtsal/iIfLioflHdhAe10KSctV978Te7YsfnsMKzcoGeS366+tqbCXdqDHQA==} + /esbuild-freebsd-64/0.15.18: + resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -1417,8 +1432,8 @@ packages: dev: true optional: true - /esbuild-freebsd-arm64/0.15.14: - resolution: {integrity: sha512-8XH96sOQ4b1LhMlO10eEWOjEngmZ2oyw3pW4o8kvBcpF6pULr56eeYVP5radtgw54g3T8nKHDHYEI5AItvskZg==} + /esbuild-freebsd-arm64/0.15.18: + resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -1426,8 +1441,8 @@ packages: dev: true optional: true - /esbuild-linux-32/0.15.14: - resolution: {integrity: sha512-6ssnvwaTAi8AzKN8By2V0nS+WF5jTP7SfuK6sStGnDP7MCJo/4zHgM9oE1eQTS2jPmo3D673rckuCzRlig+HMA==} + /esbuild-linux-32/0.15.18: + resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -1435,8 +1450,8 @@ packages: dev: true optional: true - /esbuild-linux-64/0.15.14: - resolution: {integrity: sha512-ONySx3U0wAJOJuxGUlXBWxVKFVpWv88JEv0NZ6NlHknmDd1yCbf4AEdClSgLrqKQDXYywmw4gYDvdLsS6z0hcw==} + /esbuild-linux-64/0.15.18: + resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -1444,8 +1459,8 @@ packages: dev: true optional: true - /esbuild-linux-arm/0.15.14: - resolution: {integrity: sha512-D2LImAIV3QzL7lHURyCHBkycVFbKwkDb1XEUWan+2fb4qfW7qAeUtul7ZIcIwFKZgPcl+6gKZmvLgPSj26RQ2Q==} + /esbuild-linux-arm/0.15.18: + resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -1453,8 +1468,8 @@ packages: dev: true optional: true - /esbuild-linux-arm64/0.15.14: - resolution: {integrity: sha512-kle2Ov6a1e5AjlHlMQl1e+c4myGTeggrRzArQFmWp6O6JoqqB9hT+B28EW4tjFWgV/NxUq46pWYpgaWXsXRPAg==} + /esbuild-linux-arm64/0.15.18: + resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -1462,8 +1477,8 @@ packages: dev: true optional: true - /esbuild-linux-mips64le/0.15.14: - resolution: {integrity: sha512-FVdMYIzOLXUq+OE7XYKesuEAqZhmAIV6qOoYahvUp93oXy0MOVTP370ECbPfGXXUdlvc0TNgkJa3YhEwyZ6MRA==} + /esbuild-linux-mips64le/0.15.18: + resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -1471,8 +1486,8 @@ packages: dev: true optional: true - /esbuild-linux-ppc64le/0.15.14: - resolution: {integrity: sha512-2NzH+iuzMDA+jjtPjuIz/OhRDf8tzbQ1tRZJI//aT25o1HKc0reMMXxKIYq/8nSHXiJSnYV4ODzTiv45s+h73w==} + /esbuild-linux-ppc64le/0.15.18: + resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -1480,8 +1495,8 @@ packages: dev: true optional: true - /esbuild-linux-riscv64/0.15.14: - resolution: {integrity: sha512-VqxvutZNlQxmUNS7Ac+aczttLEoHBJ9e3OYGqnULrfipRvG97qLrAv9EUY9iSrRKBqeEbSvS9bSfstZqwz0T4Q==} + /esbuild-linux-riscv64/0.15.18: + resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -1489,8 +1504,8 @@ packages: dev: true optional: true - /esbuild-linux-s390x/0.15.14: - resolution: {integrity: sha512-+KVHEUshX5n6VP6Vp/AKv9fZIl5kr2ph8EUFmQUJnDpHwcfTSn2AQgYYm0HTBR2Mr4d0Wlr0FxF/Cs5pbFgiOw==} + /esbuild-linux-s390x/0.15.18: + resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1498,8 +1513,8 @@ packages: dev: true optional: true - /esbuild-netbsd-64/0.15.14: - resolution: {integrity: sha512-6D/dr17piEgevIm1xJfZP2SjB9Z+g8ERhNnBdlZPBWZl+KSPUKLGF13AbvC+nzGh8IxOH2TyTIdRMvKMP0nEzQ==} + /esbuild-netbsd-64/0.15.18: + resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1507,8 +1522,8 @@ packages: dev: true optional: true - /esbuild-openbsd-64/0.15.14: - resolution: {integrity: sha512-rREQBIlMibBetgr2E9Lywt2Qxv2ZdpmYahR4IUlAQ1Efv/A5gYdO0/VIN3iowDbCNTLxp0bb57Vf0LFcffD6kA==} + /esbuild-openbsd-64/0.15.18: + resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1516,8 +1531,8 @@ packages: dev: true optional: true - /esbuild-sunos-64/0.15.14: - resolution: {integrity: sha512-DNVjSp/BY4IfwtdUAvWGIDaIjJXY5KI4uD82+15v6k/w7px9dnaDaJJ2R6Mu+KCgr5oklmFc0KjBjh311Gxl9Q==} + /esbuild-sunos-64/0.15.18: + resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1525,8 +1540,8 @@ packages: dev: true optional: true - /esbuild-windows-32/0.15.14: - resolution: {integrity: sha512-pHBWrcA+/oLgvViuG9FO3kNPO635gkoVrRQwe6ZY1S0jdET07xe2toUvQoJQ8KT3/OkxqUasIty5hpuKFLD+eg==} + /esbuild-windows-32/0.15.18: + resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1534,8 +1549,8 @@ packages: dev: true optional: true - /esbuild-windows-64/0.15.14: - resolution: {integrity: sha512-CszIGQVk/P8FOS5UgAH4hKc9zOaFo69fe+k1rqgBHx3CSK3Opyk5lwYriIamaWOVjBt7IwEP6NALz+tkVWdFog==} + /esbuild-windows-64/0.15.18: + resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1543,8 +1558,8 @@ packages: dev: true optional: true - /esbuild-windows-arm64/0.15.14: - resolution: {integrity: sha512-KW9W4psdZceaS9A7Jsgl4WialOznSURvqX/oHZk3gOP7KbjtHLSsnmSvNdzagGJfxbAe30UVGXRe8q8nDsOSQw==} + /esbuild-windows-arm64/0.15.18: + resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1552,34 +1567,34 @@ packages: dev: true optional: true - /esbuild/0.15.14: - resolution: {integrity: sha512-pJN8j42fvWLFWwSMG4luuupl2Me7mxciUOsMegKvwCmhEbJ2covUdFnihxm0FMIBV+cbwbtMoHgMCCI+pj1btQ==} + /esbuild/0.15.18: + resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.15.14 - '@esbuild/linux-loong64': 0.15.14 - esbuild-android-64: 0.15.14 - esbuild-android-arm64: 0.15.14 - esbuild-darwin-64: 0.15.14 - esbuild-darwin-arm64: 0.15.14 - esbuild-freebsd-64: 0.15.14 - esbuild-freebsd-arm64: 0.15.14 - esbuild-linux-32: 0.15.14 - esbuild-linux-64: 0.15.14 - esbuild-linux-arm: 0.15.14 - esbuild-linux-arm64: 0.15.14 - esbuild-linux-mips64le: 0.15.14 - esbuild-linux-ppc64le: 0.15.14 - esbuild-linux-riscv64: 0.15.14 - esbuild-linux-s390x: 0.15.14 - esbuild-netbsd-64: 0.15.14 - esbuild-openbsd-64: 0.15.14 - esbuild-sunos-64: 0.15.14 - esbuild-windows-32: 0.15.14 - esbuild-windows-64: 0.15.14 - esbuild-windows-arm64: 0.15.14 + '@esbuild/android-arm': 0.15.18 + '@esbuild/linux-loong64': 0.15.18 + esbuild-android-64: 0.15.18 + esbuild-android-arm64: 0.15.18 + esbuild-darwin-64: 0.15.18 + esbuild-darwin-arm64: 0.15.18 + esbuild-freebsd-64: 0.15.18 + esbuild-freebsd-arm64: 0.15.18 + esbuild-linux-32: 0.15.18 + esbuild-linux-64: 0.15.18 + esbuild-linux-arm: 0.15.18 + esbuild-linux-arm64: 0.15.18 + esbuild-linux-mips64le: 0.15.18 + esbuild-linux-ppc64le: 0.15.18 + esbuild-linux-riscv64: 0.15.18 + esbuild-linux-s390x: 0.15.18 + esbuild-netbsd-64: 0.15.18 + esbuild-openbsd-64: 0.15.18 + esbuild-sunos-64: 0.15.18 + esbuild-windows-32: 0.15.18 + esbuild-windows-64: 0.15.18 + esbuild-windows-arm64: 0.15.18 dev: true /escalade/3.1.1: @@ -1617,8 +1632,8 @@ packages: strnum: 1.0.5 dev: true - /fastq/1.13.0: - resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} + /fastq/1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 dev: true @@ -1732,7 +1747,7 @@ packages: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} dependencies: - minipass: 3.3.4 + minipass: 3.3.6 dev: true /fs-mkdirp-stream/1.0.0: @@ -1843,7 +1858,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 5.1.0 + minimatch: 5.1.2 once: 1.4.0 dev: true @@ -2148,8 +2163,8 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true - /json5/2.2.1: - resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} + /json5/2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true dev: true @@ -2231,6 +2246,12 @@ packages: js-tokens: 4.0.0 dev: false + /lru-cache/5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + /lru-cache/6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} @@ -2260,6 +2281,13 @@ packages: sourcemap-codec: 1.4.8 dev: true + /magic-string/0.27.0: + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + /make-dir/2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} @@ -2285,7 +2313,7 @@ packages: https-proxy-agent: 5.0.1 is-lambda: 1.0.1 lru-cache: 7.14.1 - minipass: 3.3.4 + minipass: 3.3.6 minipass-collect: 1.0.2 minipass-fetch: 2.1.2 minipass-flush: 1.0.5 @@ -2369,8 +2397,8 @@ packages: brace-expansion: 1.1.11 dev: true - /minimatch/5.1.0: - resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==} + /minimatch/5.1.2: + resolution: {integrity: sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==} engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 @@ -2393,14 +2421,14 @@ packages: resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} engines: {node: '>= 8'} dependencies: - minipass: 3.3.4 + minipass: 3.3.6 dev: true /minipass-fetch/2.1.2: resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: - minipass: 3.3.4 + minipass: 3.3.6 minipass-sized: 1.0.3 minizlib: 2.1.2 optionalDependencies: @@ -2411,25 +2439,32 @@ packages: resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} engines: {node: '>= 8'} dependencies: - minipass: 3.3.4 + minipass: 3.3.6 dev: true /minipass-pipeline/1.2.4: resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} engines: {node: '>=8'} dependencies: - minipass: 3.3.4 + minipass: 3.3.6 dev: true /minipass-sized/1.0.3: resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} engines: {node: '>=8'} dependencies: - minipass: 3.3.4 + minipass: 3.3.6 dev: true - /minipass/3.3.4: - resolution: {integrity: sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==} + /minipass/3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + dependencies: + yallist: 4.0.0 + dev: true + + /minipass/4.0.0: + resolution: {integrity: sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==} engines: {node: '>=8'} dependencies: yallist: 4.0.0 @@ -2439,7 +2474,7 @@ packages: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} dependencies: - minipass: 3.3.4 + minipass: 3.3.6 yallist: 4.0.0 dev: true @@ -2468,8 +2503,8 @@ packages: resolution: {integrity: sha512-Tr1knR3d2mKvvWthlk7202rywKbiOm4rVFLsfAaSIhJ6dt9o47W4S+JMtWhd/PW9Wrdew2/S2fSvhz3E2gkfEg==} dev: true - /mutate-animate/1.0.0: - resolution: {integrity: sha512-Vt6zDunYjunQAJQ8mXTnamjbubWOM/hM0W+umvJKOvFP6klRAJPHO5R1XUKqEe2/mM9QM+aUfKb2q8Z0Ybwj/A==} + /mutate-animate/1.0.2: + resolution: {integrity: sha512-uWcaOOVORL1x4dQil3Bhm53XqfbHj0rbso1OCxp1VluUcUFbKZbEVsEOj++PIMHorXfGu9DMK5G9DZCQy5RMMw==} dev: false /nan/2.17.0: @@ -2504,9 +2539,9 @@ packages: engines: {node: '>= 0.6'} dev: true - /node-gyp/9.3.0: - resolution: {integrity: sha512-A6rJWfXFz7TQNjpldJ915WFb1LnhO4lIve3ANPbWreuEoLoKlFT3sxIepPBkLhM27crW8YmN+pjlgbasH6cH/Q==} - engines: {node: ^12.22 || ^14.13 || >=16} + /node-gyp/9.3.1: + resolution: {integrity: sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==} + engines: {node: ^12.13 || ^14.13 || >=16} hasBin: true dependencies: env-paths: 2.2.1 @@ -2517,15 +2552,15 @@ packages: npmlog: 6.0.2 rimraf: 3.0.2 semver: 7.3.8 - tar: 6.1.12 + tar: 6.1.13 which: 2.0.2 transitivePeerDependencies: - bluebird - supports-color dev: true - /node-releases/2.0.6: - resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} + /node-releases/2.0.8: + resolution: {integrity: sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==} dev: true /nopt/6.0.0: @@ -2678,8 +2713,8 @@ packages: dev: true optional: true - /postcss/8.4.19: - resolution: {integrity: sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==} + /postcss/8.4.20: + resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.4 @@ -2909,10 +2944,10 @@ packages: dev: true optional: true - /scroll-into-view-if-needed/2.2.29: - resolution: {integrity: sha512-hxpAR6AN+Gh53AdAimHM6C8oTN1ppwVZITihix+WqalywBeFcQ6LdQP5ABNl26nX8GTEL7VT+b8lKpdqq65wXg==} + /scroll-into-view-if-needed/2.2.31: + resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==} dependencies: - compute-scroll-into-view: 1.0.17 + compute-scroll-into-view: 1.0.20 dev: false /semver/5.7.1: @@ -2987,6 +3022,7 @@ packages: /sourcemap-codec/1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead /spdx-correct/3.1.1: resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} @@ -3014,7 +3050,7 @@ packages: resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: - minipass: 3.3.4 + minipass: 3.3.6 dev: true /stream-combiner/0.2.2: @@ -3105,20 +3141,20 @@ packages: xtend: 4.0.2 dev: true - /tar/6.1.12: - resolution: {integrity: sha512-jU4TdemS31uABHd+Lt5WEYJuzn+TJTCBLljvIAHZOz6M9Os5pJ4dD+vRFLxPa/n3T0iEFzpi+0x1UfuDZYbRMw==} + /tar/6.1.13: + resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} engines: {node: '>=10'} dependencies: chownr: 2.0.0 fs-minipass: 2.1.0 - minipass: 3.3.4 + minipass: 4.0.0 minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 dev: true - /terser/5.15.1: - resolution: {integrity: sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==} + /terser/5.16.1: + resolution: {integrity: sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==} engines: {node: '>=10'} hasBin: true dependencies: @@ -3187,7 +3223,7 @@ packages: engines: {node: '>=12'} dev: true - /ts-node/10.9.1_wup25etrarvlqkprac7h35hj7u: + /ts-node/10.9.1_awa2wsr5thmg3i7jqycphctjfq: resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -3206,14 +3242,14 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 - '@types/node': 18.11.9 + '@types/node': 18.11.18 acorn: 8.8.1 acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.9.3 + typescript: 4.9.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -3231,7 +3267,7 @@ packages: bindings: 1.5.0 bufferstreams: 3.0.0 nan: 2.17.0 - node-gyp: 9.3.0 + node-gyp: 9.3.1 transitivePeerDependencies: - bluebird - supports-color @@ -3246,8 +3282,8 @@ packages: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true - /typescript/4.9.3: - resolution: {integrity: sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==} + /typescript/4.9.4: + resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} engines: {node: '>=4.2.0'} hasBin: true dev: true @@ -3283,8 +3319,8 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unplugin-vue-components/0.22.9_vue@3.2.45: - resolution: {integrity: sha512-qBvooq3EgpjtYicxeccRUGUBBQCCw9rJ0kHPZPOSJd8TBZViSv86vuKLTRDHPyjWtclwOIkVStZJfPdJFhYUMw==} + /unplugin-vue-components/0.22.12_vue@3.2.45: + resolution: {integrity: sha512-FxyzsuBvMCYPIk+8cgscGBQ345tvwVu+qY5IhE++eorkyvA4Z1TiD/HCiim+Kbqozl10i4K+z+NCa2WO2jexRA==} engines: {node: '>=14'} peerDependencies: '@babel/parser': ^7.15.8 @@ -3293,29 +3329,29 @@ packages: '@babel/parser': optional: true dependencies: - '@antfu/utils': 0.6.3 + '@antfu/utils': 0.7.2 '@rollup/pluginutils': 5.0.2 chokidar: 3.5.3 debug: 4.3.4 fast-glob: 3.2.12 local-pkg: 0.4.2 - magic-string: 0.26.7 - minimatch: 5.1.0 + magic-string: 0.27.0 + minimatch: 5.1.2 resolve: 1.22.1 - unplugin: 0.10.2 + unplugin: 1.0.1 vue: 3.2.45 transitivePeerDependencies: - rollup - supports-color dev: true - /unplugin/0.10.2: - resolution: {integrity: sha512-6rk7GUa4ICYjae5PrAllvcDeuT8pA9+j5J5EkxbMFaV+SalHhxZ7X2dohMzu6C3XzsMT+6jwR/+pwPNR3uK9MA==} + /unplugin/1.0.1: + resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==} dependencies: acorn: 8.8.1 chokidar: 3.5.3 webpack-sources: 3.2.3 - webpack-virtual-modules: 0.4.6 + webpack-virtual-modules: 0.5.0 dev: true /update-browserslist-db/1.0.10_browserslist@4.21.4: @@ -3411,8 +3447,8 @@ packages: replace-ext: 1.0.1 dev: true - /vite/3.2.4_sjdpriiyqai3ghwmd5e3ldppum: - resolution: {integrity: sha512-Z2X6SRAffOUYTa+sLy3NQ7nlHFU100xwanq1WDwqaiFiCe+25zdxP1TfCS5ojPV2oDDcXudHIoPnI1Z/66B7Yw==} + /vite/3.2.5_25ccpcpgpj6lg6lpj5keiqybuq: + resolution: {integrity: sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -3436,13 +3472,13 @@ packages: terser: optional: true dependencies: - '@types/node': 18.11.9 - esbuild: 0.15.14 + '@types/node': 18.11.18 + esbuild: 0.15.18 less: 4.1.3 - postcss: 8.4.19 + postcss: 8.4.20 resolve: 1.22.1 rollup: 2.79.1 - terser: 5.15.1 + terser: 5.16.1 optionalDependencies: fsevents: 2.3.2 dev: true @@ -3454,15 +3490,15 @@ packages: he: 1.2.0 dev: true - /vue-tsc/1.0.9_typescript@4.9.3: - resolution: {integrity: sha512-vRmHD1K6DmBymNhoHjQy/aYKTRQNLGOu2/ESasChG9Vy113K6CdP0NlhR0bzgFJfv2eFB9Ez/9L5kIciUajBxQ==} + /vue-tsc/1.0.22_typescript@4.9.4: + resolution: {integrity: sha512-xSxwgWR3czhv7sLKHWu6lzj9Xq6AtsCURVL45AY4TLGFszv2L2YlMgygXvqslyCM5bz9cyoIKSaZnzHqHTHjzA==} hasBin: true peerDependencies: typescript: '*' dependencies: - '@volar/vue-language-core': 1.0.9 - '@volar/vue-typescript': 1.0.9 - typescript: 4.9.3 + '@volar/vue-language-core': 1.0.22 + '@volar/vue-typescript': 1.0.22 + typescript: 4.9.4 dev: true /vue-types/3.0.2_vue@3.2.45: @@ -3495,8 +3531,8 @@ packages: engines: {node: '>=10.13.0'} dev: true - /webpack-virtual-modules/0.4.6: - resolution: {integrity: sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==} + /webpack-virtual-modules/0.5.0: + resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} dev: true /which/2.0.2: @@ -3522,6 +3558,10 @@ packages: engines: {node: '>=0.4'} dev: true + /yallist/3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + /yallist/4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true diff --git a/public/libs/actions.js b/public/libs/actions.js index 0598622..9f034c4 100644 --- a/public/libs/actions.js +++ b/public/libs/actions.js @@ -1495,7 +1495,8 @@ actions.prototype._clickViewMaps = function (x, y, px, py) { while ( index < core.floorIds.length && index != now && - core.status.maps[core.floorIds[index]].cannotViewMap + (core.status.maps[core.floorIds[index]].cannotViewMap || + core.status.maps[core.floorIds[index]].deleted) ) index++; if (index < core.floorIds.length) core.ui._drawViewMaps(index); @@ -1510,7 +1511,8 @@ actions.prototype._clickViewMaps = function (x, y, px, py) { while ( index >= 0 && index != now && - core.status.maps[core.floorIds[index]].cannotViewMap + (core.status.maps[core.floorIds[index]].cannotViewMap || + core.status.maps[core.floorIds[index]].deleted) ) index--; if (index >= 0) core.ui._drawViewMaps(index); diff --git a/public/libs/control.js b/public/libs/control.js index 6328058..8c392dd 100644 --- a/public/libs/control.js +++ b/public/libs/control.js @@ -1659,17 +1659,17 @@ control.prototype._updateDamage_extraDamage = function (floorId, onMap) { text: damage, px: 32 * x + 16, py: 32 * (y + 1) - 14, - color: '#ffaa33', + color: '#fa3', alpha: alpha }); } else { - // 检查捕捉 + // 电摇嘲讽 if (core.status.checkBlock.mockery[x + ',' + y]) { core.status.damage.extraData.push({ text: '嘲', px: 32 * x + 16, py: 32 * (y + 1) - 14, - color: '#ffaa33', + color: '#fd4', alpha: alpha }); } diff --git a/public/project/data.js b/public/project/data.js index 6340c7d..a009d61 100644 --- a/public/project/data.js +++ b/public/project/data.js @@ -39,7 +39,8 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "MT27", "MT28", "MT29", - "MT30" + "MT30", + "MT31" ], "floorPartitions": [ [ @@ -618,8 +619,8 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = ] }, { - "need": "50000", - "title": "古人", + "need": "25000", + "title": "中级智人", "clear": true, "action": [] } diff --git a/public/project/enemys.js b/public/project/enemys.js index 34d99ff..ceb2b51 100644 --- a/public/project/enemys.js +++ b/public/project/enemys.js @@ -26,7 +26,7 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 = "goldSlime": {"name":"黄头怪","hp":1000,"atk":50,"def":50,"money":0,"exp":18,"point":0,"special":[2]}, "poisonSkeleton": {"name":"紫骷髅","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "poisonBat": {"name":"山间蝙蝠","hp":800,"atk":170,"def":50,"money":1,"exp":24,"point":0,"special":[5]}, - "skeletonPriest": {"name":"骷髅法师","hp":100,"atk":100,"def":0,"money":0,"exp":0,"point":0,"special":[18],"value":20}, + "skeletonPriest": {"name":"智慧骷髅","hp":4000,"atk":1200,"def":900,"money":1,"exp":75,"point":0,"special":[1,13],"value":20,"crit":500}, "skeletonKing": {"name":"骷髅王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "evilHero": {"name":"迷失勇者","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "demonPriest": {"name":"魔神法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, @@ -68,11 +68,11 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 = "bowman": {"name":"猎人","hp":500,"atk":100,"def":50,"money":0,"exp":16,"point":0,"special":[24],"value":75}, "liteBowman": {"name":"山间猎手","hp":1200,"atk":200,"def":60,"money":1,"exp":27,"point":0,"special":[24]}, "crimsonZombie": {"name":"勇气之兽","hp":1800,"atk":2000,"def":-100,"money":1,"exp":35,"point":0,"special":[]}, - "watcherSlime": {"name":"邪眼史莱姆","hp":5000,"atk":900,"def":600,"money":1,"exp":50,"point":0,"special":[17]}, + "watcherSlime": {"name":"邪眼史莱姆","hp":5000,"atk":1200,"def":600,"money":1,"exp":50,"point":0,"special":[17]}, "mutantSlimeman": {"name":"变异史莱姆人","hp":350,"atk":70,"def":27,"money":0,"exp":13,"point":0,"special":[]}, "devilKnight": {"name":"恶灵骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "grayPriest": {"name":"智慧法王","hp":3000,"atk":600,"def":250,"money":1,"exp":40,"point":0,"special":[13]}, - "greenGateKeeper": {"name":"卫兵队长","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "greenGateKeeper": {"name":"睿智雕像","hp":5000,"atk":1250,"def":900,"money":1,"exp":65,"point":0,"special":[1],"crit":1000}, "ghostSoldier": {"name":"山间骷髅","hp":750,"atk":180,"def":40,"money":0,"exp":18,"point":0,"special":[]}, "frostBat": {"name":"寒蝙蝠","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "blackKing": {"name":"黑衣魔王","hp":1000,"atk":500,"def":0,"money":1000,"exp":1000,"point":0,"special":[],"notBomb":true}, @@ -90,7 +90,7 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 = "E375": {"name":"怪圣","hp":2000,"atk":270,"def":100,"money":1,"exp":33,"point":0,"special":[]}, "E498": {"name":"山间野兽","hp":1200,"atk":175,"def":60,"money":1,"exp":30,"point":0,"special":[7],"hungry":20}, "E499": {"name":"武装野兽","hp":1500,"atk":240,"def":100,"money":1,"exp":32,"point":0,"special":[7],"hungry":30}, - "E500": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "E500": {"name":"智慧兽人","hp":4500,"atk":1200,"def":700,"money":1,"exp":55,"point":0,"special":[7],"hungry":30}, "E501": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "E502": {"name":"普通史塔茹","hp":900,"atk":160,"def":55,"money":1,"exp":25,"point":0,"special":[8],"together":20}, "E503": {"name":"武装史塔茹","hp":1300,"atk":240,"def":110,"money":1,"exp":31,"point":0,"special":[8],"value":null,"crit":null,"together":25}, @@ -107,7 +107,7 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 = "E520": {"name":"勇气之魂","hp":4000,"atk":1200,"def":200,"money":1,"exp":45,"point":0,"special":[1],"crit":500}, "E521": {"name":"勇气之箭","hp":2500,"atk":425,"def":250,"money":1,"exp":30,"point":0,"special":[1,12],"value":400,"crit":500}, "E522": {"name":"勇气骷髅","hp":2000,"atk":600,"def":200,"money":1,"exp":30,"point":0,"special":[]}, - "E523": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "E523": {"name":"红色骷髅士兵","hp":3000,"atk":1000,"def":600,"money":1,"exp":50,"point":0,"special":[]}, "E524": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "E525": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "E536": {"name":"智慧法师","hp":2000,"atk":400,"def":200,"money":1,"exp":35,"point":0,"special":[13]}, @@ -124,7 +124,19 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 = "E556": {"name":"智慧之姆","hp":3000,"atk":800,"def":200,"money":1,"exp":45,"point":0,"special":[8],"together":20}, "E557": {"name":"智慧之神","hp":10000,"atk":2000,"def":800,"money":10,"exp":500,"point":0,"special":[]}, "E561": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E562": {"name":"嘲讽剑客","hp":2000,"atk":1500,"def":600,"money":1,"exp":50,"point":0,"special":[19]}, + "E562": {"name":"嘲讽剑客","hp":5000,"atk":1600,"def":500,"money":1,"exp":60,"point":0,"special":[19]}, "E563": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E564": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]} + "E564": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "E566": {"name":"智慧史莱姆","hp":6000,"atk":1200,"def":600,"money":1,"exp":50,"point":0,"special":[8],"together":25}, + "E567": {"name":"精明史莱姆","hp":5000,"atk":1200,"def":550,"money":0,"exp":0,"point":0,"special":[8],"together":30}, + "E568": {"name":"精明史莱姆","hp":5000,"atk":1500,"def":600,"money":1,"exp":60,"point":0,"special":[8],"together":30,"displayIdInBook":null}, + "E569": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "E570": {"name":"粘液史莱姆","hp":3000,"atk":1000,"def":400,"money":1,"exp":45,"point":0,"special":[4,17]}, + "E571": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "E572": {"name":"石化史莱姆","hp":4000,"atk":1200,"def":0,"money":1,"exp":60,"point":0,"special":[3]}, + "E573": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "E576": {"name":"智慧守卫","hp":7500,"atk":2500,"def":1250,"money":10,"exp":500,"point":0,"special":[1],"crit":250}, + "E577": {"name":"智慧守护者","hp":15000,"atk":2500,"def":1200,"money":50,"exp":2500,"point":0,"special":[1],"crit":1000}, + "E578": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "E579": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]} } \ No newline at end of file diff --git a/public/project/floors/MT0.js b/public/project/floors/MT0.js index ed9c3de..19596ea 100644 --- a/public/project/floors/MT0.js +++ b/public/project/floors/MT0.js @@ -46,7 +46,8 @@ main.floors.MT0= "8,13": [ "本塔有很多新的功能,所有的说明都详细地写在了前方的百科全书里面,里面包含所有的功能说明,不阅读可能会影响正常的游戏体验,请仔细阅读。", "例如你现在首先感受到的应该是状态栏的变动,你可以打开百科全书阅读状态栏相关内容。里面包含状态栏的功能说明与布局说明等。", - "注意百科全书中的内容非常基础详细,如果对魔塔有一定的了解,可以选择性地阅读。" + "注意百科全书中的内容非常基础详细,如果对魔塔有一定的了解,可以选择性地阅读。", + "打开百科全书的快捷键是H" ], "8,12": [ "该塔计分方式:生命+5000*黄钥匙+15000*蓝钥匙" diff --git a/public/project/floors/MT21.js b/public/project/floors/MT21.js index 6bc32fd..6cef70f 100644 --- a/public/project/floors/MT21.js +++ b/public/project/floors/MT21.js @@ -136,7 +136,12 @@ main.floors.MT21= "\t[初级智人]\b[up,hero]或许智慧结晶会告诉我答案吧。", { "type": "function", - "function": "function(){\ncore.showChapter('第二章 智慧')\n}" + "function": "function(){\ncore.showChapter('第二章 智慧');\ncore.removeMaps('tower1', 'tower7', true);\n}" + }, + { + "type": "setValue", + "name": "item:pickaxe", + "value": "0" } ], "false": [ diff --git a/public/project/floors/MT22.js b/public/project/floors/MT22.js index 8b929c9..9f563c6 100644 --- a/public/project/floors/MT22.js +++ b/public/project/floors/MT22.js @@ -29,10 +29,12 @@ main.floors.MT22= ], "3,9": [ "第二章的加点已开启,可以在技能树的前置技能下方选择", - "如果你玩过上个版本,直接跳到了本章,记得查看背包里面的各种道具,尤其是百科全书,同时注意左边是你来的方向,那里还有些怪物" + "注意学习是一个非常重要的技能,需要尽快点开", + "如果你玩过上个版本,直接跳到了本章,记得查看背包里面的各种道具,尤其是百科全书,同时注意左边是你来的方向,那里还有些怪物", + "从现在开始,跳跃技能不再消耗生命值" ], "7,9": [ - "对于电摇嘲讽的怪物,当一个点可以被多个怪物嘲讽时,会优先选择最靠左上角的怪物。其次,在进入嘲讽区域之前会自动存档" + "百科全书中已解锁第二章需要特别说明的怪物属性,你可以在百科全书中查看" ] }, "changeFloor": { @@ -42,6 +44,13 @@ main.floors.MT22= 0, 4 ] + }, + "9,0": { + "floorId": "MT24", + "loc": [ + 9, + 14 + ] } }, "beforeBattle": {}, @@ -54,7 +63,7 @@ main.floors.MT22= "map": [ [142,142,142,142,142,142,142,142,142, 91,143,143,143,143,143], [142,142,142,142,142,142,142,142,142, 0,143,143,143,143,143], - [142,142,482,482,492, 0, 0, 0, 0, 0,143,491,491,143,143], + [142,142,482,482,492, 0, 0, 0, 0, 0,143,491,484,143,143], [142,142,142,142,142, 0, 0, 0, 0, 0,143,143,494,143,143], [142,142,482,482,492, 0, 0,484, 0,441, 0, 0, 0, 0, 94], [142,142,142,142,142, 0, 0, 0, 0,143,143,143,143,143,143], diff --git a/public/project/floors/MT23.js b/public/project/floors/MT23.js index 4d351e4..384bdc8 100644 --- a/public/project/floors/MT23.js +++ b/public/project/floors/MT23.js @@ -16,7 +16,12 @@ main.floors.MT23= "firstArrive": [], "eachArrive": [], "parallelDo": "", - "events": {}, + "events": { + "1,3": [ + "请善用拥有电摇嘲讽属性的怪物", + "例如右边就可以利用电摇嘲讽把几个强怪后面的宝石暴露出来" + ] + }, "changeFloor": { "0,4": { "floorId": "MT22", @@ -24,6 +29,20 @@ main.floors.MT23= 14, 4 ] + }, + "12,0": { + "floorId": "MT26", + "loc": [ + 12, + 14 + ] + }, + "14,2": { + "floorId": "MT27", + "loc": [ + 0, + 2 + ] } }, "beforeBattle": {}, @@ -35,23 +54,37 @@ main.floors.MT23= "cannotMoveIn": {}, "map": [ [143,143,143,143,143,143,143,143,143,143,143,143, 91,143,143], - [143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143], - [143, 0,275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94], - [143, 0,562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143], - [ 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143], - [143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143], - [143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143], - [143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143], - [143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143], - [143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143], - [143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143], - [143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143], - [143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143], - [143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143], + [143,376,381,523, 0, 0,570, 0, 34,378,143,381, 0,381,143], + [143,143,143,143,484,143,143,143,143, 0,520, 0,484, 0, 94], + [143,129,381,143, 0,143,390,484,143,566,143,143,143,545,143], + [ 92, 0, 0,523,403,143, 21,396,280, 0,403,482,492,482,143], + [143,484,381,143, 0,492,492,143,143,566,143,143,143,143,143], + [143,143,492,143,500,143,441,420,500, 0,378,403,484, 0,143], + [143,390,482,143,484,143,143,143,143,492,143,143,494,143,143], + [143, 0,403,275,376, 0,378,143,482,482,482,143, 34, 34,143], + [143,143,494,143,494,143,143,143,143,492,143,143,523,143,143], + [143,420,484,143, 21,420,492,390, 0,275, 0,519, 0,381,143], + [143, 0,441,143,484, 0,143,482,381,143, 33,143,143,518,143], + [143,280,143,143,143,562,143,143,143,143, 0,143,376, 0,143], + [143, 0,482, 0,482, 0,143, 34,441, 34,520,143, 33,403,143], [143,143,143,143,143,143,143,143,143,143,143,143,143,143,143] ], "bgmap": [ - + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0], + [ 0, 0, 0, 0,144,144,144,144,144,144, 0, 0,144, 0, 0], + [ 0, 0, 0, 0,144, 0, 0, 0, 0,144,144,144,144,144,144], + [ 0, 0, 0, 0,144, 0, 0, 0, 0,144, 0, 0, 0,144, 0], + [144,144,144,144,144, 0, 0, 0, 0,144,144,144,144,144, 0], + [ 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0,144,144,144, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ], "fgmap": [ diff --git a/public/project/floors/MT24.js b/public/project/floors/MT24.js index daed1a1..75bdb1a 100644 --- a/public/project/floors/MT24.js +++ b/public/project/floors/MT24.js @@ -1,45 +1,104 @@ main.floors.MT24= { -"floorId": "MT24", -"title": "智慧小径", -"name": "智慧小径", -"width": 15, -"height": 15, -"canFlyTo": true, -"canFlyFrom": true, -"canUseQuickShop": true, -"cannotViewMap": false, -"images": [], -"ratio": 2, -"defaultGround": "grass", -"bgm": "road.mp3", -"firstArrive": [], -"eachArrive": [], -"parallelDo": "", -"events": {}, -"changeFloor": {}, -"beforeBattle": {}, -"afterBattle": {}, -"afterGetItem": {}, -"afterOpenDoor": {}, -"autoEvent": {}, -"cannotMove": {}, -"cannotMoveIn": {}, -"map": [ - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + "floorId": "MT24", + "title": "智慧小径", + "name": "智慧小径", + "width": 15, + "height": 15, + "canFlyTo": true, + "canFlyFrom": true, + "canUseQuickShop": true, + "cannotViewMap": false, + "images": [], + "ratio": 2, + "defaultGround": "grass", + "bgm": "road.mp3", + "firstArrive": [], + "eachArrive": [], + "parallelDo": "", + "events": { + "8,13": [ + "当勇士被嘲讽时,水也能被撞碎,不要问我为什么(" + ] + }, + "changeFloor": { + "9,14": { + "floorId": "MT22", + "loc": [ + 9, + 0 + ] + }, + "5,0": { + "floorId": "MT25", + "loc": [ + 5, + 14 + ] + }, + "11,0": { + "floorId": "MT25", + "loc": [ + 11, + 14 + ] + }, + "14,5": { + "floorId": "MT26", + "loc": [ + 0, + 5 + ] + } + }, + "beforeBattle": {}, + "afterBattle": {}, + "afterGetItem": {}, + "afterOpenDoor": {}, + "autoEvent": {}, + "cannotMove": {}, + "cannotMoveIn": {}, + "map": [ + [142,142,142,142,142, 91,142,142,142,142,142, 91,143,143,143], + [142,142,142,142,142,280,142, 0,275, 0,484,376, 0,143,143], + [142,142,441,237,484, 0,492, 0,143,143,500,143,492,143,143], + [142,142,390,142, 0,142,142, 0,143, 0,403,491,390, 0,143], + [142,142,396,142,500,376,484,518,143,143,494,143,143,143,143], + [142, 22,484,494,378,142,142, 0,143,520, 0,403,482, 0, 94], + [142,142,142,142,484,142,142,378,143, 0,143,143,492,143,143], + [142,142,484,142,518, 0,376,275,482, 0,500,376, 0,376,143], + [562,142,492,142,142,142,142, 0,143,143,143, 0,484, 0,143], + [142,142, 0, 0,403,484, 0,523,484,378,143,519,143,143,143], + [142,142,280,142,142,492,566,142,142, 0,143,378,484,381,143], + [142,142, 21,484,142,378, 0,142,142,570,143,143,520,143,143], + [142,142,430, 0,142,142,482,142,381, 0,381,492,403,403,143], + [142,142,142,142,142,142,142,142,129, 0,484,143,143,143,143], + [142,142,142,142,142,142,142,142,142, 93,143,143,143,143,143] ], + "bgmap": [ + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0,144,144,144,144,144, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0,144, 0, 0,144, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0,144, 0, 0,144, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0,144, 0, 0,144, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0,144, 0, 0,144,144,144,144,144], + [ 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0,144,144,144, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0] +], + "fgmap": [ + +], + "bg2map": [ + +], + "fg2map": [ + +] } \ No newline at end of file diff --git a/public/project/floors/MT25.js b/public/project/floors/MT25.js index 6b5448a..7fc54c0 100644 --- a/public/project/floors/MT25.js +++ b/public/project/floors/MT25.js @@ -1,45 +1,93 @@ main.floors.MT25= { -"floorId": "MT25", -"title": "智慧小径", -"name": "智慧小径", -"width": 15, -"height": 15, -"canFlyTo": true, -"canFlyFrom": true, -"canUseQuickShop": true, -"cannotViewMap": false, -"images": [], -"ratio": 2, -"defaultGround": "grass", -"bgm": "road.mp3", -"firstArrive": [], -"eachArrive": [], -"parallelDo": "", -"events": {}, -"changeFloor": {}, -"beforeBattle": {}, -"afterBattle": {}, -"afterGetItem": {}, -"afterOpenDoor": {}, -"autoEvent": {}, -"cannotMove": {}, -"cannotMoveIn": {}, -"map": [ - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + "floorId": "MT25", + "title": "智慧小径", + "name": "智慧小径", + "width": 15, + "height": 15, + "canFlyTo": true, + "canFlyFrom": true, + "canUseQuickShop": true, + "cannotViewMap": false, + "images": [], + "ratio": 2, + "defaultGround": "grass", + "bgm": "road.mp3", + "firstArrive": [], + "eachArrive": [], + "parallelDo": "", + "events": {}, + "changeFloor": { + "5,14": { + "floorId": "MT24", + "loc": [ + 5, + 0 + ] + }, + "11,14": { + "floorId": "MT24", + "loc": [ + 11, + 0 + ] + }, + "14,9": { + "floorId": "MT30", + "loc": [ + 0, + 9 + ] + } + }, + "beforeBattle": {}, + "afterBattle": {}, + "afterGetItem": {}, + "afterOpenDoor": {}, + "autoEvent": {}, + "cannotMove": {}, + "cannotMoveIn": {}, + "map": [ + [142,142,142,142,142,142,142,142,142,142,142,142,142,142,142], + [142,142,142,142,142,142,142,142,142,142,142,142,142,142,142], + [142,142,142,142,142,142,142,142,142,142,142,142,142,142,142], + [142,142,142,142,142,142,142,142,142,142,142,142,142,142,142], + [142,142,142,142,142,142,142,142,142,142,142,142,142,142,142], + [142,142,142,142,142,142,142,142,142,142,142,142,142,142,142], + [142,142,142,142,142, 23,142,142,142,142,142,142,142,142,142], + [142,142,142,142,482,441,482,142,142,142,142,142,142,142,142], + [142,142,142, 21,420,575,430, 21,142,142,142,142,142,142,142], + [142,142,142,142,482,491,482,142,142,142,142, 0,484, 0, 94], + [142,142,142,142,142, 22,142,142,142,142,142,566,143,143,143], + [142,142,142,142,142,576,142,142,142,142,142,430,566,420,143], + [142,142,142,142,142,497,142,142,142,142,142,142,142,566,143], + [142,142,142,142,142,572,142,142,142,142,142, 0,484, 0,143], + [142,142,142,142,142, 93,142,142,142,142,142, 93,143,143,143] ], + "bgmap": [ + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,144,144,144], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,144,144, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,144,144, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0] +], + "fgmap": [ + +], + "bg2map": [ + +], + "fg2map": [ + +] } \ No newline at end of file diff --git a/public/project/floors/MT26.js b/public/project/floors/MT26.js index feba81f..bc2bad1 100644 --- a/public/project/floors/MT26.js +++ b/public/project/floors/MT26.js @@ -1,45 +1,100 @@ main.floors.MT26= { -"floorId": "MT26", -"title": "智慧小径", -"name": "智慧小径", -"width": 15, -"height": 15, -"canFlyTo": true, -"canFlyFrom": true, -"canUseQuickShop": true, -"cannotViewMap": false, -"images": [], -"ratio": 2, -"defaultGround": "grass", -"bgm": "road.mp3", -"firstArrive": [], -"eachArrive": [], -"parallelDo": "", -"events": {}, -"changeFloor": {}, -"beforeBattle": {}, -"afterBattle": {}, -"afterGetItem": {}, -"afterOpenDoor": {}, -"autoEvent": {}, -"cannotMove": {}, -"cannotMoveIn": {}, -"map": [ - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + "floorId": "MT26", + "title": "智慧小径", + "name": "智慧小径", + "width": 15, + "height": 15, + "canFlyTo": true, + "canFlyFrom": true, + "canUseQuickShop": true, + "cannotViewMap": false, + "images": [], + "ratio": 2, + "defaultGround": "grass", + "bgm": "road.mp3", + "firstArrive": [], + "eachArrive": [], + "parallelDo": "", + "events": {}, + "changeFloor": { + "0,5": { + "floorId": "MT24", + "loc": [ + 14, + 5 + ] + }, + "12,14": { + "floorId": "MT23", + "loc": [ + 12, + 0 + ] + }, + "14,7": { + "floorId": "MT28", + "loc": [ + 0, + 7 + ] + }, + "11,0": { + "floorId": "MT30", + "loc": [ + 11, + 14 + ] + } + }, + "beforeBattle": {}, + "afterBattle": {}, + "afterGetItem": {}, + "afterOpenDoor": {}, + "autoEvent": {}, + "cannotMove": {}, + "cannotMoveIn": {}, + "map": [ + [143,143,143,143,143,143,143,143,143,143,143, 91,143,143,143], + [143,441, 21,237, 0,143, 0,482,566, 0,143, 0,143,143,143], + [143,484,390,143, 0,143,378, 0,143, 0,566, 0,376,482,143], + [143,143,143,143,484,143,143,143,143,566,143,143,492,143,143], + [143, 0, 0,492, 0,143,482,403,376, 0,518, 0,482,396,143], + [ 92, 0,518,143, 0,520, 0,378,143,143,143,143,275, 0,143], + [143,143, 0,143,143,143,143,562,143,390,482,143, 0,143,143], + [143, 0,376,143, 0,143,482,482,143,482,403,500,403, 0, 94], + [143,500,143,143,482,143,143,143,143,492,143,143,519,143,143], + [143,468,482,143,441,492,430, 0,143,484,396,237,482, 0,143], + [143,482,468,494, 0,275,420,484,492,390,484,143, 0,482,143], + [143,143,143,143,566,143,572,143,143,494,143,143,143,523,143], + [143,390,482,500, 0,143,482, 0,566,381,482,143,378, 0,143], + [143,143,396,143, 0,566, 0,381,143, 0,381,570, 0,143,143], + [143,143,143,143,143,143,143,143,143,143,143,143, 93,143,143] ], + "bgmap": [ + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0,144,144,144, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0], + [ 0,144,144,144,144, 0,144,144,144,144,144,144,144, 0, 0], + [144,144, 0, 0,144,144,144, 0, 0, 0, 0, 0,144, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,144,144], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,144, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,144, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0] +], + "fgmap": [ + +], + "bg2map": [ + +], + "fg2map": [ + +] } \ No newline at end of file diff --git a/public/project/floors/MT27.js b/public/project/floors/MT27.js index 89f6bb0..2b31baf 100644 --- a/public/project/floors/MT27.js +++ b/public/project/floors/MT27.js @@ -1,34 +1,66 @@ main.floors.MT27= { -"floorId": "MT27", -"title": "智慧小径", -"name": "智慧小径", -"width": 15, -"height": 15, -"canFlyTo": true, -"canFlyFrom": true, -"canUseQuickShop": true, -"cannotViewMap": false, -"images": [], -"ratio": 2, -"defaultGround": "grass", -"bgm": "road.mp3", -"firstArrive": [], -"eachArrive": [], -"parallelDo": "", -"events": {}, -"changeFloor": {}, -"beforeBattle": {}, -"afterBattle": {}, -"afterGetItem": {}, -"afterOpenDoor": {}, -"autoEvent": {}, -"cannotMove": {}, -"cannotMoveIn": {}, -"map": [ - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "floorId": "MT27", + "title": "智慧小径", + "name": "智慧小径", + "width": 15, + "height": 15, + "canFlyTo": true, + "canFlyFrom": true, + "canUseQuickShop": true, + "cannotViewMap": false, + "images": [], + "ratio": 2, + "defaultGround": "grass", + "bgm": "road.mp3", + "firstArrive": [], + "eachArrive": [], + "parallelDo": "", + "events": {}, + "changeFloor": { + "0,2": { + "floorId": "MT23", + "loc": [ + 14, + 2 + ] + }, + "4,0": { + "floorId": "MT28", + "loc": [ + 4, + 14 + ] + } + }, + "beforeBattle": {}, + "afterBattle": {}, + "afterGetItem": {}, + "afterOpenDoor": {}, + "autoEvent": {}, + "cannotMove": {}, + "cannotMoveIn": {}, + "map": [ + [143,143,143,143, 91,143,143,143,143,143,143,143,143,143,143], + [143,143,143,143, 0,143,143,420,143,143,143,143,143,143,143], + [ 92, 0, 0,482, 0,497,143,430,491,280,143,143,143,143,143], + [143,143,492,143,143,143,143,143,143, 0,143,143,143,143,143], + [143, 0, 0,492,491,492,390, 0,484, 0,143,143,143,143,143], + [143, 0,143,143,143,143, 0,143,143,143,143,143,143,143,143], + [143,441,143,390,482,143, 0,143,484,396,143,143,143,143,143], + [143, 33,500,482,396,143,403,568, 21,403,143,143,143,143,143], + [143,275,492,492,143,143,143,143,143,568,143,143,143,143,143], + [143, 33,237,482,396,494,484,390,396,484,143,143,143,143,143], + [143,441,143,390,482,143,143,143,237,143,143,143,143,143,143], + [143, 0,143,143,143,143,403,376,484,143,143,143,143,143,143], + [143,568,143,376,482,143,378,143,280,143,143,143,143,143,143], + [143, 0,568,378,381,562,492,143, 23,143,143,143,143,143,143], + [143,143,143,143,143,143,143,143,143,143,143,143,143,143,143] +], + "bgmap": [ + [ 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [144,144,144,144,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], @@ -42,4 +74,13 @@ main.floors.MT27= [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ], + "fgmap": [ + +], + "bg2map": [ + +], + "fg2map": [ + +] } \ No newline at end of file diff --git a/public/project/floors/MT28.js b/public/project/floors/MT28.js index 41fb38c..a66944a 100644 --- a/public/project/floors/MT28.js +++ b/public/project/floors/MT28.js @@ -1,45 +1,135 @@ main.floors.MT28= { -"floorId": "MT28", -"title": "智慧小径", -"name": "智慧小径", -"width": 15, -"height": 15, -"canFlyTo": true, -"canFlyFrom": true, -"canUseQuickShop": true, -"cannotViewMap": false, -"images": [], -"ratio": 2, -"defaultGround": "grass", -"bgm": "road.mp3", -"firstArrive": [], -"eachArrive": [], -"parallelDo": "", -"events": {}, -"changeFloor": {}, -"beforeBattle": {}, -"afterBattle": {}, -"afterGetItem": {}, -"afterOpenDoor": {}, -"autoEvent": {}, -"cannotMove": {}, -"cannotMoveIn": {}, -"map": [ - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + "floorId": "MT28", + "title": "智慧小径", + "name": "智慧小径", + "width": 15, + "height": 15, + "canFlyTo": true, + "canFlyFrom": true, + "canUseQuickShop": true, + "cannotViewMap": false, + "images": [], + "ratio": 2, + "defaultGround": "grass", + "bgm": "road.mp3", + "firstArrive": [], + "eachArrive": [], + "parallelDo": "", + "events": { + "5,13": [ + "注意,如果用跳跃技能把怪物踢走,会导致机关门无法开启" + ] + }, + "changeFloor": { + "4,14": { + "floorId": "MT27", + "loc": [ + 4, + 0 + ] + }, + "0,7": { + "floorId": "MT26", + "loc": [ + 14, + 7 + ] + }, + "8,0": { + "floorId": "MT29", + "loc": [ + 8, + 14 + ] + } + }, + "beforeBattle": {}, + "afterBattle": { + "10,8": [ + { + "type": "setValue", + "name": "flag:door_MT28_11_9", + "operator": "+=", + "value": "1" + } + ], + "12,8": [ + { + "type": "setValue", + "name": "flag:door_MT28_11_9", + "operator": "+=", + "value": "1" + } + ] + }, + "afterGetItem": {}, + "afterOpenDoor": {}, + "autoEvent": { + "11,9": { + "0": { + "condition": "flag:door_MT28_11_9==2", + "currentFloor": true, + "priority": 0, + "delayExecute": false, + "multiExecute": false, + "data": [ + { + "type": "openDoor" + }, + { + "type": "setValue", + "name": "flag:door_MT28_11_9", + "operator": "=", + "value": "null" + } + ] + } + } + }, + "cannotMove": {}, + "cannotMoveIn": {}, + "map": [ + [143,143,143,143,143,143,143,143, 91,143,143,143,143,143,143], + [143,143,441,390,396,143, 0,500,491, 0,143,143,143,143,143], + [143,143,143,143,484,280, 0,143, 0, 21,143,143,143,143,143], + [143,482,390,143,143,143,494,143,566,143,143, 0,143,143,143], + [143,441,482,500, 0,484,390,566,420,566,396,482, 22,143,143], + [143,143,492,143,143,143,572,143,566,143,143,494,143,143,143], + [143,143, 0, 0,568,376,482,143, 0,482, 0, 0,143,143,143], + [ 92, 0,484, 0,143,441,378,492, 0,143,143,237,143,143,143], + [143,143,143,568,143,500,143,143,518,143,280,484,280,143,143], + [143,390,484,403,492, 0,403,378,482,143,143, 85,143,143,143], + [143,143,143,143,143,143,143,275,143,143,466,484,467,143,143], + [143,482,376,143, 0,482,376,403, 0,143,143, 23,143,143,143], + [143,520,143,143,518,143,143,143,143,143,143,143,143,143,143], + [143,378,482,519, 0,129,143,143,143,143,143,143,143,143,143], + [143,143,143,143, 93,143,143,143,143,143,143,143,143,143,143] ], + "bgmap": [ + [ 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0,144,144,144, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0,144,144,144,144,144, 0, 0, 0, 0, 0, 0, 0, 0], + [144,144,144, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0,144,144,144, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0,144,144,144,144, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +], + "fgmap": [ + +], + "bg2map": [ + +], + "fg2map": [ + +] } \ No newline at end of file diff --git a/public/project/floors/MT29.js b/public/project/floors/MT29.js index 37bd785..db6af59 100644 --- a/public/project/floors/MT29.js +++ b/public/project/floors/MT29.js @@ -1,33 +1,124 @@ main.floors.MT29= { -"floorId": "MT29", -"title": "智慧小径", -"name": "智慧小径", -"width": 15, -"height": 15, -"canFlyTo": true, -"canFlyFrom": true, -"canUseQuickShop": true, -"cannotViewMap": false, -"images": [], -"ratio": 2, -"defaultGround": "grass", -"bgm": "road.mp3", -"firstArrive": [], -"eachArrive": [], -"parallelDo": "", -"events": {}, -"changeFloor": {}, -"beforeBattle": {}, -"afterBattle": {}, -"afterGetItem": {}, -"afterOpenDoor": {}, -"autoEvent": {}, -"cannotMove": {}, -"cannotMoveIn": {}, -"map": [ - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "floorId": "MT29", + "title": "智慧小径", + "name": "智慧小径", + "width": 15, + "height": 15, + "canFlyTo": true, + "canFlyFrom": true, + "canUseQuickShop": true, + "cannotViewMap": false, + "images": [], + "ratio": 2, + "defaultGround": "grass", + "bgm": "road.mp3", + "firstArrive": [ + { + "type": "animate", + "name": "hand", + "loc": [ + 13, + 8 + ] + }, + { + "type": "animate", + "name": "hand", + "loc": [ + 13, + 8 + ] + }, + { + "type": "animate", + "name": "jianji", + "loc": [ + 13, + 8 + ] + }, + { + "type": "hide", + "loc": [ + [ + 13, + 8 + ] + ], + "remove": true, + "time": 500 + }, + { + "type": "jump", + "from": [ + 12, + 8 + ], + "dxy": [ + 5, + 0 + ], + "time": 500 + }, + "\t[初级智人]\b[up,hero]杰克?", + "\t[初级智人]\b[up,hero]他为什么会在这里?", + "\t[初级智人]\b[up,hero]奇怪,他好像在为我打通道路。", + "\t[初级智人]\b[up,hero]这些怪物这么强,他是怎么对付的?", + "\t[初级智人]\b[up,hero]而且好像在故意让我发现。", + "\t[初级智人]\b[up,hero]跟上去看看。" + ], + "eachArrive": [], + "parallelDo": "", + "events": {}, + "changeFloor": { + "0,9": { + "floorId": "MT30", + "loc": [ + 14, + 9 + ] + }, + "8,14": { + "floorId": "MT28", + "loc": [ + 8, + 0 + ] + }, + "14,8": { + "floorId": "MT31", + "loc": [ + 0, + 7 + ] + } + }, + "beforeBattle": {}, + "afterBattle": {}, + "afterGetItem": {}, + "afterOpenDoor": {}, + "autoEvent": {}, + "cannotMove": {}, + "cannotMoveIn": {}, + "map": [ + [ 17, 17, 17, 17,143,143,143,143,143,143,143,143,143,143,143], + [ 17, 17, 17, 17,143,143,143,143,482,237,484,280, 0,390,143], + [ 17, 17, 17, 17,143,143,468,468,482,143,484,143,396,441,143], + [ 17, 17, 17, 17,143,143,143,492,143,143,562,143,492,143,143], + [ 17, 17, 17, 17,390, 0,143,482,143, 0,390,484,396, 0,143], + [ 17, 17, 17, 17,482,396,143,403,143,237,143,143,143,492,143], + [ 17, 17, 17, 17,280,143,143,390,403, 0,143,396,441,420,143], + [ 17, 17, 0,500, 0,376,143,143,568,143,143,143,143,572,143], + [ 17, 17, 0,143,482,482,143,376,482,568, 0,396,123,576, 94], + [ 92, 0, 0,143,378, 0,568, 0,378,143,390, 0,484, 0,143], + [143,500,143,143,143,492,143,143,143,143,143,492,143,143,143], + [143,484, 21,572,390, 0, 0, 0,237,143,484,562,491,491,143], + [143,390,396,494, 21,484,143,143,484,492,492,143,143,237,143], + [143,143,143,143,396, 0, 0,492, 0,280,390,403,484,396,143], + [143,143,143,143,143,143,143,143, 93,143,143,143,143,143,143] +], + "bgmap": [ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], @@ -35,6 +126,28 @@ main.floors.MT29= [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0,144,144,144,144, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0,144, 0, 0,144, 0, 0,144,144,144,144,144,144,144], + [144,144,144, 0, 0,144,144,144,144, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0,144,144,144,144, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0, 0, 0] +], + "fgmap": [ + +], + "bg2map": [ + [142,142,142,142,142,142,142,142,142,142,142,142, 0, 0, 0], + [142,142,142,142,142,142,142, 0, 0, 0, 0, 0, 0, 0, 0], + [142,142,142,142,142,142, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [142,142,142,142,142,142, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [142,142,142,142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [142,142,142,142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [142,142,142,142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [142,142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [142,142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], @@ -42,4 +155,7 @@ main.floors.MT29= [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ], + "fg2map": [ + +] } \ No newline at end of file diff --git a/public/project/floors/MT30.js b/public/project/floors/MT30.js index 6712ea3..9d1a485 100644 --- a/public/project/floors/MT30.js +++ b/public/project/floors/MT30.js @@ -1,45 +1,93 @@ main.floors.MT30= { -"floorId": "MT30", -"title": "智慧小径", -"name": "智慧小径", -"width": 15, -"height": 15, -"canFlyTo": true, -"canFlyFrom": true, -"canUseQuickShop": true, -"cannotViewMap": false, -"images": [], -"ratio": 2, -"defaultGround": "grass", -"bgm": "road.mp3", -"firstArrive": [], -"eachArrive": [], -"parallelDo": "", -"events": {}, -"changeFloor": {}, -"beforeBattle": {}, -"afterBattle": {}, -"afterGetItem": {}, -"afterOpenDoor": {}, -"autoEvent": {}, -"cannotMove": {}, -"cannotMoveIn": {}, -"map": [ - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + "floorId": "MT30", + "title": "智慧小径", + "name": "智慧小径", + "width": 15, + "height": 15, + "canFlyTo": true, + "canFlyFrom": true, + "canUseQuickShop": true, + "cannotViewMap": false, + "images": [], + "ratio": 2, + "defaultGround": "grass", + "bgm": "road.mp3", + "firstArrive": [], + "eachArrive": [], + "parallelDo": "", + "events": {}, + "changeFloor": { + "14,9": { + "floorId": "MT29", + "loc": [ + 0, + 9 + ] + }, + "0,9": { + "floorId": "MT25", + "loc": [ + 14, + 9 + ] + }, + "11,14": { + "floorId": "MT26", + "loc": [ + 11, + 0 + ] + } + }, + "beforeBattle": {}, + "afterBattle": {}, + "afterGetItem": {}, + "afterOpenDoor": {}, + "autoEvent": {}, + "cannotMove": {}, + "cannotMoveIn": {}, + "map": [ + [142,142,142,142,142,142,142,142,142,142,142,142,142,142,142], + [142,142,142,142,142,142,142,142,142,142,142,142,142,142,142], + [142,142,142,142,142,142,142,142,142,142,142,142,142,142,142], + [142,142,142,142,142,142,142,142,142,142,142,142,142,142,142], + [142,142,142,142,142,142,142,142,142,142,142,142,142,142,142], + [142,142,142,142,142,142,142,142,142,142,142,142,142,142,142], + [142,142,142,482,568, 0,390,142,396,142,142,142,142,142,142], + [142,142,390,403,142,484, 0,568,482, 0,403, 0,142,142,142], + [142,142,142,142,142,566, 17,143, 17, 17, 17,500,142,142,142], + [ 92, 0, 0, 0,572,482,482,143, 34,378,376, 34,237,482, 94], + [143,143,143,143,492,143,143,143,143,143,566,143,143,482,143], + [143,487,430,143,403,143,420,441, 21,143,403,403,143,396,143], + [143,280,143,143,562,143,143,280,143,143,143,566,143,403,143], + [143, 34, 34,376,403,378, 34, 34,143,482,492, 0,143,390,143], + [143,143,143,143,143,143,143,143,143,143,143, 93,143,143,143] ], + "bgmap": [ + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0,144,144,144,144,144,144,144, 0, 0, 0], + [ 0, 0, 0, 0, 0,144,142,142,142,142,142,144, 0, 0, 0], + [144,144,144,144,144,144, 0, 0, 0, 0,144,144,144,144,144], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,144, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0] +], + "fgmap": [ + +], + "bg2map": [ + +], + "fg2map": [ + +] } \ No newline at end of file diff --git a/public/project/floors/MT31.js b/public/project/floors/MT31.js new file mode 100644 index 0000000..0f5f174 --- /dev/null +++ b/public/project/floors/MT31.js @@ -0,0 +1,191 @@ +main.floors.MT31= +{ + "floorId": "MT31", + "title": "智慧小径", + "name": "智慧小径", + "width": 15, + "height": 15, + "canFlyTo": true, + "canFlyFrom": true, + "canUseQuickShop": true, + "cannotViewMap": false, + "images": [], + "ratio": 2, + "defaultGround": "grass", + "bgm": "road.mp3", + "firstArrive": [ + "\t[初级智人]\b[up,hero]杰克,你为什么在这?", + "\t[杰克,thief]\b[up,4,7]哟,咱好久不见了,我只是来这里寻找点东西。", + "\t[初级智人]\b[up,hero]这里怪物这么强,你怎么能打败他?", + "\t[杰克,thief]\b[up,4,7]我有我的特殊办法。", + "\t[初级智人]\b[up,hero]那些...绿色宝石吗?", + "\t[杰克,thief]\b[up,4,7]绿色宝石?我没见过那东西。", + "\t[初级智人]\b[up,hero]那是什么办法呢?", + "\t[杰克,thief]\b[up,4,7]这个你就不用操心了。", + "\t[杰克,thief]\b[up,4,7]对了,有人让我给你说一句话。", + "\t[杰克,thief]\b[up,4,7]时间会诉说真相,而历史不会。", + "\t[杰克,thief]\b[up,4,7]即使历史是真实的。", + "\t[初级智人]\b[up,hero]什么意思?", + "\t[杰克,thief]\b[up,4,7]我也不清楚,不过我先走了,你慢慢理解。", + { + "type": "jump", + "from": [ + 4, + 7 + ], + "dxy": [ + 15, + 0 + ], + "time": 500 + }, + "\t[初级智人]\b[up,hero]...", + "\t[初级智人]\b[up,hero]时间会诉说真相,而历史不会...", + "\t[初级智人]\b[up,hero]能相信的只有时间,而历史能被篡改吗...", + "\t[初级智人]\b[up,hero]历史是真实的,又为何不会诉说真相呢...", + "\t[初级智人]\b[up,hero]完全不能理解。" + ], + "eachArrive": [], + "parallelDo": "", + "events": {}, + "changeFloor": { + "0,7": { + "floorId": "MT29", + "loc": [ + 14, + 8 + ] + } + }, + "beforeBattle": {}, + "afterBattle": { + "10,7": [ + "\t[智慧守护者,E577]\b[up,10,7]智慧!终于有人可以得到这些智慧了!", + "\t[智慧守护者,E577]\b[up,10,7]终于要迎来结束战争的那一天了!", + "\t[智慧守护者,E577]\b[up,10,7]我的任务终于完成了!!", + "\t[低级智人]\b[up,hero]什么结束战争,什么完成任务?", + { + "type": "setBlock", + "number": "I476", + "time": 1000 + }, + "\t[低级智人]\b[up,hero]哎,没问到啊...", + "\t[低级智人]\b[up,hero]战争,又是什么意思呢?", + "\t[低级智人]\b[up,hero]之前智慧之神也提过战争,但是我还没问我们就打起来了。", + "\t[低级智人]\b[up,hero]之后应该就知道了。", + { + "type": "function", + "function": "function(){\ncore.getNextItem()\n}" + }, + { + "type": "sleep", + "time": 1000 + }, + "\t[低级智人]\b[up,hero]!!!", + "\t[低级智人]\b[up,hero]这种感觉!", + "\t[低级智人]\b[up,hero]感觉前所未有的东西涌入了大脑。", + "\t[低级智人]\b[up,hero]这就是智慧吗。", + "\t[低级智人]\b[up,hero]原来如此。", + "\t[低级智人]\b[up,hero]原来,智慧是这个意思。", + "\t[低级智人]\b[up,hero]我明白了,我全都明白了。", + "\t[低级智人]\b[up,hero]智慧,真的可以掌握万物。", + { + "type": "setValue", + "name": "flag:door_MT31_7_6", + "operator": "+=", + "value": "1" + } + ] + }, + "afterGetItem": {}, + "afterOpenDoor": {}, + "autoEvent": { + "7,5": { + "0": { + "condition": "flag:door_MT31_7_6==1", + "currentFloor": true, + "priority": 0, + "delayExecute": false, + "multiExecute": false, + "data": [ + { + "type": "openDoor" + }, + { + "type": "setValue", + "name": "flag:door_MT31_7_6", + "operator": "=", + "value": "null" + } + ] + }, + "1": null + }, + "7,9": { + "0": { + "condition": "flag:door_MT31_7_6==1", + "currentFloor": true, + "priority": 0, + "delayExecute": false, + "multiExecute": false, + "data": [ + { + "type": "openDoor" + }, + { + "type": "setValue", + "name": "flag:door_MT31_7_6", + "operator": "=", + "value": "null" + } + ] + }, + "1": null + } + }, + "cannotMove": {}, + "cannotMoveIn": {}, + "map": [ + [143,143,143,143,143,143,143,143,143,143,143,143,143,143,143], + [143,143,143,143,143,143,143,143,143,143,143,143,143,143,143], + [143,143,143,143,143,143,143,143,143,143,143,143,143,143,143], + [143,143,143,143,143,143,143,143,143,143,143,143,143,143,143], + [143,143, 0, 0, 0, 0,143,491,491,468,468,466,466,143,143], + [143,143, 0,491,491, 0,143, 85,143,143,143,143,143,143,143], + [143,143, 0, 0, 0, 0,143, 0, 0, 0, 0, 0, 0,143,143], + [ 92, 0, 0, 23,123, 0,497, 0, 0, 0,577, 0, 0, 0, 0], + [143,143, 0, 0, 0, 0,143, 0, 0, 0, 0, 0, 0,143,143], + [143,143, 0,491,491, 0,143, 85,143,143,143,143,143,143,143], + [143,143, 0, 0, 0, 0,143,491,491,468,468,467,467,143,143], + [143,143,143,143,143,143,143,143,143,143,143,143,143,143,143], + [143,143,143,143,143,143,143,143,143,143,143,143,143,143,143], + [143,143,143,143,143,143,143,143,143,143,143,143,143,143,143], + [143,143,143,143,143,143,143,143,143,143,143,143,143,143,143] +], + "bgmap": [ + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [144,144,144,144,144,144,144,144,144,144,144,144,144,144,144], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] +], + "fgmap": [ + +], + "bg2map": [ + +], + "fg2map": [ + +] +} \ No newline at end of file diff --git a/public/project/floors/MT6.js b/public/project/floors/MT6.js index 805f874..0bf9665 100644 --- a/public/project/floors/MT6.js +++ b/public/project/floors/MT6.js @@ -99,6 +99,9 @@ main.floors.MT6= "name": "animateSpeed", "value": 277.7778 } + ], + "5,5": [ + "你可以在百科全书中查看第一章中需要特别说明的怪物特技" ] }, "changeFloor": { @@ -151,7 +154,7 @@ main.floors.MT6= [30064,30060,30118,30066, 0, 0, 0, 20, 29, 34, 20, 0, 20, 20, 20], [30072,30073,30126,30074, 0, 0, 32, 20, 20, 20, 20, 31, 0, 31, 20], [ 20, 0, 0, 0, 29, 0, 0, 20, 0, 0,204, 0, 31, 0, 20], - [ 20, 0, 0, 0, 0, 0, 29,267, 0, 0, 20,276, 20, 20, 20], + [ 20, 0, 0, 0, 0,129, 29,267, 0, 0, 20,276, 20, 20, 20], [ 20, 0, 0, 0, 0, 0, 20, 20, 20, 29, 20, 0, 0, 0, 20], [30060,30112,30113,30114,30065,30066, 0, 34, 0, 0, 20, 29, 20,368, 94], [30073,30112,30113,30114,30073,30074, 20, 20, 20,209, 0, 34, 0, 0, 20], diff --git a/public/project/floors/tower1.js b/public/project/floors/tower1.js index 8cef113..801b57e 100644 --- a/public/project/floors/tower1.js +++ b/public/project/floors/tower1.js @@ -14,7 +14,8 @@ main.floors.tower1= "defaultGround": "T526", "bgm": "tower.mp3", "firstArrive": [ - "\t[野蛮人]\b[up,hero]这里,便是智慧之塔了" + "\t[野蛮人]\b[up,hero]这里,便是智慧之塔了", + "注意破墙镐在本区结束后会全部删除,请在本区域全部用完" ], "eachArrive": [], "parallelDo": "", @@ -145,6 +146,16 @@ main.floors.tower1= "type": "function", "function": "function(){\nconsole.trace()\n}" } + ], + "7,14": [ + { + "type": "changeFloor", + "floorId": "MT20", + "loc": [ + 7, + 8 + ] + } ] }, "afterBattle": {}, @@ -216,13 +227,6 @@ main.floors.tower1= ], "cannotMoveIn": {}, "changeFloor": { - "7,14": { - "floorId": "MT20", - "loc": [ - 7, - 8 - ] - }, "0,7": { "floorId": "tower6", "loc": [ diff --git a/public/project/functions.js b/public/project/functions.js index 0b4392a..b136f72 100644 --- a/public/project/functions.js +++ b/public/project/functions.js @@ -709,10 +709,11 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = { [ 19, '电摇嘲讽', - '当勇士移动到怪物同行或同列时,勇士会直接冲向怪物,撞碎路上的所有地形和门,拾取路上的道具,与路上的怪物以及该怪物战斗', + '当勇士移动到怪物同行或同列时,勇士会直接冲向怪物,撞碎路上的所有地形和门,拾取路上的道具,与路上的怪物战斗' + + ',最后与该怪物战斗', '#ff6666' ], - [20, '无敌', '勇士无法打败怪物,除非拥有十字架', '#aaaaaa'], + [20, '荆棘', '勇士无法打败怪物,除非拥有十字架', '#aaaaaa'], [ 21, '退化', @@ -809,10 +810,11 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = { var mon_money = core.getEnemyValue(enemy, 'money', x, y, floorId), mon_exp = core.getEnemyValue(enemy, 'exp', x, y, floorId), mon_point = core.getEnemyValue(enemy, 'point', x, y, floorId); - // 坚固 - if (core.hasSpecial(mon_special, 3) && mon_def < hero_atk - 1) { - mon_def = hero_atk - 1; - } + + if (typeof enemy === 'number') + core.getBlockByNumber(enemy).event.id; + if (typeof enemy === 'string') enemy = core.material.enemys[enemy]; + // 饥渴 if (core.hasSpecial(mon_special, 7)) mon_atk += (hero_atk * (enemy.hungry || 0)) / 100; @@ -822,6 +824,20 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = { mon_atk += core.getFlag('inte_' + floorId, 0); } + if (flags.blade && flags.bladeOn) { + hero_atk *= 1 + core.getSkillLevel(2) / 10; + hero_def *= 1 - core.getSkillLevel(2) / 10; + } + if (flags.shield && flags.shieldOn) { + hero_atk *= 1 - core.getSkillLevel(10) / 10; + hero_def *= 1 + core.getSkillLevel(10) / 10; + } + + // 坚固 + if (core.hasSpecial(mon_special, 3) && mon_def < hero_atk - 1) { + mon_def = hero_atk - 1; + } + var guards = []; // 光环和支援检查 @@ -845,13 +861,13 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = { if (!block.disable) { // 获得该图块的ID var id = block.event.id, - enemy = core.material.enemys[id]; + e = core.material.enemys[id]; var dx = Math.abs(block.x - x), dy = Math.abs(block.y - y); // 检查【支援】技能,数字26 if ( - enemy && - core.hasSpecial(enemy.special, 26) && + e && + core.hasSpecial(e.special, 26) && // 检查支援条件,坐标存在,距离为1,且不能是自己 // 其他类型的支援怪,比如十字之类的话.... 看着做是一样的 x != null && @@ -865,9 +881,9 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = { } // 抱团 if ( - enemy && + e && core.hasSpecial(mon_special, 8) && - core.hasSpecial(enemy.special, 8) && + core.hasSpecial(e.special, 8) && !(dx == 0 && dy == 0) && dx < 3 && dy < 3 @@ -929,16 +945,6 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = { // 后面三个参数主要是可以在光环等效果上可以适用 floorId = floorId || core.status.floorId; - // 怪物的各项数据 - // 对坚固模仿等处理扔到了脚本编辑-getEnemyInfo之中 - const enemyInfo = core.enemys.getEnemyInfo( - enemy, - hero, - x, - y, - floorId - ); - function getDamage() { let hero_hp = core.getRealStatusOrDefault(hero, 'hp'), hero_atk = core.getRealStatusOrDefault(hero, 'atk'), @@ -950,6 +956,16 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = { origin_hero_atk = core.getStatusOrDefault(hero, 'atk'), origin_hero_def = core.getStatusOrDefault(hero, 'def'); + // 怪物的各项数据 + // 对坚固模仿等处理扔到了脚本编辑-getEnemyInfo之中 + const enemyInfo = core.enemys.getEnemyInfo( + enemy, + hero, + x, + y, + floorId + ); + let mon_hp = enemyInfo.hp, mon_atk = enemyInfo.atk, mon_def = enemyInfo.def, @@ -1100,7 +1116,10 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = { let damageInfo = null; let damage = Infinity; - const skills = [['bladeOn', 'blade']]; + const skills = [ + ['bladeOn', 'blade'], + ['shieldOn', 'shield'] + ]; damageInfo = getDamage(); if (damageInfo) damage = damageInfo.damage; @@ -1198,7 +1217,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = { core.ui._drawStatistics(); break; case 72: // H:打开帮助页面 - core.ui._drawHelp(); + core.useItem('I560', true); break; case 77: // M:快速标记 const [x, y] = flags.mouseLoc; @@ -1287,7 +1306,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = { // 要存档的内容 var data = { floorId: core.status.floorId, - hero: core.clone(core.status.hero), + hero: core.clone(core.status.hero, name => name !== 'chase'), hard: core.status.hard, maps: core.clone(core.maps.saveMap()), route: core.encodeRoute(core.status.route), @@ -1620,13 +1639,13 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = { // 电摇嘲讽 if (enemy && core.hasSpecial(enemy.special, 19)) { for (let nx = 0; nx < width; nx++) { - if (!core.noPass(nx, y)) { + if (!core.noPass(nx, y, floorId)) { mockery[`${nx},${y}`] ??= []; mockery[`${nx},${y}`].push([x, y]); } } for (let ny = 0; ny < height; ny++) { - if (!core.noPass(x, ny)) { + if (!core.noPass(x, ny, floorId)) { mockery[`${x},${ny}`] ??= []; mockery[`${x},${ny}`].push([x, y]); } diff --git a/public/project/icons.js b/public/project/icons.js index 09f42a5..f3a13af 100644 --- a/public/project/icons.js +++ b/public/project/icons.js @@ -331,7 +331,19 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 = "E561": 119, "E562": 120, "E563": 121, - "E564": 122 + "E564": 122, + "E566": 123, + "E567": 124, + "E568": 125, + "E569": 126, + "E570": 127, + "E571": 128, + "E572": 129, + "E573": 130, + "E576": 131, + "E577": 132, + "E578": 133, + "E579": 134 }, "enemy48": { "angel": 0, @@ -521,7 +533,10 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 = "I491": 94, "I558": 95, "I559": 96, - "I560": 97 + "I560": 97, + "I565": 98, + "I574": 99, + "I575": 100 }, "autotile": { "autotile": 0, diff --git a/public/project/items.js b/public/project/items.js index 1978445..7605b54 100644 --- a/public/project/items.js +++ b/public/project/items.js @@ -855,7 +855,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "name": "大绿宝石", "text": ",护盾+${core.values.greenGem}", "itemEffect": "core.status.hero.mdef += 80 * core.status.thisMap.ratio / core.getFlag(\"hard\") * (core.getSkillLevel(11) / 20 + 1)", - "itemEffectTip": ",智慧+${80 * core.status.thisMap.ratio / core.getFlag(\"hard\") * (core.getSkillLevel(11) / 20 + 1)", + "itemEffectTip": ",智慧+${80 * core.status.thisMap.ratio / core.getFlag(\"hard\") * (core.getSkillLevel(11) / 20 + 1)}", "useItemEffect": "core.status.hero.mdef += core.values.greenGem", "canUseItemEffect": "true" }, @@ -925,7 +925,12 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = }, "I420": { "cls": "items", - "name": "新物品" + "name": "超大红宝石", + "text": "攻击+${core.values.redGem}", + "itemEffect": "core.status.hero.atk += 8 * core.status.thisMap.ratio", + "itemEffectTip": ",攻击+${8 * core.status.thisMap.ratio}", + "useItemEffect": "core.status.hero.atk += core.values.redGem", + "canUseItemEffect": "true" }, "I421": { "cls": "items", @@ -965,7 +970,12 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = }, "I430": { "cls": "items", - "name": "新物品" + "name": "超大蓝宝石", + "text": ",防御+${core.values.blueGem}", + "itemEffect": "core.status.hero.def += 8 * core.status.thisMap.ratio", + "itemEffectTip": ",防御+${8 * core.status.thisMap.ratio}", + "useItemEffect": "core.status.hero.def += core.values.blueGem", + "canUseItemEffect": "true" }, "I431": { "cls": "items", @@ -1114,15 +1124,30 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = }, "I466": { "cls": "items", - "name": "新物品" + "name": "璀璨红宝石", + "text": "攻击+${core.values.redGem}", + "itemEffect": "core.status.hero.atk += 16 * core.status.thisMap.ratio", + "itemEffectTip": ",攻击+${16 * core.status.thisMap.ratio}", + "useItemEffect": "core.status.hero.atk += core.values.redGem", + "canUseItemEffect": "true" }, "I467": { "cls": "items", - "name": "新物品" + "name": "璀璨蓝宝石", + "text": ",防御+${core.values.blueGem}", + "itemEffect": "core.status.hero.def += 16 * core.status.thisMap.ratio", + "itemEffectTip": ",防御+${16 * core.status.thisMap.ratio}", + "useItemEffect": "core.status.hero.def += core.values.blueGem", + "canUseItemEffect": "true" }, "I468": { "cls": "items", - "name": "新物品" + "name": "璀璨绿宝石", + "text": ",护盾+${core.values.greenGem}", + "itemEffect": "core.status.hero.mdef += 320 * core.status.thisMap.ratio / core.getFlag(\"hard\") * (core.getSkillLevel(11) / 20 + 1)", + "itemEffectTip": ",智慧+${320 * core.status.thisMap.ratio / core.getFlag(\"hard\") * (core.getSkillLevel(11) / 20 + 1)}", + "useItemEffect": "core.status.hero.mdef += core.values.greenGem", + "canUseItemEffect": "true" }, "I469": { "cls": "items", @@ -1130,15 +1155,30 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = }, "I470": { "cls": "items", - "name": "新物品" + "name": "新物品", + "text": "攻击+${core.values.redGem}", + "itemEffect": "core.status.hero.atk += 32 * core.status.thisMap.ratio", + "itemEffectTip": ",攻击+${32 * core.status.thisMap.ratio}", + "useItemEffect": "core.status.hero.atk += core.values.redGem", + "canUseItemEffect": "true" }, "I471": { "cls": "items", - "name": "新物品" + "name": "新物品", + "text": ",防御+${core.values.blueGem}", + "itemEffect": "core.status.hero.def += 32 * core.status.thisMap.ratio", + "itemEffectTip": ",防御+${32 * core.status.thisMap.ratio}", + "useItemEffect": "core.status.hero.def += core.values.blueGem", + "canUseItemEffect": "true" }, "I472": { "cls": "items", - "name": "新物品" + "name": "新物品", + "text": ",防御+${core.values.blueGem}", + "itemEffect": "core.status.hero.def += 8 * core.status.thisMap.ratio", + "itemEffectTip": ",防御+${8 * core.status.thisMap.ratio}", + "useItemEffect": "core.status.hero.def += core.values.blueGem", + "canUseItemEffect": "true" }, "I473": { "cls": "items", @@ -1154,7 +1194,12 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = }, "I476": { "cls": "items", - "name": "新物品" + "name": "史诗绿宝石", + "text": ",护盾+${core.values.greenGem}", + "itemEffect": "core.status.hero.mdef += 1280 * core.status.thisMap.ratio / core.getFlag(\"hard\") * (core.getSkillLevel(11) / 20 + 1)", + "itemEffectTip": ",智慧+${1280 * core.status.thisMap.ratio / core.getFlag(\"hard\") * (core.getSkillLevel(11) / 20 + 1)}", + "useItemEffect": "core.status.hero.mdef += core.values.greenGem", + "canUseItemEffect": "true" }, "I477": { "cls": "items", @@ -1256,5 +1301,30 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = "canUseItemEffect": "true", "text": "一个包含游戏中所有功能详细说明的百科全书,可以查看游戏中所有的功能", "useItemEffect": "if (!core.isReplaying()) core.plugin.descOpened.value = true;" + }, + "I565": { + "cls": "constants", + "name": "学习", + "canUseItemEffect": "true", + "text": "可以学习怪物的技能,学习后持续${core.getSkillLevel(11) * 3 + 2}场战斗" + }, + "I574": { + "cls": "items", + "name": "新物品", + "canUseItemEffect": "true" + }, + "I575": { + "cls": "equips", + "name": "智慧之靴", + "canUseItemEffect": "true", + "text": "用智慧制作出的靴子,穿上后增加10%的攻击力和10%的防御", + "equip": { + "type": "鞋子", + "value": {}, + "percentage": { + "def": 10, + "atk": 10 + } + } } } \ No newline at end of file diff --git a/public/project/maps.js b/public/project/maps.js index caa9982..e552ef1 100644 --- a/public/project/maps.js +++ b/public/project/maps.js @@ -489,6 +489,21 @@ var maps_90f36752_8815_4be8_b32b_d7fad1d0542e = "562": {"cls":"enemys","id":"E562"}, "563": {"cls":"enemys","id":"E563"}, "564": {"cls":"enemys","id":"E564"}, + "565": {"cls":"items","id":"I565"}, + "566": {"cls":"enemys","id":"E566"}, + "567": {"cls":"enemys","id":"E567"}, + "568": {"cls":"enemys","id":"E568"}, + "569": {"cls":"enemys","id":"E569"}, + "570": {"cls":"enemys","id":"E570"}, + "571": {"cls":"enemys","id":"E571"}, + "572": {"cls":"enemys","id":"E572"}, + "573": {"cls":"enemys","id":"E573"}, + "574": {"cls":"items","id":"I574"}, + "575": {"cls":"items","id":"I575"}, + "576": {"cls":"enemys","id":"E576"}, + "577": {"cls":"enemys","id":"E577"}, + "578": {"cls":"enemys","id":"E578"}, + "579": {"cls":"enemys","id":"E579"}, "20037": {"cls":"tileset","id":"X20037","cannotOut":["up","left"],"cannotIn":["up","left"]}, "20038": {"cls":"tileset","id":"X20038","cannotOut":["up"],"cannotIn":["up"]}, "20039": {"cls":"tileset","id":"X20039","cannotOut":["up","right"],"cannotIn":["up","right"]}, diff --git a/public/project/materials/enemys.png b/public/project/materials/enemys.png index 0c154e6711211afcdd6c7e0f6325b06e92bb1a3f..11356b3eb8e2c6c6145af774dfe7296f72029ebb 100644 GIT binary patch delta 18195 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

q+{`IA?M9vvM)==29P`6ZDGGE#Bf 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 delta 7765 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 JQWdL^{{wCuZS(*D diff --git a/public/project/materials/items.png b/public/project/materials/items.png index 833e4edf9769437f3a3295f26bd764ada4c32240..9d2b2178373230c187e549f88f93c4f70ff6840d 100644 GIT binary patch delta 12623 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 diff --git a/public/project/plugins.js b/public/project/plugins.js index e870b6d..e86adfa 100644 --- a/public/project/plugins.js +++ b/public/project/plugins.js @@ -531,7 +531,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = { // 删除楼层 // core.removeMaps("MT1", "MT300") 删除MT1~MT300之间的全部层 // core.removeMaps("MT10") 只删除MT10层 - this.removeMaps = function (fromId, toId) { + this.removeMaps = function (fromId, toId, force) { toId = toId || fromId; var fromIndex = core.floorIds.indexOf(fromId), toIndex = core.floorIds.indexOf(toId); @@ -540,6 +540,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = { flags.__removed__ = flags.__removed__ || []; flags.__disabled__ = flags.__disabled__ || {}; flags.__leaveLoc__ = flags.__leaveLoc__ || {}; + flags.__forceDelete__ ??= {}; for (var i = fromIndex; i <= toIndex; ++i) { var floorId = core.floorIds[i]; if (core.status.maps[floorId].deleted) continue; @@ -557,6 +558,10 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = { core.status.maps[floorId].canFlyTo = false; core.status.maps[floorId].canFlyFrom = false; core.status.maps[floorId].cannotViewMap = true; + if (force) { + core.status.maps[floorId].forceDelete = true; + flags.__forceDelete__[floorId] = true; + } } }; @@ -572,6 +577,11 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = { for (var i = fromIndex; i <= toIndex; ++i) { var floorId = core.floorIds[i]; if (!core.status.maps[floorId].deleted) continue; + if ( + core.status.maps[floorId].forceDelete || + flags.__forceDelete__[floorId] + ) + continue; flags.__removed__ = flags.__removed__.filter(f => { return f != floorId; }); @@ -1442,7 +1452,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = { const item = core.material.items[id]; if (item.cls === 'equips') { // 装备也显示 - const diff = item.equip.value ?? {}; + const diff = core.clone(item.equip.value ?? {}); const per = item.equip.percentage ?? {}; for (const name in per) { diff[name + 'per'] = per[name].toString() + '%'; @@ -1530,10 +1540,18 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = { 'X20076' ] }; + + const jumpIgnoreFloor = ['MT31']; // 跳跃 this.jumpSkill = function () { if (core.status.floorId.startsWith('tower')) return core.drawTip('当无法使用该技能'); + if ( + jumpIgnoreFloor.includes(core.status.floorId) || + flags.onChase + ) { + return core.drawTip('当前楼层无法使用该技能'); + } if (!flags.skill2) return; if (!flags['jump_' + core.status.floorId]) flags['jump_' + core.status.floorId] = 0; @@ -1600,7 +1618,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = { true ); if (!toLoc) return; - core.status.hero.hp -= 200 * flags.hard; + if (flags.chapter <= 1) core.status.hero.hp -= 200 * flags.hard; core.updateStatusBar(); flags['jump_' + core.status.floorId]++; if (core.status.hero.hp <= 0) { @@ -3433,6 +3451,11 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = { this._moveHero_moving(); }; + /** + * 电摇嘲讽 + * @param {LocString} loc + * @param {boolean} force + */ function checkMockery(loc, force) { if (core.status.lockControl && !force) return; const mockery = core.status.checkBlock.mockery[loc]; @@ -3471,6 +3494,10 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = { remove: true, time: 0 }, + { + type: 'function', + function: `function() { core.removeGlobalAnimate(${x}, ${y}) }` + }, { type: 'animate', name: 'hand', @@ -3546,6 +3573,12 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = { * @param {string} data */ async function reloadFloor(data) { + // 如果被砍层了直接忽略 + if ( + core.status.maps[data].deleted || + core.status.maps[data].forceDelete + ) + return; // 首先重新加载main.floors对应的楼层 await import(`/project/floors/${data}.js?v=${Date.now()}`); // 然后写入core.floors并解析 @@ -3907,6 +3940,20 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = { const skill = parseInt(name.slice(6)); core.upgradeSkill(skill); }); + + core.registerReplayAction('study', name => { + if (!name.startsWith('study:')) return false; + const [num, x, y] = name + .slice(6) + .split(',') + .map(v => parseInt(v)); + if (!core.canStudySkill(num)) return false; + const id = core.getBlockId(x, y); + const enemy = core.getEnemyInfo(id, void 0, x, y); + if (!enemy.special.includes(num)) return false; + core.studySkill(enemy, num); + return true; + }); }, skillTree: function () { /** @@ -4086,7 +4133,9 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = { { index: 13, title: '治愈', - desc: ['每级使血瓶的加血量增加2%'], + desc: [ + '使主角能够更好地回复生命,每级使血瓶的加血量增加2%' + ], consume: 'level > 5 ? 100 * level ** 2 : 250 * level + 1250', front: [[10, 3]], @@ -4205,6 +4254,9 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = { case 10: // 铸剑为盾 core.setFlag('shieldOn', true); break; + case 11: // 学习 + core.setItem('I565', 1); + break; } const consume = core.getSkillConsume(skill); core.status.hero.mdef -= consume; @@ -4469,5 +4521,74 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 = { core.status[name + 'maps'][floorId] = arr; return arr; }; + }, + study: function () { + // 负责勇士技能:学习 + const values = { + 1: ['crit'], + 6: ['n'], + 7: ['hungry'], + 8: ['togrther'], + 10: ['courage'], + 11: ['charge'] + }; + + const cannotStudy = [9, 12, 14, 15, 24]; + + this.canStudySkill = function (number) { + core.status.hero.special ??= { num: [] }; + if (core.status.hero.special.num.length >= 1) { + return false; + } + if (cannotStudy.includes(number)) return false; + return true; + }; + + this.studySkill = function (enemy, number) { + core.status.hero.special ??= { num: [], last: [] }; + const s = core.status.hero.special; + const specials = core.getSpecials(); + let special = specials[number - 1][1]; + if (special instanceof Function) special = special(enemy); + if (!this.canStudySkill(number)) { + if (!main.replayChecking) { + core.tip('error', `无法学习${special}`); + } + return; + } + s.num.push(number); + s.last.push(core.getSkillLevel(11) * 3 + 2); + const value = values[number] ?? []; + for (const key of value) { + s[key] = enemy[key]; + } + }; + + this.forgetStudiedSkill = function (num, i) { + const s = core.status.hero.special; + const index = i !== void 0 && i !== null ? i : s.num.indexOf(num); + if (index === -1) return; + s.num.splice(index, 1); + s.last.splice(index, 1); + const value = values[number] ?? []; + for (const key of value) { + delete s[key]; + } + }; + + this.declineStudiedSkill = function () { + const s = core.status.hero.special; + s.last = s.last.map(v => v - 1); + }; + + this.checkStudiedSkill = function () { + const s = core.status.hero.special; + for (let i = 0; i < s.last.length; i++) { + if (s.last[i] <= 0) { + this.forgetStudiedSkill(void 0, i); + i--; + } + } + }; } }; diff --git a/src/data/desc.json b/src/data/desc.json index 5fedfb8..87b0983 100644 --- a/src/data/desc.json +++ b/src/data/desc.json @@ -180,7 +180,9 @@ "
", "M:快速标记怪物", "
", - "J:打开技能树" + "J:打开技能树", + "
", + "H:打开百科全书" ] }, "extraAttr": { @@ -340,7 +342,7 @@ "楼传界面打开时会有一个0.6秒的动画,如果不想要可以在开头捡的系统设置里面关闭。(默认关闭)", "
", "
", - "本塔的楼层传送器是一个集分区、小地图、楼层传送于一体的多功能楼传。", + "本塔的楼层传送器是一个集分区、小地图、楼层传送、浏览地图于一体的多功能楼传。", "下面是楼传的具体说明:", "
", "
", @@ -403,5 +405,38 @@ "注意,技能在点开之后是无法取消的,因此,加点时请慎重加点。注意,部分技能是必点技能,这些技能会在技能说明中明确指出,", "这些技能一般需要尽早点出。" ] + }, + "special1": { + "text": "第一章怪物特技", + "condition": "flags.chapter > 0", + "desc": [ + "这里会展示第一章的怪物中需要特别说明的怪物特技。", + "
", + "
", + "1. 坚固:", + "在本塔中,额外攻击可以对坚固怪造成额外伤害。", + "
", + "
", + "2. 绝对防御:", + "该怪物一般可以用于刷血。该怪物可以使你每回合对怪物造成的伤害恰好为1,导致战斗回合数很高,因此可以刷血。", + "
", + "
", + "3. 致命一击、勇气之刃、勇气冲锋:", + "造成的伤害为怪物每回合对勇士的伤害的一定倍数,而非攻击提高一定倍数。" + ] + }, + "special2": { + "text": "第二章怪物特技", + "condition": "flags.chapter > 1", + "desc": [ + "这里会展示第二章的怪物中需要特别说明的怪物特技。", + "
", + "
", + "1. 电摇嘲讽:", + "该特技会撞碎路上的所有地形和门,不需要消耗钥匙,拾取路上的所有道具,与路上的怪物战斗,最后与该怪物战斗。", + "如果怪物所在位置可以被嘲讽,那么勇士会被继续嘲讽。如果在被嘲讽的路上可以被其他怪物嘲讽,则不会触发。", + "如果一个点可以被多个怪物嘲讽,那么会优先选择最靠左上角的怪物。", + "在被嘲讽之前会自动存档。" + ] } } \ No newline at end of file diff --git a/src/data/skill.json b/src/data/skill.json index 149df80..4df2a5a 100644 --- a/src/data/skill.json +++ b/src/data/skill.json @@ -23,7 +23,10 @@ "desc": [ "快捷键2,消耗200点生命值,困难消耗400点,一个地图只能使用3次,", "如果前方为可通行的地面,则不能使用该技能,如果前方为怪物,则将怪物移至勇士视线上第一个不能通行的方块后", - "如果前方为障碍物,则直接跳到该障碍物的后方。" + "如果前方为障碍物,则直接跳到该障碍物的后方。", + "
", + "
", + "进入第二章后不再消耗生命值。" ] }, "shield": { diff --git a/src/panel/enemyCritical.vue b/src/panel/enemyCritical.vue index eaecddd..1aefe94 100644 --- a/src/panel/enemyCritical.vue +++ b/src/panel/enemyCritical.vue @@ -63,10 +63,10 @@ > {{ - nowDamage[0] < 0 && nowDamage[1] === '???' ? '=>' : '' + nowDamage[0] < 0 && !has(enemy.damage) ? '=>' : '' }}{{ - nowDamage[0] < 0 && nowDamage[1] === '???' + nowDamage[0] < 0 && !has(enemy.damage) ? format(-nowDamage[0]) : format(nowDamage[0]) }} { const value = (equip.value[v] ?? 0) + - core.status.hero[v] * (equip.percentage[v] ?? 0); + Math.floor( + (core.status.hero[v] * (equip.percentage[v] ?? 0)) / 100 + ); return ( @@ -71,7 +73,9 @@ export function getNowStatus(nowEquip?: Equip, onCol: boolean = false) { let add = 0; if (has(nowEquip)) { add += nowEquip.value[v] ?? 0; - const per = nowEquip.percentage[v] * core.getStatus(v); + const per = Math.floor( + (nowEquip.percentage[v] * core.getStatus(v)) / 100 + ); add += isNaN(per) ? 0 : per; } if (onCol) add = -add; diff --git a/src/plugin/ui/fly.ts b/src/plugin/ui/fly.ts index 84af182..a2049c8 100644 --- a/src/plugin/ui/fly.ts +++ b/src/plugin/ui/fly.ts @@ -44,7 +44,7 @@ export function splitArea() { if (used.includes(id) || core.status.maps[id].deleted) continue; const data = getMapData(id, true); used.push(...data.maps); - if (data.maps.length > 0) { + if (data.maps.length > 1) { const title = core.status.maps[id].title; area[title] = data.maps; } diff --git a/src/source/cls.d.ts b/src/source/cls.d.ts index abb45e3..3fedb84 100644 --- a/src/source/cls.d.ts +++ b/src/source/cls.d.ts @@ -488,6 +488,21 @@ interface IdToCls { E562: 'enemys'; E563: 'enemys'; E564: 'enemys'; + I565: 'items'; + E566: 'enemys'; + E567: 'enemys'; + E568: 'enemys'; + E569: 'enemys'; + E570: 'enemys'; + E571: 'enemys'; + E572: 'enemys'; + E573: 'enemys'; + I574: 'items'; + I575: 'items'; + E576: 'enemys'; + E577: 'enemys'; + E578: 'enemys'; + E579: 'enemys'; X20037: 'tileset'; X20038: 'tileset'; X20039: 'tileset'; diff --git a/src/source/data.d.ts b/src/source/data.d.ts index d14ee37..a1ce4d2 100644 --- a/src/source/data.d.ts +++ b/src/source/data.d.ts @@ -38,6 +38,7 @@ type FloorIds = | 'MT28' | 'MT29' | 'MT30' + | 'MT31' type ImageIds = | 'IQ.png' diff --git a/src/source/items.d.ts b/src/source/items.d.ts index c0b673e..6bbde91 100644 --- a/src/source/items.d.ts +++ b/src/source/items.d.ts @@ -181,4 +181,7 @@ interface ItemDeclaration { I558: 'constants'; I559: 'constants'; I560: 'constants'; + I565: 'constants'; + I574: 'items'; + I575: 'equips'; } \ No newline at end of file diff --git a/src/source/maps.d.ts b/src/source/maps.d.ts index c0c4e07..6cd6fbd 100644 --- a/src/source/maps.d.ts +++ b/src/source/maps.d.ts @@ -488,6 +488,21 @@ interface IdToNumber { E562: 562; E563: 563; E564: 564; + I565: 565; + E566: 566; + E567: 567; + E568: 568; + E569: 569; + E570: 570; + E571: 571; + E572: 572; + E573: 573; + I574: 574; + I575: 575; + E576: 576; + E577: 577; + E578: 578; + E579: 579; X20037: 20037; X20038: 20038; X20039: 20039; @@ -1010,6 +1025,21 @@ interface NumberToId { 562: 'E562'; 563: 'E563'; 564: 'E564'; + 565: 'I565'; + 566: 'E566'; + 567: 'E567'; + 568: 'E568'; + 569: 'E569'; + 570: 'E570'; + 571: 'E571'; + 572: 'E572'; + 573: 'E573'; + 574: 'I574'; + 575: 'I575'; + 576: 'E576'; + 577: 'E577'; + 578: 'E578'; + 579: 'E579'; 20037: 'X20037'; 20038: 'X20038'; 20039: 'X20039'; diff --git a/src/types/map.d.ts b/src/types/map.d.ts index 95c8e8d..beefa76 100644 --- a/src/types/map.d.ts +++ b/src/types/map.d.ts @@ -197,6 +197,11 @@ interface Floor extends FloorBase { * 是否被砍层 */ deleted?: boolean; + + /** + * 是否被强制砍层 + */ + forceDelete?: boolean; } interface ResolvedFloor extends FloorBase { diff --git a/src/types/plugin.d.ts b/src/types/plugin.d.ts index 9912074..fad67c4 100644 --- a/src/types/plugin.d.ts +++ b/src/types/plugin.d.ts @@ -279,6 +279,15 @@ interface MiniMap { splitArea(): void; } +interface Study { + /** + * 学习一个怪物技能 + * @param enemy 被学习的怪物 + * @param num 技能的索引 + */ + studySkill(enemy: Enemy, num: number): void; +} + type Chapter = 'chapter1' | 'chapter2'; interface Skill { diff --git a/src/types/status.d.ts b/src/types/status.d.ts index 4d79f2e..6a748f9 100644 --- a/src/types/status.d.ts +++ b/src/types/status.d.ts @@ -960,4 +960,13 @@ interface HeroStatus { items: { [P in Exclude]: Record, number>; }; + + /** + * 勇士学习的特技 + */ + special: { + num: []; + last: []; + [k: string]: any; + }; } diff --git a/src/ui/chapter.vue b/src/ui/chapter.vue index 70c0dfe..36e2db3 100644 --- a/src/ui/chapter.vue +++ b/src/ui/chapter.vue @@ -106,7 +106,7 @@ onMounted(async () => { .time(3000) .absolute() .apply('line', w + 10) - .mode(hyper('sin', 'in')) + .mode(hyper('sin', 'out')) .time(1000) .apply('rect', h / 2) .mode(hyper('tan', 'center')) diff --git a/src/ui/fly.vue b/src/ui/fly.vue index c62d8b7..8cefc2a 100644 --- a/src/ui/fly.vue +++ b/src/ui/fly.vue @@ -440,11 +440,12 @@ function changeFloorByDelta(delta: number) { if (to < 0) to = 0; if (to >= core.floorIds.length) to = core.floorIds.length - 1; const floor = core.status.maps[core.floorIds[to]]; - if (floor.deleted) { + if (floor.deleted || floor.forceDelete) { while (to !== now) { - to -= Math.sign(delta); + to += Math.sign(delta); const floor = core.status.maps[core.floorIds[to]]; - if (!floor.deleted) break; + if (!floor.deleted && !floor.forceDelete) break; + if (to < 0 || to >= core.floorIds.length) break; } } nowFloor.value = core.floorIds[to]; diff --git a/src/ui/statusBar.vue b/src/ui/statusBar.vue index e4b77e1..b7ced59 100644 --- a/src/ui/statusBar.vue +++ b/src/ui/statusBar.vue @@ -92,7 +92,7 @@ 技能树 @@ -100,7 +100,15 @@ 查看技能 + +

@@ -136,6 +144,7 @@ const skill = ref('无'); const up = ref(0); const spring = ref(); const skillOpened = ref(core.getFlag('chapter', 0) > 0); +const studyOpened = ref(core.getSkillLevel(11) > 0); /** * 要展示的勇士属性 */ @@ -181,22 +190,22 @@ function update() { spring.value = 50 - flags.springCount; } skillOpened.value = core.getFlag('chapter', 0) > 0; + studyOpened.value = core.getSkillLevel(11) > 0; } -function openSkillTree(e: MouseEvent) { - e.stopPropagation(); +function openSkillTree() { core.useItem('skill1'); } -function openSkill(e: MouseEvent) { - e.stopPropagation(); +function openSkill() { core.useItem('cross'); } -function viewMap(e: MouseEvent) { - e.stopPropagation(); +function viewMap() { core.ui._drawViewMaps(); } + +function openStudy() {}