diff --git a/lefthook.yml b/lefthook.yml
index 06eb0446ee5..4eff2ad1f8e 100644
--- a/lefthook.yml
+++ b/lefthook.yml
@@ -1,9 +1,9 @@
pre-commit:
parallel: true
commands:
- eslint:
+ biome-lint:
glob: "*.{js,jsx,ts,tsx}"
- run: npx eslint --fix {staged_files}
+ run: npx @biomejs/biome check --write --reporter=summary {staged_files} --no-errors-on-unmatched
stage_fixed: true
skip:
- merge
@@ -11,9 +11,9 @@ pre-commit:
pre-push:
commands:
- eslint:
+ biome-lint:
glob: "*.{js,ts,jsx,tsx}"
- run: npx eslint --fix {push_files}
+ run: npx @biomejs/biome check --write --reporter=summary {push_files} --no-errors-on-unmatched
post-merge:
commands:
diff --git a/package-lock.json b/package-lock.json
index 739ce18496d..87e2e150c65 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,7014 +1,7179 @@
{
- "name": "pokemon-rogue-battle",
- "version": "1.7.0",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "pokemon-rogue-battle",
- "version": "1.7.0",
- "hasInstallScript": true,
- "dependencies": {
- "@material/material-color-utilities": "^0.2.7",
- "crypto-js": "^4.2.0",
- "i18next": "^23.11.1",
- "i18next-browser-languagedetector": "^7.2.1",
- "i18next-http-backend": "^2.6.1",
- "i18next-korean-postposition-processor": "^1.0.0",
- "json-stable-stringify": "^1.1.0",
- "jszip": "^3.10.1",
- "phaser": "^3.70.0",
- "phaser3-rex-plugins": "^1.1.84"
- },
- "devDependencies": {
- "@eslint/js": "^9.3.0",
- "@hpcc-js/wasm": "^2.18.0",
- "@stylistic/eslint-plugin-ts": "^2.6.0-beta.0",
- "@types/jsdom": "^21.1.7",
- "@types/node": "^20.12.13",
- "@typescript-eslint/eslint-plugin": "^8.0.0-alpha.54",
- "@typescript-eslint/parser": "^8.0.0-alpha.54",
- "@vitest/coverage-istanbul": "^2.1.9",
- "dependency-cruiser": "^16.3.10",
- "eslint": "^9.7.0",
- "eslint-plugin-import-x": "^4.2.1",
- "inquirer": "^11.0.2",
- "jsdom": "^24.0.0",
- "lefthook": "^1.6.12",
- "msw": "^2.4.9",
- "phaser3spectorjs": "^0.0.8",
- "typedoc": "^0.26.4",
- "typescript": "^5.5.3",
- "typescript-eslint": "^8.0.0-alpha.54",
- "vite": "^5.4.14",
- "vite-tsconfig-paths": "^4.3.2",
- "vitest": "^2.1.9",
- "vitest-canvas-mock": "^0.3.3"
- },
- "engines": {
- "node": ">=20.0.0"
- }
- },
- "node_modules/@ampproject/remapping": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
- "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.24"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/code-frame": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
- "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/highlight": "^7.24.7",
- "picocolors": "^1.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/compat-data": {
- "version": "7.24.9",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.9.tgz",
- "integrity": "sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/core": {
- "version": "7.24.9",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz",
- "integrity": "sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.24.7",
- "@babel/generator": "^7.24.9",
- "@babel/helper-compilation-targets": "^7.24.8",
- "@babel/helper-module-transforms": "^7.24.9",
- "@babel/helpers": "^7.24.8",
- "@babel/parser": "^7.24.8",
- "@babel/template": "^7.24.7",
- "@babel/traverse": "^7.24.8",
- "@babel/types": "^7.24.9",
- "convert-source-map": "^2.0.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.2.3",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/babel"
- }
- },
- "node_modules/@babel/core/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/generator": {
- "version": "7.24.10",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.10.tgz",
- "integrity": "sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.24.9",
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.25",
- "jsesc": "^2.5.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz",
- "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/compat-data": "^7.24.8",
- "@babel/helper-validator-option": "^7.24.8",
- "browserslist": "^4.23.1",
- "lru-cache": "^5.1.1",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/helper-environment-visitor": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz",
- "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-function-name": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz",
- "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==",
- "dev": true,
- "dependencies": {
- "@babel/template": "^7.24.7",
- "@babel/types": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-hoist-variables": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz",
- "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-imports": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
- "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-transforms": {
- "version": "7.24.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.9.tgz",
- "integrity": "sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-module-imports": "^7.24.7",
- "@babel/helper-simple-access": "^7.24.7",
- "@babel/helper-split-export-declaration": "^7.24.7",
- "@babel/helper-validator-identifier": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-simple-access": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz",
- "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-split-export-declaration": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
- "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-string-parser": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
- "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.25.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
- "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-option": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz",
- "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helpers": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.8.tgz",
- "integrity": "sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/template": "^7.24.7",
- "@babel/types": "^7.24.8"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
- "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.24.7",
- "chalk": "^2.4.2",
- "js-tokens": "^4.0.0",
- "picocolors": "^1.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@babel/highlight/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/parser": {
- "version": "7.26.8",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.8.tgz",
- "integrity": "sha512-TZIQ25pkSoaKEYYaHbbxkfL36GNsQ6iFiBbeuzAkLnXayKR1yP1zFe+NxuZWWsUyvt8icPU9CCq0sgWGXR1GEw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.26.8"
- },
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/runtime": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.8.tgz",
- "integrity": "sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==",
- "dependencies": {
- "regenerator-runtime": "^0.14.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/template": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz",
- "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.24.7",
- "@babel/parser": "^7.24.7",
- "@babel/types": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz",
- "integrity": "sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.24.7",
- "@babel/generator": "^7.24.8",
- "@babel/helper-environment-visitor": "^7.24.7",
- "@babel/helper-function-name": "^7.24.7",
- "@babel/helper-hoist-variables": "^7.24.7",
- "@babel/helper-split-export-declaration": "^7.24.7",
- "@babel/parser": "^7.24.8",
- "@babel/types": "^7.24.8",
- "debug": "^4.3.1",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse/node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/types": {
- "version": "7.26.8",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.8.tgz",
- "integrity": "sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-string-parser": "^7.25.9",
- "@babel/helper-validator-identifier": "^7.25.9"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@bundled-es-modules/cookie": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@bundled-es-modules/cookie/-/cookie-2.0.0.tgz",
- "integrity": "sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "cookie": "^0.5.0"
- }
- },
- "node_modules/@bundled-es-modules/statuses": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@bundled-es-modules/statuses/-/statuses-1.0.1.tgz",
- "integrity": "sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "statuses": "^2.0.1"
- }
- },
- "node_modules/@bundled-es-modules/tough-cookie": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/@bundled-es-modules/tough-cookie/-/tough-cookie-0.1.6.tgz",
- "integrity": "sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@types/tough-cookie": "^4.0.5",
- "tough-cookie": "^4.1.4"
- }
- },
- "node_modules/@esbuild/aix-ppc64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
- "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "aix"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-arm": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
- "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
- "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/android-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
- "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/darwin-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
- "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/darwin-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
- "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/freebsd-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
- "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/freebsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
- "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-arm": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
- "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
- "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-ia32": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
- "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-loong64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
- "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
- "cpu": [
- "loong64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-mips64el": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
- "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-ppc64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
- "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-riscv64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
- "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-s390x": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
- "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/linux-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
- "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/netbsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
- "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "netbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/openbsd-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
- "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "openbsd"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/sunos-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
- "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "sunos"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-arm64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
- "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-ia32": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
- "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@esbuild/win32-x64": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
- "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@eslint-community/eslint-utils": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
- "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "eslint-visitor-keys": "^3.3.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
- }
- },
- "node_modules/@eslint-community/regexpp": {
- "version": "4.11.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
- "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
- }
- },
- "node_modules/@eslint/config-array": {
- "version": "0.17.1",
- "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.1.tgz",
- "integrity": "sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@eslint/object-schema": "^2.1.4",
- "debug": "^4.3.1",
- "minimatch": "^3.1.2"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/config-array/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/@eslint/config-array/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/@eslint/eslintrc": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz",
- "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^10.0.1",
- "globals": "^14.0.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/@eslint/eslintrc/node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "node_modules/@eslint/eslintrc/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/@eslint/js": {
- "version": "9.7.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.7.0.tgz",
- "integrity": "sha512-ChuWDQenef8OSFnvuxv0TCVxEwmu3+hPNKvM9B34qpM0rDRbjL8t5QkQeHHeAfsKQjuH9wS82WeCi1J/owatng==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/object-schema": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz",
- "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@hpcc-js/wasm": {
- "version": "2.18.0",
- "resolved": "https://registry.npmjs.org/@hpcc-js/wasm/-/wasm-2.18.0.tgz",
- "integrity": "sha512-M9XVIvAXGH4Xcyb5UoiohWcn6fil89pcos/gClNdBZG2v+W48xSf2bjcA8BW131X/AFHUerVY28n1P1Jw81/9A==",
- "dev": true,
- "dependencies": {
- "yargs": "17.7.2"
- },
- "bin": {
- "dot-wasm": "bin/dot-wasm.js"
- }
- },
- "node_modules/@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=12.22"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
- "node_modules/@humanwhocodes/retry": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz",
- "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18.18"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
- "node_modules/@inquirer/checkbox": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-3.0.1.tgz",
- "integrity": "sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^9.2.1",
- "@inquirer/figures": "^1.0.6",
- "@inquirer/type": "^2.0.0",
- "ansi-escapes": "^4.3.2",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@inquirer/confirm": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-4.0.1.tgz",
- "integrity": "sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^9.2.1",
- "@inquirer/type": "^2.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@inquirer/core": {
- "version": "9.2.1",
- "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz",
- "integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/figures": "^1.0.6",
- "@inquirer/type": "^2.0.0",
- "@types/mute-stream": "^0.0.4",
- "@types/node": "^22.5.5",
- "@types/wrap-ansi": "^3.0.0",
- "ansi-escapes": "^4.3.2",
- "cli-width": "^4.1.0",
- "mute-stream": "^1.0.0",
- "signal-exit": "^4.1.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^6.2.0",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@inquirer/core/node_modules/@types/node": {
- "version": "22.5.5",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.5.tgz",
- "integrity": "sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "undici-types": "~6.19.2"
- }
- },
- "node_modules/@inquirer/core/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@inquirer/core/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@inquirer/core/node_modules/undici-types": {
- "version": "6.19.8",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
- "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@inquirer/core/node_modules/wrap-ansi": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@inquirer/editor": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-3.0.1.tgz",
- "integrity": "sha512-VA96GPFaSOVudjKFraokEEmUQg/Lub6OXvbIEZU1SDCmBzRkHGhxoFAVaF30nyiB4m5cEbDgiI2QRacXZ2hw9Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^9.2.1",
- "@inquirer/type": "^2.0.0",
- "external-editor": "^3.1.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@inquirer/expand": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-3.0.1.tgz",
- "integrity": "sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^9.2.1",
- "@inquirer/type": "^2.0.0",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@inquirer/figures": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.6.tgz",
- "integrity": "sha512-yfZzps3Cso2UbM7WlxKwZQh2Hs6plrbjs1QnzQDZhK2DgyCo6D8AaHps9olkNcUFlcYERMqU3uJSp1gmy3s/qQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@inquirer/input": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-3.0.1.tgz",
- "integrity": "sha512-BDuPBmpvi8eMCxqC5iacloWqv+5tQSJlUafYWUe31ow1BVXjW2a5qe3dh4X/Z25Wp22RwvcaLCc2siHobEOfzg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^9.2.1",
- "@inquirer/type": "^2.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@inquirer/number": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-2.0.1.tgz",
- "integrity": "sha512-QpR8jPhRjSmlr/mD2cw3IR8HRO7lSVOnqUvQa8scv1Lsr3xoAMMworcYW3J13z3ppjBFBD2ef1Ci6AE5Qn8goQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^9.2.1",
- "@inquirer/type": "^2.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@inquirer/password": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-3.0.1.tgz",
- "integrity": "sha512-haoeEPUisD1NeE2IanLOiFr4wcTXGWrBOyAyPZi1FfLJuXOzNmxCJPgUrGYKVh+Y8hfGJenIfz5Wb/DkE9KkMQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^9.2.1",
- "@inquirer/type": "^2.0.0",
- "ansi-escapes": "^4.3.2"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@inquirer/prompts": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-6.0.1.tgz",
- "integrity": "sha512-yl43JD/86CIj3Mz5mvvLJqAOfIup7ncxfJ0Btnl0/v5TouVUyeEdcpknfgc+yMevS/48oH9WAkkw93m7otLb/A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/checkbox": "^3.0.1",
- "@inquirer/confirm": "^4.0.1",
- "@inquirer/editor": "^3.0.1",
- "@inquirer/expand": "^3.0.1",
- "@inquirer/input": "^3.0.1",
- "@inquirer/number": "^2.0.1",
- "@inquirer/password": "^3.0.1",
- "@inquirer/rawlist": "^3.0.1",
- "@inquirer/search": "^2.0.1",
- "@inquirer/select": "^3.0.1"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@inquirer/rawlist": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-3.0.1.tgz",
- "integrity": "sha512-VgRtFIwZInUzTiPLSfDXK5jLrnpkuSOh1ctfaoygKAdPqjcjKYmGh6sCY1pb0aGnCGsmhUxoqLDUAU0ud+lGXQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^9.2.1",
- "@inquirer/type": "^2.0.0",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@inquirer/search": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-2.0.1.tgz",
- "integrity": "sha512-r5hBKZk3g5MkIzLVoSgE4evypGqtOannnB3PKTG9NRZxyFRKcfzrdxXXPcoJQsxJPzvdSU2Rn7pB7lw0GCmGAg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^9.2.1",
- "@inquirer/figures": "^1.0.6",
- "@inquirer/type": "^2.0.0",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@inquirer/select": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-3.0.1.tgz",
- "integrity": "sha512-lUDGUxPhdWMkN/fHy1Lk7pF3nK1fh/gqeyWXmctefhxLYxlDsc7vsPBEpxrfVGDsVdyYJsiJoD4bJ1b623cV1Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^9.2.1",
- "@inquirer/figures": "^1.0.6",
- "@inquirer/type": "^2.0.0",
- "ansi-escapes": "^4.3.2",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@inquirer/type": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz",
- "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mute-stream": "^1.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@isaacs/cliui": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
- "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^5.1.2",
- "string-width-cjs": "npm:string-width@^4.2.0",
- "strip-ansi": "^7.0.1",
- "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
- "wrap-ansi": "^8.1.0",
- "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
- "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
- "node_modules/@istanbuljs/schema": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
- "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
- "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/set-array": "^1.2.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.24"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/set-array": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
- "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
- "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
- "dev": true
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.25",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
- "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
- }
- },
- "node_modules/@material/material-color-utilities": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/@material/material-color-utilities/-/material-color-utilities-0.2.7.tgz",
- "integrity": "sha512-0FCeqG6WvK4/Cc06F/xXMd/pv4FeisI0c1tUpBbfhA2n9Y8eZEv4Karjbmf2ZqQCPUWMrGp8A571tCjizxoTiQ==",
- "license": "Apache-2.0"
- },
- "node_modules/@mswjs/interceptors": {
- "version": "0.35.8",
- "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.35.8.tgz",
- "integrity": "sha512-PFfqpHplKa7KMdoQdj5td03uG05VK2Ng1dG0sP4pT9h0dGSX2v9txYt/AnrzPb/vAmfyBBC0NQV7VaBEX+efgQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@open-draft/deferred-promise": "^2.2.0",
- "@open-draft/logger": "^0.3.0",
- "@open-draft/until": "^2.0.0",
- "is-node-process": "^1.2.0",
- "outvariant": "^1.4.3",
- "strict-event-emitter": "^0.5.1"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@open-draft/deferred-promise": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz",
- "integrity": "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@open-draft/logger": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@open-draft/logger/-/logger-0.3.0.tgz",
- "integrity": "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-node-process": "^1.2.0",
- "outvariant": "^1.4.0"
- }
- },
- "node_modules/@open-draft/until": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz",
- "integrity": "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@pkgjs/parseargs": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
- "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz",
- "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/@rollup/rollup-android-arm64": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz",
- "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz",
- "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz",
- "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz",
- "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm-musleabihf": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz",
- "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz",
- "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz",
- "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz",
- "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz",
- "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==",
- "cpu": [
- "riscv64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-s390x-gnu": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz",
- "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz",
- "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz",
- "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz",
- "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz",
- "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz",
- "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/@shikijs/core": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.12.0.tgz",
- "integrity": "sha512-mc1cLbm6UQ8RxLc0dZES7v5rkH+99LxQp/ZvTqV3NLyYsO/fD6JhEflP1H5b2SDq9gI0+0G36AVZWxvounfR9w==",
- "dev": true,
- "dependencies": {
- "@types/hast": "^3.0.4"
- }
- },
- "node_modules/@stylistic/eslint-plugin-js": {
- "version": "2.6.0-beta.0",
- "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-2.6.0-beta.0.tgz",
- "integrity": "sha512-KQiNvzNzvl9AmMs1MiIBszLIy/Xy1bTExnyaVy5dSzOF9c+yT64JQfH0p0jP6XpGwoCnZsrPUNflwP30G42QBQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/eslint": "^8.56.10",
- "acorn": "^8.12.0",
- "eslint-visitor-keys": "^4.0.0",
- "espree": "^10.1.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "peerDependencies": {
- "eslint": ">=8.40.0"
- }
- },
- "node_modules/@stylistic/eslint-plugin-js/node_modules/eslint-visitor-keys": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
- "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/@stylistic/eslint-plugin-ts": {
- "version": "2.6.0-beta.0",
- "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-ts/-/eslint-plugin-ts-2.6.0-beta.0.tgz",
- "integrity": "sha512-WMz1zgmMC3bvg1L/tiYt5ygvDbTDKlbezoHoX2lV9MnUCAEQZUP4xJ9Wj3jmIKxb4mUuK5+vFZJVcOygvbbqow==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@stylistic/eslint-plugin-js": "2.6.0-beta.0",
- "@types/eslint": "^8.56.10",
- "@typescript-eslint/utils": "^8.0.0-alpha.34"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "peerDependencies": {
- "eslint": ">=8.40.0"
- }
- },
- "node_modules/@types/cookie": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
- "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/eslint": {
- "version": "8.56.11",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.11.tgz",
- "integrity": "sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "*",
- "@types/json-schema": "*"
- }
- },
- "node_modules/@types/estree": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
- "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/hast": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
- "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
- "dev": true,
- "dependencies": {
- "@types/unist": "*"
- }
- },
- "node_modules/@types/jsdom": {
- "version": "21.1.7",
- "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz",
- "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "@types/tough-cookie": "*",
- "parse5": "^7.0.0"
- }
- },
- "node_modules/@types/json-schema": {
- "version": "7.0.15",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
- "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/mute-stream": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz",
- "integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/node": {
- "version": "20.14.11",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz",
- "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==",
- "dev": true,
- "dependencies": {
- "undici-types": "~5.26.4"
- }
- },
- "node_modules/@types/statuses": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.5.tgz",
- "integrity": "sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/tough-cookie": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz",
- "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/unist": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz",
- "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==",
- "dev": true
- },
- "node_modules/@types/wrap-ansi": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz",
- "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.0.0-alpha.58",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.0.0-alpha.58.tgz",
- "integrity": "sha512-5G9oIj8jvosj8RTa0VDFXvRmUg1U6FxXJu7ZEfyJYMvFkdMJoY5YnzFvgAvHbYsXOj+YgXZu81fNOTRWQzwk5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.0.0-alpha.58",
- "@typescript-eslint/type-utils": "8.0.0-alpha.58",
- "@typescript-eslint/utils": "8.0.0-alpha.58",
- "@typescript-eslint/visitor-keys": "8.0.0-alpha.58",
- "graphemer": "^1.4.0",
- "ignore": "^5.3.1",
- "natural-compare": "^1.4.0",
- "ts-api-utils": "^1.3.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0",
- "eslint": "^8.57.0 || ^9.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/parser": {
- "version": "8.0.0-alpha.58",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.0.0-alpha.58.tgz",
- "integrity": "sha512-/RpgxIejBui6WXJgV9ukwzxmvbZt5TlfHUGGLB/BsNLj+NRZEbXVtWT9rKuxVOqsGb1Dn9c5gxvBI/XzyuIsMQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@typescript-eslint/scope-manager": "8.0.0-alpha.58",
- "@typescript-eslint/types": "8.0.0-alpha.58",
- "@typescript-eslint/typescript-estree": "8.0.0-alpha.58",
- "@typescript-eslint/visitor-keys": "8.0.0-alpha.58",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "8.0.0-alpha.58",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.0.0-alpha.58.tgz",
- "integrity": "sha512-bGgJXn8B3Pf3mzEOUQTPxEqhux54MOJSqw4HcgBReuP7dudz/hsN4TH9GqHbMXkFv8N4Ed1iqVRfgGeC8b1mGw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "8.0.0-alpha.58",
- "@typescript-eslint/visitor-keys": "8.0.0-alpha.58"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/type-utils": {
- "version": "8.0.0-alpha.58",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.0.0-alpha.58.tgz",
- "integrity": "sha512-spW/I/UAY6HM0lKj+/333Zb9arOvUoi8+H0cVNYHELPhOti9re9NjyyJFhck84PNiwi8WmpkEf3GXe7/h+Cquw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/typescript-estree": "8.0.0-alpha.58",
- "@typescript-eslint/utils": "8.0.0-alpha.58",
- "debug": "^4.3.4",
- "ts-api-utils": "^1.3.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/types": {
- "version": "8.0.0-alpha.58",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.0.0-alpha.58.tgz",
- "integrity": "sha512-6+jM4y31a6pwKeV3MVQuVXPZl6d3I1ySMvP5WjZdZ+n57uovMvasZ3ZJstXngoRpa7JtkjVZ7NrMhQ1J8dxKCQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.0.0-alpha.58",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.0.0-alpha.58.tgz",
- "integrity": "sha512-hm4nsoJnQcA7axMopUJrH7CD0MJhAMtE2zQt65uMFCy+U2YDdKPwE0g6qEAUBoKn6UBLQJWthJgUmwDbWrnwZg==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@typescript-eslint/types": "8.0.0-alpha.58",
- "@typescript-eslint/visitor-keys": "8.0.0-alpha.58",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "minimatch": "^9.0.4",
- "semver": "^7.6.0",
- "ts-api-utils": "^1.3.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@typescript-eslint/utils": {
- "version": "8.0.0-alpha.58",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.0.0-alpha.58.tgz",
- "integrity": "sha512-lZuGnpK23jr3huebgY4/qqrOKsWJ8dX0Q1Fo4oVYcyAy+sK6p+6nObK4VEPJG098gUmrriiavRiDKIhPDFm4Ig==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.0.0-alpha.58",
- "@typescript-eslint/types": "8.0.0-alpha.58",
- "@typescript-eslint/typescript-estree": "8.0.0-alpha.58"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0"
- }
- },
- "node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.0.0-alpha.58",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.0.0-alpha.58.tgz",
- "integrity": "sha512-V//E9PRY2216kh9fN/ihRvTtjpobAXEtmrsr3utlVUwHa2iklcofq1J12yl3KOjx9QBRfBrtfQnYaeruF7L0Fw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "8.0.0-alpha.58",
- "eslint-visitor-keys": "^3.4.3"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@vitest/coverage-istanbul": {
- "version": "2.1.9",
- "resolved": "https://registry.npmjs.org/@vitest/coverage-istanbul/-/coverage-istanbul-2.1.9.tgz",
- "integrity": "sha512-vdYE4FkC/y2lxcN3Dcj54Bw+ericmDwiex0B8LV5F/YNYEYP1mgVwhPnHwWGAXu38qizkjOuyczKbFTALfzFKw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@istanbuljs/schema": "^0.1.3",
- "debug": "^4.3.7",
- "istanbul-lib-coverage": "^3.2.2",
- "istanbul-lib-instrument": "^6.0.3",
- "istanbul-lib-report": "^3.0.1",
- "istanbul-lib-source-maps": "^5.0.6",
- "istanbul-reports": "^3.1.7",
- "magicast": "^0.3.5",
- "test-exclude": "^7.0.1",
- "tinyrainbow": "^1.2.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- },
- "peerDependencies": {
- "vitest": "2.1.9"
- }
- },
- "node_modules/@vitest/expect": {
- "version": "2.1.9",
- "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.9.tgz",
- "integrity": "sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vitest/spy": "2.1.9",
- "@vitest/utils": "2.1.9",
- "chai": "^5.1.2",
- "tinyrainbow": "^1.2.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/mocker": {
- "version": "2.1.9",
- "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.9.tgz",
- "integrity": "sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vitest/spy": "2.1.9",
- "estree-walker": "^3.0.3",
- "magic-string": "^0.30.12"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- },
- "peerDependencies": {
- "msw": "^2.4.9",
- "vite": "^5.0.0"
- },
- "peerDependenciesMeta": {
- "msw": {
- "optional": true
- },
- "vite": {
- "optional": true
- }
- }
- },
- "node_modules/@vitest/pretty-format": {
- "version": "2.1.9",
- "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.9.tgz",
- "integrity": "sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tinyrainbow": "^1.2.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/runner": {
- "version": "2.1.9",
- "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.9.tgz",
- "integrity": "sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vitest/utils": "2.1.9",
- "pathe": "^1.1.2"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/snapshot": {
- "version": "2.1.9",
- "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.9.tgz",
- "integrity": "sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vitest/pretty-format": "2.1.9",
- "magic-string": "^0.30.12",
- "pathe": "^1.1.2"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/spy": {
- "version": "2.1.9",
- "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.9.tgz",
- "integrity": "sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tinyspy": "^3.0.2"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/@vitest/utils": {
- "version": "2.1.9",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.9.tgz",
- "integrity": "sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vitest/pretty-format": "2.1.9",
- "loupe": "^3.1.2",
- "tinyrainbow": "^1.2.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/acorn": {
- "version": "8.12.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
- "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/acorn-jsx-walk": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/acorn-jsx-walk/-/acorn-jsx-walk-2.0.0.tgz",
- "integrity": "sha512-uuo6iJj4D4ygkdzd6jPtcxs8vZgDX9YFIkqczGImoypX2fQ4dVImmu3UzA4ynixCIMTrEOWW+95M2HuBaCEOVA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/acorn-loose": {
- "version": "8.4.0",
- "resolved": "https://registry.npmjs.org/acorn-loose/-/acorn-loose-8.4.0.tgz",
- "integrity": "sha512-M0EUka6rb+QC4l9Z3T0nJEzNOO7JcoJlYMrBlyBCiFSXRyxjLKayd4TbQs2FDRWQU1h9FR7QVNHt+PEaoNL5rQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "acorn": "^8.11.0"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-walk": {
- "version": "8.3.3",
- "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz",
- "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==",
- "dev": true,
- "dependencies": {
- "acorn": "^8.11.0"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/agent-base": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
- "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "^4.3.4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/ajv": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
- "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
- "dev": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.3",
- "fast-uri": "^3.0.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ansi-escapes": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
- "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "type-fest": "^0.21.3"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "license": "Python-2.0"
- },
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/assertion-error": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz",
- "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
- "dev": true,
- "dependencies": {
- "possible-typed-array-names": "^1.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/brace-expansion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
- "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0"
- }
- },
- "node_modules/braces": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fill-range": "^7.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/browserslist": {
- "version": "4.23.2",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz",
- "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "caniuse-lite": "^1.0.30001640",
- "electron-to-chromium": "^1.4.820",
- "node-releases": "^2.0.14",
- "update-browserslist-db": "^1.1.0"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- }
- },
- "node_modules/cac": {
- "version": "6.7.14",
- "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz",
- "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/call-bind": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
- "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
- "license": "MIT",
- "dependencies": {
- "es-define-property": "^1.0.0",
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.4",
- "set-function-length": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001642",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001642.tgz",
- "integrity": "sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "CC-BY-4.0"
- },
- "node_modules/chai": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.2.tgz",
- "integrity": "sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "assertion-error": "^2.0.1",
- "check-error": "^2.1.1",
- "deep-eql": "^5.0.1",
- "loupe": "^3.1.0",
- "pathval": "^2.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/chardet": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
- "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/check-error": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz",
- "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 16"
- }
- },
- "node_modules/cli-width": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
- "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">= 12"
- }
- },
- "node_modules/cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/cliui/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/cliui/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/cliui/node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "delayed-stream": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/commander": {
- "version": "12.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
- "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/convert-source-map": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
- "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/cookie": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
- "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/core-util-is": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
- },
- "node_modules/cross-fetch": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
- "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
- "license": "MIT",
- "dependencies": {
- "node-fetch": "^2.6.12"
- }
- },
- "node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/crypto-js": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
- "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==",
- "license": "MIT"
- },
- "node_modules/cssfontparser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/cssfontparser/-/cssfontparser-1.2.1.tgz",
- "integrity": "sha512-6tun4LoZnj7VN6YeegOVb67KBX/7JJsqvj+pv3ZA7F878/eN33AbGa5b/S/wXxS/tcp8nc40xRUrsPlxIyNUPg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/cssstyle": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.0.1.tgz",
- "integrity": "sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "rrweb-cssom": "^0.6.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/cssstyle/node_modules/rrweb-cssom": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz",
- "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==",
- "dev": true
- },
- "node_modules/data-urls": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz",
- "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "whatwg-mimetype": "^4.0.0",
- "whatwg-url": "^14.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/decimal.js": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz",
- "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/deep-eql": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz",
- "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/define-data-property": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
- "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
- "license": "MIT",
- "dependencies": {
- "es-define-property": "^1.0.0",
- "es-errors": "^1.3.0",
- "gopd": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/dependency-cruiser": {
- "version": "16.3.10",
- "resolved": "https://registry.npmjs.org/dependency-cruiser/-/dependency-cruiser-16.3.10.tgz",
- "integrity": "sha512-WkCnibHBfvaiaQ+S46LZ6h4AR6oj42Vsf5/0Vgtrwdwn7ZekMJdZ/ALoTwNp/RaGlKW+MbV/fhSZOvmhAWVWzQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "acorn": "8.12.1",
- "acorn-jsx": "5.3.2",
- "acorn-jsx-walk": "2.0.0",
- "acorn-loose": "8.4.0",
- "acorn-walk": "8.3.3",
- "ajv": "8.17.1",
- "commander": "12.1.0",
- "enhanced-resolve": "5.17.1",
- "ignore": "5.3.1",
- "interpret": "^3.1.1",
- "is-installed-globally": "1.0.0",
- "json5": "2.2.3",
- "memoize": "10.0.0",
- "picocolors": "1.0.1",
- "picomatch": "4.0.2",
- "prompts": "2.4.2",
- "rechoir": "^0.8.0",
- "safe-regex": "2.1.1",
- "semver": "^7.6.3",
- "teamcity-service-messages": "0.1.14",
- "tsconfig-paths-webpack-plugin": "4.1.0",
- "watskeburt": "4.1.0"
- },
- "bin": {
- "depcruise": "bin/dependency-cruise.mjs",
- "depcruise-baseline": "bin/depcruise-baseline.mjs",
- "depcruise-fmt": "bin/depcruise-fmt.mjs",
- "depcruise-wrap-stream-in-html": "bin/wrap-stream-in-html.mjs",
- "dependency-cruise": "bin/dependency-cruise.mjs",
- "dependency-cruiser": "bin/dependency-cruise.mjs"
- },
- "engines": {
- "node": "^18.17||>=20"
- }
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/eastasianwidth": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
- "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/electron-to-chromium": {
- "version": "1.4.830",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.830.tgz",
- "integrity": "sha512-TrPKKH20HeN0J1LHzsYLs2qwXrp8TF4nHdu4sq61ozGbzMpWhI7iIOPYPPkxeq1azMT9PZ8enPFcftbs/Npcjg==",
- "dev": true
- },
- "node_modules/emoji-regex": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/enhanced-resolve": {
- "version": "5.17.1",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
- "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/entities": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
- "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.12"
- },
- "funding": {
- "url": "https://github.com/fb55/entities?sponsor=1"
- }
- },
- "node_modules/es-define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
- "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
- "license": "MIT",
- "dependencies": {
- "get-intrinsic": "^1.2.4"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-errors": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
- "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-module-lexer": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz",
- "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/esbuild": {
- "version": "0.21.5",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
- "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "engines": {
- "node": ">=12"
- },
- "optionalDependencies": {
- "@esbuild/aix-ppc64": "0.21.5",
- "@esbuild/android-arm": "0.21.5",
- "@esbuild/android-arm64": "0.21.5",
- "@esbuild/android-x64": "0.21.5",
- "@esbuild/darwin-arm64": "0.21.5",
- "@esbuild/darwin-x64": "0.21.5",
- "@esbuild/freebsd-arm64": "0.21.5",
- "@esbuild/freebsd-x64": "0.21.5",
- "@esbuild/linux-arm": "0.21.5",
- "@esbuild/linux-arm64": "0.21.5",
- "@esbuild/linux-ia32": "0.21.5",
- "@esbuild/linux-loong64": "0.21.5",
- "@esbuild/linux-mips64el": "0.21.5",
- "@esbuild/linux-ppc64": "0.21.5",
- "@esbuild/linux-riscv64": "0.21.5",
- "@esbuild/linux-s390x": "0.21.5",
- "@esbuild/linux-x64": "0.21.5",
- "@esbuild/netbsd-x64": "0.21.5",
- "@esbuild/openbsd-x64": "0.21.5",
- "@esbuild/sunos-x64": "0.21.5",
- "@esbuild/win32-arm64": "0.21.5",
- "@esbuild/win32-ia32": "0.21.5",
- "@esbuild/win32-x64": "0.21.5"
- }
- },
- "node_modules/escalade": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
- "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint": {
- "version": "9.7.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.7.0.tgz",
- "integrity": "sha512-FzJ9D/0nGiCGBf8UXO/IGLTgLVzIxze1zpfA8Ton2mjLovXdAPlYDv+MQDcqj3TmrhAGYfOpz9RfR+ent0AgAw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.11.0",
- "@eslint/config-array": "^0.17.0",
- "@eslint/eslintrc": "^3.1.0",
- "@eslint/js": "9.7.0",
- "@humanwhocodes/module-importer": "^1.0.1",
- "@humanwhocodes/retry": "^0.3.0",
- "@nodelib/fs.walk": "^1.2.8",
- "ajv": "^6.12.4",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^8.0.2",
- "eslint-visitor-keys": "^4.0.0",
- "espree": "^10.1.0",
- "esquery": "^1.5.0",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^8.0.0",
- "find-up": "^5.0.0",
- "glob-parent": "^6.0.2",
- "ignore": "^5.2.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "is-path-inside": "^3.0.3",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.1.2",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.3",
- "strip-ansi": "^6.0.1",
- "text-table": "^0.2.0"
- },
- "bin": {
- "eslint": "bin/eslint.js"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint-import-resolver-node": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
- "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "^3.2.7",
- "is-core-module": "^2.13.0",
- "resolve": "^1.22.4"
- }
- },
- "node_modules/eslint-import-resolver-node/node_modules/debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.1"
- }
- },
- "node_modules/eslint-plugin-import-x": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import-x/-/eslint-plugin-import-x-4.2.1.tgz",
- "integrity": "sha512-WWi2GedccIJa0zXxx3WDnTgouGQTtdYK1nhXMwywbqqAgB0Ov+p1pYBsWh3VaB0bvBOwLse6OfVII7jZD9xo5Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/utils": "^8.1.0",
- "debug": "^4.3.4",
- "doctrine": "^3.0.0",
- "eslint-import-resolver-node": "^0.3.9",
- "get-tsconfig": "^4.7.3",
- "is-glob": "^4.0.3",
- "minimatch": "^9.0.3",
- "semver": "^7.6.3",
- "stable-hash": "^0.0.4",
- "tslib": "^2.6.3"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0"
- }
- },
- "node_modules/eslint-plugin-import-x/node_modules/@typescript-eslint/scope-manager": {
- "version": "8.5.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.5.0.tgz",
- "integrity": "sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "8.5.0",
- "@typescript-eslint/visitor-keys": "8.5.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/eslint-plugin-import-x/node_modules/@typescript-eslint/types": {
- "version": "8.5.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.5.0.tgz",
- "integrity": "sha512-qjkormnQS5wF9pjSi6q60bKUHH44j2APxfh9TQRXK8wbYVeDYYdYJGIROL87LGZZ2gz3Rbmjc736qyL8deVtdw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/eslint-plugin-import-x/node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.5.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.5.0.tgz",
- "integrity": "sha512-vEG2Sf9P8BPQ+d0pxdfndw3xIXaoSjliG0/Ejk7UggByZPKXmJmw3GW5jV2gHNQNawBUyfahoSiCFVov0Ruf7Q==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@typescript-eslint/types": "8.5.0",
- "@typescript-eslint/visitor-keys": "8.5.0",
- "debug": "^4.3.4",
- "fast-glob": "^3.3.2",
- "is-glob": "^4.0.3",
- "minimatch": "^9.0.4",
- "semver": "^7.6.0",
- "ts-api-utils": "^1.3.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/eslint-plugin-import-x/node_modules/@typescript-eslint/utils": {
- "version": "8.5.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.5.0.tgz",
- "integrity": "sha512-6yyGYVL0e+VzGYp60wvkBHiqDWOpT63pdMV2CVG4LVDd5uR6q1qQN/7LafBZtAtNIn/mqXjsSeS5ggv/P0iECw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.5.0",
- "@typescript-eslint/types": "8.5.0",
- "@typescript-eslint/typescript-estree": "8.5.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^8.57.0 || ^9.0.0"
- }
- },
- "node_modules/eslint-plugin-import-x/node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.5.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.5.0.tgz",
- "integrity": "sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/types": "8.5.0",
- "eslint-visitor-keys": "^3.4.3"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/eslint-scope": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz",
- "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint/node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/eslint/node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/eslint/node_modules/eslint-visitor-keys": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
- "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "node_modules/eslint/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/espree": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz",
- "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "acorn": "^8.12.0",
- "acorn-jsx": "^5.3.2",
- "eslint-visitor-keys": "^4.0.0"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/espree/node_modules/eslint-visitor-keys": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
- "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/esquery": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
- "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "estraverse": "^5.1.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estree-walker": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
- "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "^1.0.0"
- }
- },
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/eventemitter3": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
- "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==",
- "license": "MIT"
- },
- "node_modules/expect-type": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.1.0.tgz",
- "integrity": "sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/external-editor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
- "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chardet": "^0.7.0",
- "iconv-lite": "^0.4.24",
- "tmp": "^0.0.33"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-glob": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
- "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fast-glob/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-uri": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz",
- "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==",
- "dev": true
- },
- "node_modules/fastq": {
- "version": "1.17.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
- "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/file-entry-cache": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
- "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "flat-cache": "^4.0.0"
- },
- "engines": {
- "node": ">=16.0.0"
- }
- },
- "node_modules/fill-range": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/flat-cache": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
- "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "flatted": "^3.2.9",
- "keyv": "^4.5.4"
- },
- "engines": {
- "node": ">=16"
- }
- },
- "node_modules/flatted": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
- "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/foreground-child": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz",
- "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "cross-spawn": "^7.0.0",
- "signal-exit": "^4.0.1"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/form-data": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
- "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/gensync": {
- "version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/get-intrinsic": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
- "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3",
- "hasown": "^2.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-tsconfig": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.0.tgz",
- "integrity": "sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "resolve-pkg-maps": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
- }
- },
- "node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/global-directory": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz",
- "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ini": "4.1.1"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/globals": {
- "version": "14.0.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
- "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
- "merge2": "^1.4.1",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/globrex": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
- "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/gopd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
- "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "license": "MIT",
- "dependencies": {
- "get-intrinsic": "^1.1.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/graphemer": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
- "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/graphql": {
- "version": "16.9.0",
- "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.9.0.tgz",
- "integrity": "sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0"
- }
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/has-property-descriptors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
- "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
- "license": "MIT",
- "dependencies": {
- "es-define-property": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-proto": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
- "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/hasown": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
- "license": "MIT",
- "dependencies": {
- "function-bind": "^1.1.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/headers-polyfill": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-4.0.3.tgz",
- "integrity": "sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/html-encoding-sniffer": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz",
- "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "whatwg-encoding": "^3.1.1"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/html-escaper": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
- "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/http-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.1.0",
- "debug": "^4.3.4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/https-proxy-agent": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz",
- "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.0.2",
- "debug": "4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/i18next": {
- "version": "23.12.2",
- "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.12.2.tgz",
- "integrity": "sha512-XIeh5V+bi8SJSWGL3jqbTEBW5oD6rbP5L+E7dVQh1MNTxxYef0x15rhJVcRb7oiuq4jLtgy2SD8eFlf6P2cmqg==",
- "funding": [
- {
- "type": "individual",
- "url": "https://locize.com"
- },
- {
- "type": "individual",
- "url": "https://locize.com/i18next.html"
- },
- {
- "type": "individual",
- "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.23.2"
- }
- },
- "node_modules/i18next-browser-languagedetector": {
- "version": "7.2.1",
- "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.2.1.tgz",
- "integrity": "sha512-h/pM34bcH6tbz8WgGXcmWauNpQupCGr25XPp9cZwZInR9XHSjIFDYp1SIok7zSPsTOMxdvuLyu86V+g2Kycnfw==",
- "license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.23.2"
- }
- },
- "node_modules/i18next-http-backend": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.6.1.tgz",
- "integrity": "sha512-rCilMAnlEQNeKOZY1+x8wLM5IpYOj10guGvEpeC59tNjj6MMreLIjIW8D1RclhD3ifLwn6d/Y9HEM1RUE6DSog==",
- "license": "MIT",
- "dependencies": {
- "cross-fetch": "4.0.0"
- }
- },
- "node_modules/i18next-korean-postposition-processor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/i18next-korean-postposition-processor/-/i18next-korean-postposition-processor-1.0.0.tgz",
- "integrity": "sha512-ruNXjI9awsFK6Ie+F9gYaMW8ciLMuCkeRjH9QkSv2Wb8xI0mnm773v3M9eua8dtvAXudIUk4p6Ho7hNkEASXDg==",
- "license": "MIT",
- "peerDependencies": {
- "i18next": ">=8.4.0"
- }
- },
- "node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/ignore": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
- "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/immediate": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
- "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="
- },
- "node_modules/import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "node_modules/ini": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz",
- "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/inquirer": {
- "version": "11.0.2",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-11.0.2.tgz",
- "integrity": "sha512-pnbn3nL+JFrTw/pLhzyE/IQ3+gA3n5JxTAZQDjB6qu4gbjOaiTnpZbxT6HY2DDCT7bzDjTTsd3snRP+B6N//Pg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^9.2.1",
- "@inquirer/prompts": "^6.0.1",
- "@inquirer/type": "^2.0.0",
- "@types/mute-stream": "^0.0.4",
- "ansi-escapes": "^4.3.2",
- "mute-stream": "^1.0.0",
- "run-async": "^3.0.0",
- "rxjs": "^7.8.1"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/interpret": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
- "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.15.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz",
- "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==",
- "dev": true,
- "dependencies": {
- "hasown": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-installed-globally": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-1.0.0.tgz",
- "integrity": "sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "global-directory": "^4.0.1",
- "is-path-inside": "^4.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-installed-globally/node_modules/is-path-inside": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz",
- "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-node-process": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz",
- "integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-potential-custom-element-name": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
- "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/isarray": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
- "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
- "license": "MIT"
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/istanbul-lib-coverage": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
- "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/istanbul-lib-instrument": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz",
- "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@babel/core": "^7.23.9",
- "@babel/parser": "^7.23.9",
- "@istanbuljs/schema": "^0.1.3",
- "istanbul-lib-coverage": "^3.2.0",
- "semver": "^7.5.4"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/istanbul-lib-report": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
- "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "istanbul-lib-coverage": "^3.0.0",
- "make-dir": "^4.0.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/istanbul-lib-source-maps": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz",
- "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "@jridgewell/trace-mapping": "^0.3.23",
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^3.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/istanbul-reports": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz",
- "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "html-escaper": "^2.0.0",
- "istanbul-lib-report": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/jackspeak": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
- "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "@isaacs/cliui": "^8.0.2"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- },
- "optionalDependencies": {
- "@pkgjs/parseargs": "^0.11.0"
- }
- },
- "node_modules/jest-canvas-mock": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jest-canvas-mock/-/jest-canvas-mock-2.5.2.tgz",
- "integrity": "sha512-vgnpPupjOL6+L5oJXzxTxFrlGEIbHdZqFU+LFNdtLxZ3lRDCl17FlTMM7IatoRQkrcyOTMlDinjUguqmQ6bR2A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cssfontparser": "^1.2.1",
- "moo-color": "^1.0.2"
- }
- },
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "license": "MIT",
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/jsdom": {
- "version": "24.1.0",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.1.0.tgz",
- "integrity": "sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cssstyle": "^4.0.1",
- "data-urls": "^5.0.0",
- "decimal.js": "^10.4.3",
- "form-data": "^4.0.0",
- "html-encoding-sniffer": "^4.0.0",
- "http-proxy-agent": "^7.0.2",
- "https-proxy-agent": "^7.0.4",
- "is-potential-custom-element-name": "^1.0.1",
- "nwsapi": "^2.2.10",
- "parse5": "^7.1.2",
- "rrweb-cssom": "^0.7.0",
- "saxes": "^6.0.0",
- "symbol-tree": "^3.2.4",
- "tough-cookie": "^4.1.4",
- "w3c-xmlserializer": "^5.0.0",
- "webidl-conversions": "^7.0.0",
- "whatwg-encoding": "^3.1.1",
- "whatwg-mimetype": "^4.0.0",
- "whatwg-url": "^14.0.0",
- "ws": "^8.17.0",
- "xml-name-validator": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "canvas": "^2.11.2"
- },
- "peerDependenciesMeta": {
- "canvas": {
- "optional": true
- }
- }
- },
- "node_modules/jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/json-buffer": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
- "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true
- },
- "node_modules/json-stable-stringify": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz",
- "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==",
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.5",
- "isarray": "^2.0.5",
- "jsonify": "^0.0.1",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/jsonify": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz",
- "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==",
- "license": "Public Domain",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/jszip": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
- "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
- "dependencies": {
- "lie": "~3.3.0",
- "pako": "~1.0.2",
- "readable-stream": "~2.3.6",
- "setimmediate": "^1.0.5"
- }
- },
- "node_modules/keyv": {
- "version": "4.5.4",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
- "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "json-buffer": "3.0.1"
- }
- },
- "node_modules/kleur": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
- "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/lefthook": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.7.4.tgz",
- "integrity": "sha512-lVv3nKH9l3KMDS3bySROvWJSw1+AsBHUO7xaA0rg1IEBZrj3+ePmM+a8elX+GU3Go1OzsZEYjo5AOOeLoZ7FQg==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "bin": {
- "lefthook": "bin/index.js"
- },
- "optionalDependencies": {
- "lefthook-darwin-arm64": "1.7.4",
- "lefthook-darwin-x64": "1.7.4",
- "lefthook-freebsd-arm64": "1.7.4",
- "lefthook-freebsd-x64": "1.7.4",
- "lefthook-linux-arm64": "1.7.4",
- "lefthook-linux-x64": "1.7.4",
- "lefthook-windows-arm64": "1.7.4",
- "lefthook-windows-x64": "1.7.4"
- }
- },
- "node_modules/lefthook-darwin-arm64": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.7.4.tgz",
- "integrity": "sha512-6XpenaP0W7ZYA3lhHey/C1U+KmYz6eCq2cGswQsrTX+xdtHdWW3NbbOKngxATRTF8+CtF6m9UB2afP7qqkCghQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/lefthook-darwin-x64": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-1.7.4.tgz",
- "integrity": "sha512-lpQXbPMHiaWE7+9fV+spjuMKiZ3J/+oI6hY1/l48MO3LmSpIv6DNy0VHho1fZVQnHdBU4bDh5c1G0r1f5T0irg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/lefthook-freebsd-arm64": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.7.4.tgz",
- "integrity": "sha512-wv+JZgkD1/wi4X5aKKNodvxNcFcYmvL7uyzKkbtd/LgX5ssh9r5pO9J/71ULGtEuTXH4kqORRtez7u/ygqMEew==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ]
- },
- "node_modules/lefthook-freebsd-x64": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.7.4.tgz",
- "integrity": "sha512-xoYR0Ay8pbyY9W9mI+iI9VDkkCVYSXhMf9XyOChSlu2XmjKiqi23hjCXvSOpvHQ7jphGvAVpE3Byijr6Xjuihw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ]
- },
- "node_modules/lefthook-linux-arm64": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-1.7.4.tgz",
- "integrity": "sha512-WvXWzSM/e08n2f5lcC8j+pUMS0RzZftJK4zuBQ36TstSYXfBjWiw+FMnKCVZk6Q8Zc0icyF8sTmKQAyKCgX+UA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/lefthook-linux-x64": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.7.4.tgz",
- "integrity": "sha512-eR5NxGzqPJm3wDTm4HStwGxOZ8Omb0ooodyuQdEOxtYidLrd4U18N14huwCEFd3BAOrjIWYV8plH+ReTZE56eg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/lefthook-windows-arm64": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-1.7.4.tgz",
- "integrity": "sha512-C+MdHH+0ylermetMHwfHsYYNI5HI6QEOx7N4Iw4Ea6c3Yuj3eG3LsAzrhsup7KLSSBmDgIHOCJUx/Mfh2z+ATw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/lefthook-windows-x64": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-1.7.4.tgz",
- "integrity": "sha512-BDQhiRzmMYPFQFtVtkRfUfeZuSlemG1oJfGKYXlCGFskvK9Jm1nGFnG0Ig63FAQaFdW33DFoLdr9ZKFTUQeSwQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/lie": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
- "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
- "dependencies": {
- "immediate": "~3.0.5"
- }
- },
- "node_modules/linkify-it": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
- "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
- "dev": true,
- "dependencies": {
- "uc.micro": "^2.0.0"
- }
- },
- "node_modules/locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-locate": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/loupe": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz",
- "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^3.0.2"
- }
- },
- "node_modules/lunr": {
- "version": "2.3.9",
- "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
- "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/magic-string": {
- "version": "0.30.17",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz",
- "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.5.0"
- }
- },
- "node_modules/magicast": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.5.tgz",
- "integrity": "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.25.4",
- "@babel/types": "^7.25.4",
- "source-map-js": "^1.2.0"
- }
- },
- "node_modules/make-dir": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
- "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "semver": "^7.5.3"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/markdown-it": {
- "version": "14.1.0",
- "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
- "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
- "dev": true,
- "dependencies": {
- "argparse": "^2.0.1",
- "entities": "^4.4.0",
- "linkify-it": "^5.0.0",
- "mdurl": "^2.0.0",
- "punycode.js": "^2.3.1",
- "uc.micro": "^2.1.0"
- },
- "bin": {
- "markdown-it": "bin/markdown-it.mjs"
- }
- },
- "node_modules/mdurl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
- "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
- "dev": true
- },
- "node_modules/memoize": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/memoize/-/memoize-10.0.0.tgz",
- "integrity": "sha512-H6cBLgsi6vMWOcCpvVCdFFnl3kerEXbrYh9q+lY6VXvQSmM6CkmV08VOwT+WE2tzIEqRPFfAq3fm4v/UIW6mSA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mimic-function": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/memoize?sponsor=1"
- }
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
- "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "braces": "^3.0.3",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/micromatch/node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mimic-function": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
- "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/minimatch": {
- "version": "9.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
- "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/minipass": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=16 || 14 >=14.17"
- }
- },
- "node_modules/moo-color": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/moo-color/-/moo-color-1.0.3.tgz",
- "integrity": "sha512-i/+ZKXMDf6aqYtBhuOcej71YSlbjT3wCO/4H1j8rPvxDJEifdwgg5MaFyu6iYAT8GBZJg2z0dkgK4YMzvURALQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "^1.1.4"
- }
- },
- "node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/msw": {
- "version": "2.4.9",
- "resolved": "https://registry.npmjs.org/msw/-/msw-2.4.9.tgz",
- "integrity": "sha512-1m8xccT6ipN4PTqLinPwmzhxQREuxaEJYdx4nIbggxP8aM7r1e71vE7RtOUSQoAm1LydjGfZKy7370XD/tsuYg==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "dependencies": {
- "@bundled-es-modules/cookie": "^2.0.0",
- "@bundled-es-modules/statuses": "^1.0.1",
- "@bundled-es-modules/tough-cookie": "^0.1.6",
- "@inquirer/confirm": "^3.0.0",
- "@mswjs/interceptors": "^0.35.8",
- "@open-draft/until": "^2.1.0",
- "@types/cookie": "^0.6.0",
- "@types/statuses": "^2.0.4",
- "chalk": "^4.1.2",
- "graphql": "^16.8.1",
- "headers-polyfill": "^4.0.2",
- "is-node-process": "^1.2.0",
- "outvariant": "^1.4.2",
- "path-to-regexp": "^6.3.0",
- "strict-event-emitter": "^0.5.1",
- "type-fest": "^4.9.0",
- "yargs": "^17.7.2"
- },
- "bin": {
- "msw": "cli/index.js"
- },
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/mswjs"
- },
- "peerDependencies": {
- "typescript": ">= 4.8.x"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/msw/node_modules/@inquirer/confirm": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.2.0.tgz",
- "integrity": "sha512-oOIwPs0Dvq5220Z8lGL/6LHRTEr9TgLHmiI99Rj1PJ1p1czTys+olrgBqZk4E2qC0YTzeHprxSQmoHioVdJ7Lw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@inquirer/core": "^9.1.0",
- "@inquirer/type": "^1.5.3"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/msw/node_modules/@inquirer/type": {
- "version": "1.5.5",
- "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.5.tgz",
- "integrity": "sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mute-stream": "^1.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/msw/node_modules/type-fest": {
- "version": "4.26.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz",
- "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/mustache": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz",
- "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==",
- "license": "MIT",
- "bin": {
- "mustache": "bin/mustache"
- }
- },
- "node_modules/mute-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz",
- "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
- }
- },
- "node_modules/nanoid": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
- "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/node-fetch": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
- "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
- "license": "MIT",
- "dependencies": {
- "whatwg-url": "^5.0.0"
- },
- "engines": {
- "node": "4.x || >=6.0.0"
- },
- "peerDependencies": {
- "encoding": "^0.1.0"
- },
- "peerDependenciesMeta": {
- "encoding": {
- "optional": true
- }
- }
- },
- "node_modules/node-fetch/node_modules/tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
- },
- "node_modules/node-fetch/node_modules/webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
- },
- "node_modules/node-fetch/node_modules/whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "node_modules/node-releases": {
- "version": "2.0.17",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.17.tgz",
- "integrity": "sha512-Ww6ZlOiEQfPfXM45v17oabk77Z7mg5bOt7AjDyzy7RjK9OrLrLC8dyZQoAPEOtFX9SaNf1Tdvr5gRJWdTJj7GA==",
- "dev": true
- },
- "node_modules/nwsapi": {
- "version": "2.2.12",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz",
- "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==",
- "dev": true
- },
- "node_modules/object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/optionator": {
- "version": "0.9.4",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
- "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.5"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/outvariant": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz",
- "integrity": "sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "yocto-queue": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/package-json-from-dist": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz",
- "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==",
- "dev": true,
- "license": "BlueOak-1.0.0"
- },
- "node_modules/pako": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
- "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
- },
- "node_modules/papaparse": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.4.1.tgz",
- "integrity": "sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==",
- "license": "MIT"
- },
- "node_modules/parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "callsites": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/parse5": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
- "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "entities": "^4.4.0"
- },
- "funding": {
- "url": "https://github.com/inikulin/parse5?sponsor=1"
- }
- },
- "node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/path-scurry": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
- "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "lru-cache": "^10.2.0",
- "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
- },
- "engines": {
- "node": ">=16 || 14 >=14.18"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/path-scurry/node_modules/lru-cache": {
- "version": "10.4.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
- "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/path-to-regexp": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz",
- "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pathe": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz",
- "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/pathval": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz",
- "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 14.16"
- }
- },
- "node_modules/phaser": {
- "version": "3.80.1",
- "resolved": "https://registry.npmjs.org/phaser/-/phaser-3.80.1.tgz",
- "integrity": "sha512-VQGAWoDOkEpAWYkI+PUADv5Ql+SM0xpLuAMBJHz9tBcOLqjJ2wd8bUhxJgOqclQlLTg97NmMd9MhS75w16x1Cw==",
- "license": "MIT",
- "dependencies": {
- "eventemitter3": "^5.0.1"
- }
- },
- "node_modules/phaser3-rex-plugins": {
- "version": "1.80.5",
- "resolved": "https://registry.npmjs.org/phaser3-rex-plugins/-/phaser3-rex-plugins-1.80.5.tgz",
- "integrity": "sha512-hdL3Cm6dK72w6phQdGnEiqqntlwT8SvjU0yit7DkdqiPy/Io1g3KnsRFqndtY+Hu69zaMEuckpIVeQK6yVwx4A==",
- "dependencies": {
- "eventemitter3": "^3.1.2",
- "i18next": "^22.5.1",
- "i18next-http-backend": "^2.5.2",
- "js-yaml": "^4.1.0",
- "mustache": "^4.2.0",
- "papaparse": "^5.4.1",
- "webfontloader": "^1.6.28"
- }
- },
- "node_modules/phaser3-rex-plugins/node_modules/eventemitter3": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
- "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==",
- "license": "MIT"
- },
- "node_modules/phaser3-rex-plugins/node_modules/i18next": {
- "version": "22.5.1",
- "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz",
- "integrity": "sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==",
- "funding": [
- {
- "type": "individual",
- "url": "https://locize.com"
- },
- {
- "type": "individual",
- "url": "https://locize.com/i18next.html"
- },
- {
- "type": "individual",
- "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.20.6"
- }
- },
- "node_modules/phaser3spectorjs": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/phaser3spectorjs/-/phaser3spectorjs-0.0.8.tgz",
- "integrity": "sha512-0dSO7/aMjEUPrp5EcjRvRRsEf+jXDbmzalPeJ6VtTB2Pn1PeaKc+qlL/DmO3l1Dvc5lkzc+Sil1Ta+Hkyi5cbA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/picocolors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
- "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
- "dev": true
- },
- "node_modules/picomatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
- "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/possible-typed-array-names": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
- "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/postcss": {
- "version": "8.4.47",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
- "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "dependencies": {
- "nanoid": "^3.3.7",
- "picocolors": "^1.1.0",
- "source-map-js": "^1.2.1"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/postcss/node_modules/picocolors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
- "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
- "dev": true
- },
- "node_modules/prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
- },
- "node_modules/prompts": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
- "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "kleur": "^3.0.3",
- "sisteransi": "^1.0.5"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/psl": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
- "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/punycode": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
- "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/punycode.js": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
- "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/querystringify": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
- "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ]
- },
- "node_modules/readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/readable-stream/node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
- },
- "node_modules/rechoir": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
- "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "resolve": "^1.20.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- }
- },
- "node_modules/regenerator-runtime": {
- "version": "0.14.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
- "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
- "license": "MIT"
- },
- "node_modules/regexp-tree": {
- "version": "0.1.27",
- "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz",
- "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "regexp-tree": "bin/regexp-tree"
- }
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/resolve": {
- "version": "1.22.8",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
- "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-core-module": "^2.13.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/resolve-pkg-maps": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
- "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
- }
- },
- "node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/rollup": {
- "version": "4.22.4",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz",
- "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==",
- "dev": true,
- "dependencies": {
- "@types/estree": "1.0.5"
- },
- "bin": {
- "rollup": "dist/bin/rollup"
- },
- "engines": {
- "node": ">=18.0.0",
- "npm": ">=8.0.0"
- },
- "optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.22.4",
- "@rollup/rollup-android-arm64": "4.22.4",
- "@rollup/rollup-darwin-arm64": "4.22.4",
- "@rollup/rollup-darwin-x64": "4.22.4",
- "@rollup/rollup-linux-arm-gnueabihf": "4.22.4",
- "@rollup/rollup-linux-arm-musleabihf": "4.22.4",
- "@rollup/rollup-linux-arm64-gnu": "4.22.4",
- "@rollup/rollup-linux-arm64-musl": "4.22.4",
- "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4",
- "@rollup/rollup-linux-riscv64-gnu": "4.22.4",
- "@rollup/rollup-linux-s390x-gnu": "4.22.4",
- "@rollup/rollup-linux-x64-gnu": "4.22.4",
- "@rollup/rollup-linux-x64-musl": "4.22.4",
- "@rollup/rollup-win32-arm64-msvc": "4.22.4",
- "@rollup/rollup-win32-ia32-msvc": "4.22.4",
- "@rollup/rollup-win32-x64-msvc": "4.22.4",
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/rrweb-cssom": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz",
- "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==",
- "dev": true
- },
- "node_modules/run-async": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz",
- "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/rxjs": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
- "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "tslib": "^2.1.0"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- },
- "node_modules/safe-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz",
- "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "regexp-tree": "~0.1.1"
- }
- },
- "node_modules/safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/saxes": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
- "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "xmlchars": "^2.2.0"
- },
- "engines": {
- "node": ">=v12.22.7"
- }
- },
- "node_modules/semver": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
- "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/set-function-length": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
- "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
- "license": "MIT",
- "dependencies": {
- "define-data-property": "^1.1.4",
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.4",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="
- },
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shiki": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.12.0.tgz",
- "integrity": "sha512-BuAxWOm5JhRcbSOl7XCei8wGjgJJonnV0oipUupPY58iULxUGyHhW5CF+9FRMuM1pcJ5cGEJGll1LusX6FwpPA==",
- "dev": true,
- "dependencies": {
- "@shikijs/core": "1.12.0",
- "@types/hast": "^3.0.4"
- }
- },
- "node_modules/siginfo": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz",
- "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/signal-exit": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
- "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/sisteransi": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
- "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/stable-hash": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.4.tgz",
- "integrity": "sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/stackback": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",
- "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/std-env": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz",
- "integrity": "sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/strict-event-emitter": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz",
- "integrity": "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/string-width": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^9.2.2",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/string-width-cjs": {
- "name": "string-width",
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/string-width-cjs/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/string-width/node_modules/ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/string-width/node_modules/strip-ansi": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
- "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-ansi-cjs": {
- "name": "strip-ansi",
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/symbol-tree": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
- "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/tapable": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/teamcity-service-messages": {
- "version": "0.1.14",
- "resolved": "https://registry.npmjs.org/teamcity-service-messages/-/teamcity-service-messages-0.1.14.tgz",
- "integrity": "sha512-29aQwaHqm8RMX74u2o/h1KbMLP89FjNiMxD9wbF2BbWOnbM+q+d1sCEC+MqCc4QW3NJykn77OMpTFw/xTHIc0w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/test-exclude": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz",
- "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@istanbuljs/schema": "^0.1.2",
- "glob": "^10.4.1",
- "minimatch": "^9.0.4"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/test-exclude/node_modules/glob": {
- "version": "10.4.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
- "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^3.1.2",
- "minimatch": "^9.0.4",
- "minipass": "^7.1.2",
- "package-json-from-dist": "^1.0.0",
- "path-scurry": "^1.11.1"
- },
- "bin": {
- "glob": "dist/esm/bin.mjs"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/tinybench": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
- "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/tinyexec": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz",
- "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/tinypool": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.2.tgz",
- "integrity": "sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^18.0.0 || >=20.0.0"
- }
- },
- "node_modules/tinyrainbow": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz",
- "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/tinyspy": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz",
- "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "os-tmpdir": "~1.0.2"
- },
- "engines": {
- "node": ">=0.6.0"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/tough-cookie": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
- "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "psl": "^1.1.33",
- "punycode": "^2.1.1",
- "universalify": "^0.2.0",
- "url-parse": "^1.5.3"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/tr46": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz",
- "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==",
- "dev": true,
- "dependencies": {
- "punycode": "^2.3.1"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/ts-api-utils": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
- "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=16"
- },
- "peerDependencies": {
- "typescript": ">=4.2.0"
- }
- },
- "node_modules/tsconfck": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.1.tgz",
- "integrity": "sha512-00eoI6WY57SvZEVjm13stEVE90VkEdJAFGgpFLTsZbJyW/LwFQ7uQxJHWpZ2hzSWgCPKc9AnBnNP+0X7o3hAmQ==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "tsconfck": "bin/tsconfck.js"
- },
- "engines": {
- "node": "^18 || >=20"
- },
- "peerDependencies": {
- "typescript": "^5.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/tsconfig-paths-webpack-plugin": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.1.0.tgz",
- "integrity": "sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "chalk": "^4.1.0",
- "enhanced-resolve": "^5.7.0",
- "tsconfig-paths": "^4.1.2"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/tsconfig-paths-webpack-plugin/node_modules/tsconfig-paths": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
- "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "json5": "^2.2.2",
- "minimist": "^1.2.6",
- "strip-bom": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/tslib": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
- "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==",
- "dev": true,
- "license": "0BSD"
- },
- "node_modules/type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "prelude-ls": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/type-fest": {
- "version": "0.21.3",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
- "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/typedoc": {
- "version": "0.26.5",
- "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.26.5.tgz",
- "integrity": "sha512-Vn9YKdjKtDZqSk+by7beZ+xzkkr8T8CYoiasqyt4TTRFy5+UHzL/mF/o4wGBjRF+rlWQHDb0t6xCpA3JNL5phg==",
- "dev": true,
- "dependencies": {
- "lunr": "^2.3.9",
- "markdown-it": "^14.1.0",
- "minimatch": "^9.0.5",
- "shiki": "^1.9.1",
- "yaml": "^2.4.5"
- },
- "bin": {
- "typedoc": "bin/typedoc"
- },
- "engines": {
- "node": ">= 18"
- },
- "peerDependencies": {
- "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x"
- }
- },
- "node_modules/typescript": {
- "version": "5.5.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz",
- "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==",
- "dev": true,
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=14.17"
- }
- },
- "node_modules/typescript-eslint": {
- "version": "8.0.0-alpha.58",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.0.0-alpha.58.tgz",
- "integrity": "sha512-0mvrodNhExpkWns+5RaZP8YqsAfPyjmPVVM1p+kaJkvApMH58/VFcQ0iSQuun0bFRNCMvW0ZUdulS9AsHqVXkg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@typescript-eslint/eslint-plugin": "8.0.0-alpha.58",
- "@typescript-eslint/parser": "8.0.0-alpha.58",
- "@typescript-eslint/utils": "8.0.0-alpha.58"
- },
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/uc.micro": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
- "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
- "dev": true
- },
- "node_modules/undici-types": {
- "version": "5.26.5",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
- "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/universalify": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
- "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/update-browserslist-db": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz",
- "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "escalade": "^3.1.2",
- "picocolors": "^1.0.1"
- },
- "bin": {
- "update-browserslist-db": "cli.js"
- },
- "peerDependencies": {
- "browserslist": ">= 4.21.0"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/url-parse": {
- "version": "1.5.10",
- "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
- "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "querystringify": "^2.1.1",
- "requires-port": "^1.0.0"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
- },
- "node_modules/vite": {
- "version": "5.4.14",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.14.tgz",
- "integrity": "sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "esbuild": "^0.21.3",
- "postcss": "^8.4.43",
- "rollup": "^4.20.0"
- },
- "bin": {
- "vite": "bin/vite.js"
- },
- "engines": {
- "node": "^18.0.0 || >=20.0.0"
- },
- "funding": {
- "url": "https://github.com/vitejs/vite?sponsor=1"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.3"
- },
- "peerDependencies": {
- "@types/node": "^18.0.0 || >=20.0.0",
- "less": "*",
- "lightningcss": "^1.21.0",
- "sass": "*",
- "sass-embedded": "*",
- "stylus": "*",
- "sugarss": "*",
- "terser": "^5.4.0"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- },
- "less": {
- "optional": true
- },
- "lightningcss": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "sass-embedded": {
- "optional": true
- },
- "stylus": {
- "optional": true
- },
- "sugarss": {
- "optional": true
- },
- "terser": {
- "optional": true
- }
- }
- },
- "node_modules/vite-node": {
- "version": "2.1.9",
- "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.9.tgz",
- "integrity": "sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cac": "^6.7.14",
- "debug": "^4.3.7",
- "es-module-lexer": "^1.5.4",
- "pathe": "^1.1.2",
- "vite": "^5.0.0"
- },
- "bin": {
- "vite-node": "vite-node.mjs"
- },
- "engines": {
- "node": "^18.0.0 || >=20.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- }
- },
- "node_modules/vite-tsconfig-paths": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.3.2.tgz",
- "integrity": "sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "^4.1.1",
- "globrex": "^0.1.2",
- "tsconfck": "^3.0.3"
- },
- "peerDependencies": {
- "vite": "*"
- },
- "peerDependenciesMeta": {
- "vite": {
- "optional": true
- }
- }
- },
- "node_modules/vitest": {
- "version": "2.1.9",
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.9.tgz",
- "integrity": "sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vitest/expect": "2.1.9",
- "@vitest/mocker": "2.1.9",
- "@vitest/pretty-format": "^2.1.9",
- "@vitest/runner": "2.1.9",
- "@vitest/snapshot": "2.1.9",
- "@vitest/spy": "2.1.9",
- "@vitest/utils": "2.1.9",
- "chai": "^5.1.2",
- "debug": "^4.3.7",
- "expect-type": "^1.1.0",
- "magic-string": "^0.30.12",
- "pathe": "^1.1.2",
- "std-env": "^3.8.0",
- "tinybench": "^2.9.0",
- "tinyexec": "^0.3.1",
- "tinypool": "^1.0.1",
- "tinyrainbow": "^1.2.0",
- "vite": "^5.0.0",
- "vite-node": "2.1.9",
- "why-is-node-running": "^2.3.0"
- },
- "bin": {
- "vitest": "vitest.mjs"
- },
- "engines": {
- "node": "^18.0.0 || >=20.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/vitest"
- },
- "peerDependencies": {
- "@edge-runtime/vm": "*",
- "@types/node": "^18.0.0 || >=20.0.0",
- "@vitest/browser": "2.1.9",
- "@vitest/ui": "2.1.9",
- "happy-dom": "*",
- "jsdom": "*"
- },
- "peerDependenciesMeta": {
- "@edge-runtime/vm": {
- "optional": true
- },
- "@types/node": {
- "optional": true
- },
- "@vitest/browser": {
- "optional": true
- },
- "@vitest/ui": {
- "optional": true
- },
- "happy-dom": {
- "optional": true
- },
- "jsdom": {
- "optional": true
- }
- }
- },
- "node_modules/vitest-canvas-mock": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/vitest-canvas-mock/-/vitest-canvas-mock-0.3.3.tgz",
- "integrity": "sha512-3P968tYBpqYyzzOaVtqnmYjqbe13576/fkjbDEJSfQAkHtC5/UjuRHOhFEN/ZV5HVZIkaROBUWgazDKJ+Ibw+Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "jest-canvas-mock": "~2.5.2"
- },
- "peerDependencies": {
- "vitest": "*"
- }
- },
- "node_modules/w3c-xmlserializer": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz",
- "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "xml-name-validator": "^5.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/watskeburt": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/watskeburt/-/watskeburt-4.1.0.tgz",
- "integrity": "sha512-KkY5H51ajqy9HYYI+u9SIURcWnqeVVhdH0I+ab6aXPGHfZYxgRCwnR6Lm3+TYB6jJVt5jFqw4GAKmwf1zHmGQw==",
- "dev": true,
- "bin": {
- "watskeburt": "dist/run-cli.js"
- },
- "engines": {
- "node": "^18||>=20"
- }
- },
- "node_modules/webfontloader": {
- "version": "1.6.28",
- "resolved": "https://registry.npmjs.org/webfontloader/-/webfontloader-1.6.28.tgz",
- "integrity": "sha512-Egb0oFEga6f+nSgasH3E0M405Pzn6y3/9tOVanv/DLfa1YBIgcv90L18YyWnvXkRbIM17v5Kv6IT2N6g1x5tvQ==",
- "license": "Apache-2.0"
- },
- "node_modules/webidl-conversions": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
- "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
- "dev": true,
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/whatwg-encoding": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
- "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "iconv-lite": "0.6.3"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/whatwg-encoding/node_modules/iconv-lite": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
- "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
- "dev": true,
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/whatwg-mimetype": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz",
- "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/whatwg-url": {
- "version": "14.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz",
- "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==",
- "dev": true,
- "dependencies": {
- "tr46": "^5.0.0",
- "webidl-conversions": "^7.0.0"
- },
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/why-is-node-running": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz",
- "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "siginfo": "^2.0.0",
- "stackback": "0.0.2"
- },
- "bin": {
- "why-is-node-running": "cli.js"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/word-wrap": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
- "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/wrap-ansi": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
- "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^6.1.0",
- "string-width": "^5.0.1",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrap-ansi-cjs": {
- "name": "wrap-ansi",
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/wrap-ansi-cjs/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/wrap-ansi/node_modules/ansi-regex": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
- "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/wrap-ansi/node_modules/ansi-styles": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
- "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/wrap-ansi/node_modules/strip-ansi": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
- "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^6.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
- }
- },
- "node_modules/ws": {
- "version": "8.18.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
- "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/xml-name-validator": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz",
- "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/xmlchars": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
- "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/yaml": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz",
- "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==",
- "dev": true,
- "bin": {
- "yaml": "bin.mjs"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/yargs": {
- "version": "17.7.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
- "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/yargs/node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/yargs/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/yoctocolors-cjs": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz",
- "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- }
- }
+ "name": "pokemon-rogue-battle",
+ "version": "1.7.7",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "pokemon-rogue-battle",
+ "version": "1.7.7",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@material/material-color-utilities": "^0.2.7",
+ "crypto-js": "^4.2.0",
+ "i18next": "^23.11.1",
+ "i18next-browser-languagedetector": "^7.2.1",
+ "i18next-http-backend": "^2.6.1",
+ "i18next-korean-postposition-processor": "^1.0.0",
+ "json-stable-stringify": "^1.1.0",
+ "jszip": "^3.10.1",
+ "phaser": "^3.70.0",
+ "phaser3-rex-plugins": "^1.1.84"
+ },
+ "devDependencies": {
+ "@biomejs/biome": "1.9.4",
+ "@eslint/js": "^9.3.0",
+ "@hpcc-js/wasm": "^2.18.0",
+ "@stylistic/eslint-plugin-ts": "^2.6.0-beta.0",
+ "@types/jsdom": "^21.1.7",
+ "@types/node": "^20.12.13",
+ "@typescript-eslint/eslint-plugin": "^8.0.0-alpha.54",
+ "@typescript-eslint/parser": "^8.0.0-alpha.54",
+ "@vitest/coverage-istanbul": "^2.1.9",
+ "dependency-cruiser": "^16.3.10",
+ "eslint": "^9.7.0",
+ "eslint-plugin-import-x": "^4.2.1",
+ "inquirer": "^11.0.2",
+ "jsdom": "^24.0.0",
+ "lefthook": "^1.6.12",
+ "msw": "^2.4.9",
+ "phaser3spectorjs": "^0.0.8",
+ "typedoc": "^0.26.4",
+ "typescript": "^5.5.3",
+ "typescript-eslint": "^8.0.0-alpha.54",
+ "vite": "^5.4.14",
+ "vite-tsconfig-paths": "^4.3.2",
+ "vitest": "^2.1.9",
+ "vitest-canvas-mock": "^0.3.3"
+ },
+ "engines": {
+ "node": ">=20.0.0"
+ }
+ },
+ "node_modules/@ampproject/remapping": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+ "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/highlight": "^7.24.7",
+ "picocolors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.24.9",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.9.tgz",
+ "integrity": "sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.24.9",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz",
+ "integrity": "sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.24.7",
+ "@babel/generator": "^7.24.9",
+ "@babel/helper-compilation-targets": "^7.24.8",
+ "@babel/helper-module-transforms": "^7.24.9",
+ "@babel/helpers": "^7.24.8",
+ "@babel/parser": "^7.24.8",
+ "@babel/template": "^7.24.7",
+ "@babel/traverse": "^7.24.8",
+ "@babel/types": "^7.24.9",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/core/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.24.10",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.10.tgz",
+ "integrity": "sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.24.9",
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.24.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz",
+ "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.24.8",
+ "@babel/helper-validator-option": "^7.24.8",
+ "browserslist": "^4.23.1",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz",
+ "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz",
+ "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.24.7",
+ "@babel/types": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-hoist-variables": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz",
+ "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
+ "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.24.7",
+ "@babel/types": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.24.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.9.tgz",
+ "integrity": "sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-module-imports": "^7.24.7",
+ "@babel/helper-simple-access": "^7.24.7",
+ "@babel/helper-split-export-declaration": "^7.24.7",
+ "@babel/helper-validator-identifier": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-simple-access": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz",
+ "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.24.7",
+ "@babel/types": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
+ "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz",
+ "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.25.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz",
+ "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.24.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz",
+ "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.24.8",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.8.tgz",
+ "integrity": "sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.24.7",
+ "@babel/types": "^7.24.8"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
+ "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.24.7",
+ "chalk": "^2.4.2",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.8.tgz",
+ "integrity": "sha512-TZIQ25pkSoaKEYYaHbbxkfL36GNsQ6iFiBbeuzAkLnXayKR1yP1zFe+NxuZWWsUyvt8icPU9CCq0sgWGXR1GEw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.26.8"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/runtime": {
+ "version": "7.24.8",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.8.tgz",
+ "integrity": "sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==",
+ "dependencies": {
+ "regenerator-runtime": "^0.14.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.24.7",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz",
+ "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.24.7",
+ "@babel/parser": "^7.24.7",
+ "@babel/types": "^7.24.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.24.8",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz",
+ "integrity": "sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.24.7",
+ "@babel/generator": "^7.24.8",
+ "@babel/helper-environment-visitor": "^7.24.7",
+ "@babel/helper-function-name": "^7.24.7",
+ "@babel/helper-hoist-variables": "^7.24.7",
+ "@babel/helper-split-export-declaration": "^7.24.7",
+ "@babel/parser": "^7.24.8",
+ "@babel/types": "^7.24.8",
+ "debug": "^4.3.1",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.26.8",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.8.tgz",
+ "integrity": "sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.25.9",
+ "@babel/helper-validator-identifier": "^7.25.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@biomejs/biome": {
+ "version": "1.9.4",
+ "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.9.4.tgz",
+ "integrity": "sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT OR Apache-2.0",
+ "bin": {
+ "biome": "bin/biome"
+ },
+ "engines": {
+ "node": ">=14.21.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/biome"
+ },
+ "optionalDependencies": {
+ "@biomejs/cli-darwin-arm64": "1.9.4",
+ "@biomejs/cli-darwin-x64": "1.9.4",
+ "@biomejs/cli-linux-arm64": "1.9.4",
+ "@biomejs/cli-linux-arm64-musl": "1.9.4",
+ "@biomejs/cli-linux-x64": "1.9.4",
+ "@biomejs/cli-linux-x64-musl": "1.9.4",
+ "@biomejs/cli-win32-arm64": "1.9.4",
+ "@biomejs/cli-win32-x64": "1.9.4"
+ }
+ },
+ "node_modules/@biomejs/cli-darwin-arm64": {
+ "version": "1.9.4",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.9.4.tgz",
+ "integrity": "sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT OR Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=14.21.3"
+ }
+ },
+ "node_modules/@biomejs/cli-darwin-x64": {
+ "version": "1.9.4",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.9.4.tgz",
+ "integrity": "sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT OR Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=14.21.3"
+ }
+ },
+ "node_modules/@biomejs/cli-linux-arm64": {
+ "version": "1.9.4",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.9.4.tgz",
+ "integrity": "sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT OR Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=14.21.3"
+ }
+ },
+ "node_modules/@biomejs/cli-linux-arm64-musl": {
+ "version": "1.9.4",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.9.4.tgz",
+ "integrity": "sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT OR Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=14.21.3"
+ }
+ },
+ "node_modules/@biomejs/cli-linux-x64": {
+ "version": "1.9.4",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.9.4.tgz",
+ "integrity": "sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT OR Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=14.21.3"
+ }
+ },
+ "node_modules/@biomejs/cli-linux-x64-musl": {
+ "version": "1.9.4",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.9.4.tgz",
+ "integrity": "sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT OR Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=14.21.3"
+ }
+ },
+ "node_modules/@biomejs/cli-win32-arm64": {
+ "version": "1.9.4",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.9.4.tgz",
+ "integrity": "sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT OR Apache-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=14.21.3"
+ }
+ },
+ "node_modules/@biomejs/cli-win32-x64": {
+ "version": "1.9.4",
+ "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.9.4.tgz",
+ "integrity": "sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT OR Apache-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=14.21.3"
+ }
+ },
+ "node_modules/@bundled-es-modules/cookie": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@bundled-es-modules/cookie/-/cookie-2.0.0.tgz",
+ "integrity": "sha512-Or6YHg/kamKHpxULAdSqhGqnWFneIXu1NKvvfBBzKGwpVsYuFIQ5aBPHDnnoR3ghW1nvSkALd+EF9iMtY7Vjxw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "cookie": "^0.5.0"
+ }
+ },
+ "node_modules/@bundled-es-modules/statuses": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@bundled-es-modules/statuses/-/statuses-1.0.1.tgz",
+ "integrity": "sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "statuses": "^2.0.1"
+ }
+ },
+ "node_modules/@bundled-es-modules/tough-cookie": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@bundled-es-modules/tough-cookie/-/tough-cookie-0.1.6.tgz",
+ "integrity": "sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@types/tough-cookie": "^4.0.5",
+ "tough-cookie": "^4.1.4"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+ "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+ "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+ "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+ "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+ "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+ "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+ "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+ "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+ "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+ "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+ "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+ "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+ "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+ "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+ "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+ "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+ "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+ "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+ "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.11.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
+ "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/config-array": {
+ "version": "0.17.1",
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.1.tgz",
+ "integrity": "sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@eslint/object-schema": "^2.1.4",
+ "debug": "^4.3.1",
+ "minimatch": "^3.1.2"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/config-array/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/@eslint/config-array/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz",
+ "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^10.0.1",
+ "globals": "^14.0.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "node_modules/@eslint/eslintrc/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/@eslint/js": {
+ "version": "9.7.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.7.0.tgz",
+ "integrity": "sha512-ChuWDQenef8OSFnvuxv0TCVxEwmu3+hPNKvM9B34qpM0rDRbjL8t5QkQeHHeAfsKQjuH9wS82WeCi1J/owatng==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@eslint/object-schema": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz",
+ "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
+ },
+ "node_modules/@hpcc-js/wasm": {
+ "version": "2.18.0",
+ "resolved": "https://registry.npmjs.org/@hpcc-js/wasm/-/wasm-2.18.0.tgz",
+ "integrity": "sha512-M9XVIvAXGH4Xcyb5UoiohWcn6fil89pcos/gClNdBZG2v+W48xSf2bjcA8BW131X/AFHUerVY28n1P1Jw81/9A==",
+ "dev": true,
+ "dependencies": {
+ "yargs": "17.7.2"
+ },
+ "bin": {
+ "dot-wasm": "bin/dot-wasm.js"
+ }
+ },
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@humanwhocodes/retry": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz",
+ "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18.18"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@inquirer/checkbox": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-3.0.1.tgz",
+ "integrity": "sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/core": "^9.2.1",
+ "@inquirer/figures": "^1.0.6",
+ "@inquirer/type": "^2.0.0",
+ "ansi-escapes": "^4.3.2",
+ "yoctocolors-cjs": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@inquirer/confirm": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-4.0.1.tgz",
+ "integrity": "sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/core": "^9.2.1",
+ "@inquirer/type": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@inquirer/core": {
+ "version": "9.2.1",
+ "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz",
+ "integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/figures": "^1.0.6",
+ "@inquirer/type": "^2.0.0",
+ "@types/mute-stream": "^0.0.4",
+ "@types/node": "^22.5.5",
+ "@types/wrap-ansi": "^3.0.0",
+ "ansi-escapes": "^4.3.2",
+ "cli-width": "^4.1.0",
+ "mute-stream": "^1.0.0",
+ "signal-exit": "^4.1.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^6.2.0",
+ "yoctocolors-cjs": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@inquirer/core/node_modules/@types/node": {
+ "version": "22.5.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.5.tgz",
+ "integrity": "sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~6.19.2"
+ }
+ },
+ "node_modules/@inquirer/core/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@inquirer/core/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@inquirer/core/node_modules/undici-types": {
+ "version": "6.19.8",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
+ "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@inquirer/core/node_modules/wrap-ansi": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@inquirer/editor": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-3.0.1.tgz",
+ "integrity": "sha512-VA96GPFaSOVudjKFraokEEmUQg/Lub6OXvbIEZU1SDCmBzRkHGhxoFAVaF30nyiB4m5cEbDgiI2QRacXZ2hw9Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/core": "^9.2.1",
+ "@inquirer/type": "^2.0.0",
+ "external-editor": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@inquirer/expand": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-3.0.1.tgz",
+ "integrity": "sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/core": "^9.2.1",
+ "@inquirer/type": "^2.0.0",
+ "yoctocolors-cjs": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@inquirer/figures": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.6.tgz",
+ "integrity": "sha512-yfZzps3Cso2UbM7WlxKwZQh2Hs6plrbjs1QnzQDZhK2DgyCo6D8AaHps9olkNcUFlcYERMqU3uJSp1gmy3s/qQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@inquirer/input": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-3.0.1.tgz",
+ "integrity": "sha512-BDuPBmpvi8eMCxqC5iacloWqv+5tQSJlUafYWUe31ow1BVXjW2a5qe3dh4X/Z25Wp22RwvcaLCc2siHobEOfzg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/core": "^9.2.1",
+ "@inquirer/type": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@inquirer/number": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-2.0.1.tgz",
+ "integrity": "sha512-QpR8jPhRjSmlr/mD2cw3IR8HRO7lSVOnqUvQa8scv1Lsr3xoAMMworcYW3J13z3ppjBFBD2ef1Ci6AE5Qn8goQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/core": "^9.2.1",
+ "@inquirer/type": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@inquirer/password": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-3.0.1.tgz",
+ "integrity": "sha512-haoeEPUisD1NeE2IanLOiFr4wcTXGWrBOyAyPZi1FfLJuXOzNmxCJPgUrGYKVh+Y8hfGJenIfz5Wb/DkE9KkMQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/core": "^9.2.1",
+ "@inquirer/type": "^2.0.0",
+ "ansi-escapes": "^4.3.2"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@inquirer/prompts": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-6.0.1.tgz",
+ "integrity": "sha512-yl43JD/86CIj3Mz5mvvLJqAOfIup7ncxfJ0Btnl0/v5TouVUyeEdcpknfgc+yMevS/48oH9WAkkw93m7otLb/A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/checkbox": "^3.0.1",
+ "@inquirer/confirm": "^4.0.1",
+ "@inquirer/editor": "^3.0.1",
+ "@inquirer/expand": "^3.0.1",
+ "@inquirer/input": "^3.0.1",
+ "@inquirer/number": "^2.0.1",
+ "@inquirer/password": "^3.0.1",
+ "@inquirer/rawlist": "^3.0.1",
+ "@inquirer/search": "^2.0.1",
+ "@inquirer/select": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@inquirer/rawlist": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-3.0.1.tgz",
+ "integrity": "sha512-VgRtFIwZInUzTiPLSfDXK5jLrnpkuSOh1ctfaoygKAdPqjcjKYmGh6sCY1pb0aGnCGsmhUxoqLDUAU0ud+lGXQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/core": "^9.2.1",
+ "@inquirer/type": "^2.0.0",
+ "yoctocolors-cjs": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@inquirer/search": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-2.0.1.tgz",
+ "integrity": "sha512-r5hBKZk3g5MkIzLVoSgE4evypGqtOannnB3PKTG9NRZxyFRKcfzrdxXXPcoJQsxJPzvdSU2Rn7pB7lw0GCmGAg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/core": "^9.2.1",
+ "@inquirer/figures": "^1.0.6",
+ "@inquirer/type": "^2.0.0",
+ "yoctocolors-cjs": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@inquirer/select": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-3.0.1.tgz",
+ "integrity": "sha512-lUDGUxPhdWMkN/fHy1Lk7pF3nK1fh/gqeyWXmctefhxLYxlDsc7vsPBEpxrfVGDsVdyYJsiJoD4bJ1b623cV1Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/core": "^9.2.1",
+ "@inquirer/figures": "^1.0.6",
+ "@inquirer/type": "^2.0.0",
+ "ansi-escapes": "^4.3.2",
+ "yoctocolors-cjs": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@inquirer/type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz",
+ "integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mute-stream": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@isaacs/cliui": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/@istanbuljs/schema": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
+ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
+ "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
+ "dev": true
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@material/material-color-utilities": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/@material/material-color-utilities/-/material-color-utilities-0.2.7.tgz",
+ "integrity": "sha512-0FCeqG6WvK4/Cc06F/xXMd/pv4FeisI0c1tUpBbfhA2n9Y8eZEv4Karjbmf2ZqQCPUWMrGp8A571tCjizxoTiQ==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@mswjs/interceptors": {
+ "version": "0.35.8",
+ "resolved": "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.35.8.tgz",
+ "integrity": "sha512-PFfqpHplKa7KMdoQdj5td03uG05VK2Ng1dG0sP4pT9h0dGSX2v9txYt/AnrzPb/vAmfyBBC0NQV7VaBEX+efgQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@open-draft/deferred-promise": "^2.2.0",
+ "@open-draft/logger": "^0.3.0",
+ "@open-draft/until": "^2.0.0",
+ "is-node-process": "^1.2.0",
+ "outvariant": "^1.4.3",
+ "strict-event-emitter": "^0.5.1"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@open-draft/deferred-promise": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz",
+ "integrity": "sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@open-draft/logger": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@open-draft/logger/-/logger-0.3.0.tgz",
+ "integrity": "sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-node-process": "^1.2.0",
+ "outvariant": "^1.4.0"
+ }
+ },
+ "node_modules/@open-draft/until": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz",
+ "integrity": "sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz",
+ "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz",
+ "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz",
+ "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz",
+ "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz",
+ "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz",
+ "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz",
+ "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz",
+ "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz",
+ "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz",
+ "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz",
+ "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz",
+ "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz",
+ "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz",
+ "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz",
+ "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz",
+ "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@shikijs/core": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.12.0.tgz",
+ "integrity": "sha512-mc1cLbm6UQ8RxLc0dZES7v5rkH+99LxQp/ZvTqV3NLyYsO/fD6JhEflP1H5b2SDq9gI0+0G36AVZWxvounfR9w==",
+ "dev": true,
+ "dependencies": {
+ "@types/hast": "^3.0.4"
+ }
+ },
+ "node_modules/@stylistic/eslint-plugin-js": {
+ "version": "2.6.0-beta.0",
+ "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-2.6.0-beta.0.tgz",
+ "integrity": "sha512-KQiNvzNzvl9AmMs1MiIBszLIy/Xy1bTExnyaVy5dSzOF9c+yT64JQfH0p0jP6XpGwoCnZsrPUNflwP30G42QBQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/eslint": "^8.56.10",
+ "acorn": "^8.12.0",
+ "eslint-visitor-keys": "^4.0.0",
+ "espree": "^10.1.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "peerDependencies": {
+ "eslint": ">=8.40.0"
+ }
+ },
+ "node_modules/@stylistic/eslint-plugin-js/node_modules/eslint-visitor-keys": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
+ "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@stylistic/eslint-plugin-ts": {
+ "version": "2.6.0-beta.0",
+ "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-ts/-/eslint-plugin-ts-2.6.0-beta.0.tgz",
+ "integrity": "sha512-WMz1zgmMC3bvg1L/tiYt5ygvDbTDKlbezoHoX2lV9MnUCAEQZUP4xJ9Wj3jmIKxb4mUuK5+vFZJVcOygvbbqow==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@stylistic/eslint-plugin-js": "2.6.0-beta.0",
+ "@types/eslint": "^8.56.10",
+ "@typescript-eslint/utils": "^8.0.0-alpha.34"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "peerDependencies": {
+ "eslint": ">=8.40.0"
+ }
+ },
+ "node_modules/@types/cookie": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
+ "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/eslint": {
+ "version": "8.56.11",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.11.tgz",
+ "integrity": "sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "*",
+ "@types/json-schema": "*"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/hast": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
+ "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/unist": "*"
+ }
+ },
+ "node_modules/@types/jsdom": {
+ "version": "21.1.7",
+ "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz",
+ "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "@types/tough-cookie": "*",
+ "parse5": "^7.0.0"
+ }
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/mute-stream": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz",
+ "integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/node": {
+ "version": "20.14.11",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz",
+ "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==",
+ "dev": true,
+ "dependencies": {
+ "undici-types": "~5.26.4"
+ }
+ },
+ "node_modules/@types/statuses": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@types/statuses/-/statuses-2.0.5.tgz",
+ "integrity": "sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/tough-cookie": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz",
+ "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/unist": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz",
+ "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==",
+ "dev": true
+ },
+ "node_modules/@types/wrap-ansi": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz",
+ "integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "8.0.0-alpha.58",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.0.0-alpha.58.tgz",
+ "integrity": "sha512-5G9oIj8jvosj8RTa0VDFXvRmUg1U6FxXJu7ZEfyJYMvFkdMJoY5YnzFvgAvHbYsXOj+YgXZu81fNOTRWQzwk5A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.10.0",
+ "@typescript-eslint/scope-manager": "8.0.0-alpha.58",
+ "@typescript-eslint/type-utils": "8.0.0-alpha.58",
+ "@typescript-eslint/utils": "8.0.0-alpha.58",
+ "@typescript-eslint/visitor-keys": "8.0.0-alpha.58",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.3.1",
+ "natural-compare": "^1.4.0",
+ "ts-api-utils": "^1.3.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0",
+ "eslint": "^8.57.0 || ^9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "8.0.0-alpha.58",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.0.0-alpha.58.tgz",
+ "integrity": "sha512-/RpgxIejBui6WXJgV9ukwzxmvbZt5TlfHUGGLB/BsNLj+NRZEbXVtWT9rKuxVOqsGb1Dn9c5gxvBI/XzyuIsMQ==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "8.0.0-alpha.58",
+ "@typescript-eslint/types": "8.0.0-alpha.58",
+ "@typescript-eslint/typescript-estree": "8.0.0-alpha.58",
+ "@typescript-eslint/visitor-keys": "8.0.0-alpha.58",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "8.0.0-alpha.58",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.0.0-alpha.58.tgz",
+ "integrity": "sha512-bGgJXn8B3Pf3mzEOUQTPxEqhux54MOJSqw4HcgBReuP7dudz/hsN4TH9GqHbMXkFv8N4Ed1iqVRfgGeC8b1mGw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "8.0.0-alpha.58",
+ "@typescript-eslint/visitor-keys": "8.0.0-alpha.58"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "8.0.0-alpha.58",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.0.0-alpha.58.tgz",
+ "integrity": "sha512-spW/I/UAY6HM0lKj+/333Zb9arOvUoi8+H0cVNYHELPhOti9re9NjyyJFhck84PNiwi8WmpkEf3GXe7/h+Cquw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/typescript-estree": "8.0.0-alpha.58",
+ "@typescript-eslint/utils": "8.0.0-alpha.58",
+ "debug": "^4.3.4",
+ "ts-api-utils": "^1.3.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "8.0.0-alpha.58",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.0.0-alpha.58.tgz",
+ "integrity": "sha512-6+jM4y31a6pwKeV3MVQuVXPZl6d3I1ySMvP5WjZdZ+n57uovMvasZ3ZJstXngoRpa7JtkjVZ7NrMhQ1J8dxKCQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "8.0.0-alpha.58",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.0.0-alpha.58.tgz",
+ "integrity": "sha512-hm4nsoJnQcA7axMopUJrH7CD0MJhAMtE2zQt65uMFCy+U2YDdKPwE0g6qEAUBoKn6UBLQJWthJgUmwDbWrnwZg==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/types": "8.0.0-alpha.58",
+ "@typescript-eslint/visitor-keys": "8.0.0-alpha.58",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "minimatch": "^9.0.4",
+ "semver": "^7.6.0",
+ "ts-api-utils": "^1.3.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/utils": {
+ "version": "8.0.0-alpha.58",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.0.0-alpha.58.tgz",
+ "integrity": "sha512-lZuGnpK23jr3huebgY4/qqrOKsWJ8dX0Q1Fo4oVYcyAy+sK6p+6nObK4VEPJG098gUmrriiavRiDKIhPDFm4Ig==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@typescript-eslint/scope-manager": "8.0.0-alpha.58",
+ "@typescript-eslint/types": "8.0.0-alpha.58",
+ "@typescript-eslint/typescript-estree": "8.0.0-alpha.58"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "8.0.0-alpha.58",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.0.0-alpha.58.tgz",
+ "integrity": "sha512-V//E9PRY2216kh9fN/ihRvTtjpobAXEtmrsr3utlVUwHa2iklcofq1J12yl3KOjx9QBRfBrtfQnYaeruF7L0Fw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "8.0.0-alpha.58",
+ "eslint-visitor-keys": "^3.4.3"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@vitest/coverage-istanbul": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/@vitest/coverage-istanbul/-/coverage-istanbul-2.1.9.tgz",
+ "integrity": "sha512-vdYE4FkC/y2lxcN3Dcj54Bw+ericmDwiex0B8LV5F/YNYEYP1mgVwhPnHwWGAXu38qizkjOuyczKbFTALfzFKw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@istanbuljs/schema": "^0.1.3",
+ "debug": "^4.3.7",
+ "istanbul-lib-coverage": "^3.2.2",
+ "istanbul-lib-instrument": "^6.0.3",
+ "istanbul-lib-report": "^3.0.1",
+ "istanbul-lib-source-maps": "^5.0.6",
+ "istanbul-reports": "^3.1.7",
+ "magicast": "^0.3.5",
+ "test-exclude": "^7.0.1",
+ "tinyrainbow": "^1.2.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ },
+ "peerDependencies": {
+ "vitest": "2.1.9"
+ }
+ },
+ "node_modules/@vitest/expect": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.9.tgz",
+ "integrity": "sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/spy": "2.1.9",
+ "@vitest/utils": "2.1.9",
+ "chai": "^5.1.2",
+ "tinyrainbow": "^1.2.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/mocker": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.9.tgz",
+ "integrity": "sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/spy": "2.1.9",
+ "estree-walker": "^3.0.3",
+ "magic-string": "^0.30.12"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ },
+ "peerDependencies": {
+ "msw": "^2.4.9",
+ "vite": "^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "msw": {
+ "optional": true
+ },
+ "vite": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vitest/pretty-format": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.9.tgz",
+ "integrity": "sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tinyrainbow": "^1.2.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/runner": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.9.tgz",
+ "integrity": "sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/utils": "2.1.9",
+ "pathe": "^1.1.2"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/snapshot": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.9.tgz",
+ "integrity": "sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/pretty-format": "2.1.9",
+ "magic-string": "^0.30.12",
+ "pathe": "^1.1.2"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/spy": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.9.tgz",
+ "integrity": "sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tinyspy": "^3.0.2"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/@vitest/utils": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.9.tgz",
+ "integrity": "sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/pretty-format": "2.1.9",
+ "loupe": "^3.1.2",
+ "tinyrainbow": "^1.2.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.12.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
+ "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/acorn-jsx-walk": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-jsx-walk/-/acorn-jsx-walk-2.0.0.tgz",
+ "integrity": "sha512-uuo6iJj4D4ygkdzd6jPtcxs8vZgDX9YFIkqczGImoypX2fQ4dVImmu3UzA4ynixCIMTrEOWW+95M2HuBaCEOVA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/acorn-loose": {
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/acorn-loose/-/acorn-loose-8.4.0.tgz",
+ "integrity": "sha512-M0EUka6rb+QC4l9Z3T0nJEzNOO7JcoJlYMrBlyBCiFSXRyxjLKayd4TbQs2FDRWQU1h9FR7QVNHt+PEaoNL5rQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.11.0"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-walk": {
+ "version": "8.3.3",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz",
+ "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^8.11.0"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/agent-base": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "8.17.1",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
+ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3",
+ "fast-uri": "^3.0.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ansi-escapes": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+ "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^0.21.3"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "license": "Python-2.0"
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/assertion-error": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz",
+ "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
+ "dev": true,
+ "dependencies": {
+ "possible-typed-array-names": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.23.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz",
+ "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001640",
+ "electron-to-chromium": "^1.4.820",
+ "node-releases": "^2.0.14",
+ "update-browserslist-db": "^1.1.0"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/cac": {
+ "version": "6.7.14",
+ "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz",
+ "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
+ "license": "MIT",
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001642",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001642.tgz",
+ "integrity": "sha512-3XQ0DoRgLijXJErLSl+bLnJ+Et4KqV1PY6JJBGAFlsNsz31zeAIncyeZfLCabHK/jtSh+671RM9YMldxjUPZtA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
+ "node_modules/chai": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.2.tgz",
+ "integrity": "sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "assertion-error": "^2.0.1",
+ "check-error": "^2.1.1",
+ "deep-eql": "^5.0.1",
+ "loupe": "^3.1.0",
+ "pathval": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chardet": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/check-error": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz",
+ "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16"
+ }
+ },
+ "node_modules/cli-width": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
+ "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/cliui/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cliui/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cliui/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/commander": {
+ "version": "12.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
+ "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cookie": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
+ "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
+ },
+ "node_modules/cross-fetch": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
+ "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
+ "license": "MIT",
+ "dependencies": {
+ "node-fetch": "^2.6.12"
+ }
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/crypto-js": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
+ "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==",
+ "license": "MIT"
+ },
+ "node_modules/cssfontparser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/cssfontparser/-/cssfontparser-1.2.1.tgz",
+ "integrity": "sha512-6tun4LoZnj7VN6YeegOVb67KBX/7JJsqvj+pv3ZA7F878/eN33AbGa5b/S/wXxS/tcp8nc40xRUrsPlxIyNUPg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cssstyle": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.0.1.tgz",
+ "integrity": "sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "rrweb-cssom": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/cssstyle/node_modules/rrweb-cssom": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz",
+ "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==",
+ "dev": true
+ },
+ "node_modules/data-urls": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz",
+ "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "whatwg-mimetype": "^4.0.0",
+ "whatwg-url": "^14.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+ "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decimal.js": {
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz",
+ "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/deep-eql": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz",
+ "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/define-data-property": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "license": "MIT",
+ "dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/dependency-cruiser": {
+ "version": "16.3.10",
+ "resolved": "https://registry.npmjs.org/dependency-cruiser/-/dependency-cruiser-16.3.10.tgz",
+ "integrity": "sha512-WkCnibHBfvaiaQ+S46LZ6h4AR6oj42Vsf5/0Vgtrwdwn7ZekMJdZ/ALoTwNp/RaGlKW+MbV/fhSZOvmhAWVWzQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "8.12.1",
+ "acorn-jsx": "5.3.2",
+ "acorn-jsx-walk": "2.0.0",
+ "acorn-loose": "8.4.0",
+ "acorn-walk": "8.3.3",
+ "ajv": "8.17.1",
+ "commander": "12.1.0",
+ "enhanced-resolve": "5.17.1",
+ "ignore": "5.3.1",
+ "interpret": "^3.1.1",
+ "is-installed-globally": "1.0.0",
+ "json5": "2.2.3",
+ "memoize": "10.0.0",
+ "picocolors": "1.0.1",
+ "picomatch": "4.0.2",
+ "prompts": "2.4.2",
+ "rechoir": "^0.8.0",
+ "safe-regex": "2.1.1",
+ "semver": "^7.6.3",
+ "teamcity-service-messages": "0.1.14",
+ "tsconfig-paths-webpack-plugin": "4.1.0",
+ "watskeburt": "4.1.0"
+ },
+ "bin": {
+ "depcruise": "bin/dependency-cruise.mjs",
+ "depcruise-baseline": "bin/depcruise-baseline.mjs",
+ "depcruise-fmt": "bin/depcruise-fmt.mjs",
+ "depcruise-wrap-stream-in-html": "bin/wrap-stream-in-html.mjs",
+ "dependency-cruise": "bin/dependency-cruise.mjs",
+ "dependency-cruiser": "bin/dependency-cruise.mjs"
+ },
+ "engines": {
+ "node": "^18.17||>=20"
+ }
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.4.830",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.830.tgz",
+ "integrity": "sha512-TrPKKH20HeN0J1LHzsYLs2qwXrp8TF4nHdu4sq61ozGbzMpWhI7iIOPYPPkxeq1azMT9PZ8enPFcftbs/Npcjg==",
+ "dev": true
+ },
+ "node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/enhanced-resolve": {
+ "version": "5.17.1",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
+ "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/es-define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "license": "MIT",
+ "dependencies": {
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-module-lexer": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz",
+ "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/esbuild": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
+ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.21.5",
+ "@esbuild/android-arm": "0.21.5",
+ "@esbuild/android-arm64": "0.21.5",
+ "@esbuild/android-x64": "0.21.5",
+ "@esbuild/darwin-arm64": "0.21.5",
+ "@esbuild/darwin-x64": "0.21.5",
+ "@esbuild/freebsd-arm64": "0.21.5",
+ "@esbuild/freebsd-x64": "0.21.5",
+ "@esbuild/linux-arm": "0.21.5",
+ "@esbuild/linux-arm64": "0.21.5",
+ "@esbuild/linux-ia32": "0.21.5",
+ "@esbuild/linux-loong64": "0.21.5",
+ "@esbuild/linux-mips64el": "0.21.5",
+ "@esbuild/linux-ppc64": "0.21.5",
+ "@esbuild/linux-riscv64": "0.21.5",
+ "@esbuild/linux-s390x": "0.21.5",
+ "@esbuild/linux-x64": "0.21.5",
+ "@esbuild/netbsd-x64": "0.21.5",
+ "@esbuild/openbsd-x64": "0.21.5",
+ "@esbuild/sunos-x64": "0.21.5",
+ "@esbuild/win32-arm64": "0.21.5",
+ "@esbuild/win32-ia32": "0.21.5",
+ "@esbuild/win32-x64": "0.21.5"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
+ "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "9.7.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.7.0.tgz",
+ "integrity": "sha512-FzJ9D/0nGiCGBf8UXO/IGLTgLVzIxze1zpfA8Ton2mjLovXdAPlYDv+MQDcqj3TmrhAGYfOpz9RfR+ent0AgAw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.11.0",
+ "@eslint/config-array": "^0.17.0",
+ "@eslint/eslintrc": "^3.1.0",
+ "@eslint/js": "9.7.0",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@humanwhocodes/retry": "^0.3.0",
+ "@nodelib/fs.walk": "^1.2.8",
+ "ajv": "^6.12.4",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^8.0.2",
+ "eslint-visitor-keys": "^4.0.0",
+ "espree": "^10.1.0",
+ "esquery": "^1.5.0",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^8.0.0",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "ignore": "^5.2.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "is-path-inside": "^3.0.3",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.3",
+ "strip-ansi": "^6.0.1",
+ "text-table": "^0.2.0"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-import-resolver-node": {
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
+ "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^3.2.7",
+ "is-core-module": "^2.13.0",
+ "resolve": "^1.22.4"
+ }
+ },
+ "node_modules/eslint-import-resolver-node/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/eslint-plugin-import-x": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import-x/-/eslint-plugin-import-x-4.2.1.tgz",
+ "integrity": "sha512-WWi2GedccIJa0zXxx3WDnTgouGQTtdYK1nhXMwywbqqAgB0Ov+p1pYBsWh3VaB0bvBOwLse6OfVII7jZD9xo5Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/utils": "^8.1.0",
+ "debug": "^4.3.4",
+ "doctrine": "^3.0.0",
+ "eslint-import-resolver-node": "^0.3.9",
+ "get-tsconfig": "^4.7.3",
+ "is-glob": "^4.0.3",
+ "minimatch": "^9.0.3",
+ "semver": "^7.6.3",
+ "stable-hash": "^0.0.4",
+ "tslib": "^2.6.3"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-import-x/node_modules/@typescript-eslint/scope-manager": {
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.5.0.tgz",
+ "integrity": "sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "8.5.0",
+ "@typescript-eslint/visitor-keys": "8.5.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/eslint-plugin-import-x/node_modules/@typescript-eslint/types": {
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.5.0.tgz",
+ "integrity": "sha512-qjkormnQS5wF9pjSi6q60bKUHH44j2APxfh9TQRXK8wbYVeDYYdYJGIROL87LGZZ2gz3Rbmjc736qyL8deVtdw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/eslint-plugin-import-x/node_modules/@typescript-eslint/typescript-estree": {
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.5.0.tgz",
+ "integrity": "sha512-vEG2Sf9P8BPQ+d0pxdfndw3xIXaoSjliG0/Ejk7UggByZPKXmJmw3GW5jV2gHNQNawBUyfahoSiCFVov0Ruf7Q==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/types": "8.5.0",
+ "@typescript-eslint/visitor-keys": "8.5.0",
+ "debug": "^4.3.4",
+ "fast-glob": "^3.3.2",
+ "is-glob": "^4.0.3",
+ "minimatch": "^9.0.4",
+ "semver": "^7.6.0",
+ "ts-api-utils": "^1.3.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-plugin-import-x/node_modules/@typescript-eslint/utils": {
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.5.0.tgz",
+ "integrity": "sha512-6yyGYVL0e+VzGYp60wvkBHiqDWOpT63pdMV2CVG4LVDd5uR6q1qQN/7LafBZtAtNIn/mqXjsSeS5ggv/P0iECw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@typescript-eslint/scope-manager": "8.5.0",
+ "@typescript-eslint/types": "8.5.0",
+ "@typescript-eslint/typescript-estree": "8.5.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.57.0 || ^9.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-import-x/node_modules/@typescript-eslint/visitor-keys": {
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.5.0.tgz",
+ "integrity": "sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "8.5.0",
+ "eslint-visitor-keys": "^3.4.3"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz",
+ "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint/node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/eslint/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/eslint/node_modules/eslint-visitor-keys": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
+ "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint/node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "node_modules/eslint/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/espree": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz",
+ "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "acorn": "^8.12.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^4.0.0"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/espree/node_modules/eslint-visitor-keys": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
+ "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
+ "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estree-walker": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0"
+ }
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/eventemitter3": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
+ "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==",
+ "license": "MIT"
+ },
+ "node_modules/expect-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.1.0.tgz",
+ "integrity": "sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/external-editor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
+ "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
+ "tmp": "^0.0.33"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fast-glob/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-uri": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz",
+ "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==",
+ "dev": true
+ },
+ "node_modules/fastq": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
+ "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "flat-cache": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
+ "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.4"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
+ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/foreground-child": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz",
+ "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "cross-spawn": "^7.0.0",
+ "signal-exit": "^4.0.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
+ "license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-tsconfig": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.0.tgz",
+ "integrity": "sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "resolve-pkg-maps": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/global-directory": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz",
+ "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ini": "4.1.1"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globals": {
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+ "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globrex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
+ "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+ "license": "MIT",
+ "dependencies": {
+ "get-intrinsic": "^1.1.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/graphemer": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
+ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/graphql": {
+ "version": "16.9.0",
+ "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.9.0.tgz",
+ "integrity": "sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "license": "MIT",
+ "dependencies": {
+ "es-define-property": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-proto": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/headers-polyfill": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/headers-polyfill/-/headers-polyfill-4.0.3.tgz",
+ "integrity": "sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/html-encoding-sniffer": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz",
+ "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "whatwg-encoding": "^3.1.1"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/html-escaper": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/http-proxy-agent": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "7.0.5",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz",
+ "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/i18next": {
+ "version": "23.12.2",
+ "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.12.2.tgz",
+ "integrity": "sha512-XIeh5V+bi8SJSWGL3jqbTEBW5oD6rbP5L+E7dVQh1MNTxxYef0x15rhJVcRb7oiuq4jLtgy2SD8eFlf6P2cmqg==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://locize.com"
+ },
+ {
+ "type": "individual",
+ "url": "https://locize.com/i18next.html"
+ },
+ {
+ "type": "individual",
+ "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.23.2"
+ }
+ },
+ "node_modules/i18next-browser-languagedetector": {
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.2.1.tgz",
+ "integrity": "sha512-h/pM34bcH6tbz8WgGXcmWauNpQupCGr25XPp9cZwZInR9XHSjIFDYp1SIok7zSPsTOMxdvuLyu86V+g2Kycnfw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.23.2"
+ }
+ },
+ "node_modules/i18next-http-backend": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.6.1.tgz",
+ "integrity": "sha512-rCilMAnlEQNeKOZY1+x8wLM5IpYOj10guGvEpeC59tNjj6MMreLIjIW8D1RclhD3ifLwn6d/Y9HEM1RUE6DSog==",
+ "license": "MIT",
+ "dependencies": {
+ "cross-fetch": "4.0.0"
+ }
+ },
+ "node_modules/i18next-korean-postposition-processor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/i18next-korean-postposition-processor/-/i18next-korean-postposition-processor-1.0.0.tgz",
+ "integrity": "sha512-ruNXjI9awsFK6Ie+F9gYaMW8ciLMuCkeRjH9QkSv2Wb8xI0mnm773v3M9eua8dtvAXudIUk4p6Ho7hNkEASXDg==",
+ "license": "MIT",
+ "peerDependencies": {
+ "i18next": ">=8.4.0"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ignore": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
+ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/immediate": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
+ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "node_modules/ini": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz",
+ "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/inquirer": {
+ "version": "11.0.2",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-11.0.2.tgz",
+ "integrity": "sha512-pnbn3nL+JFrTw/pLhzyE/IQ3+gA3n5JxTAZQDjB6qu4gbjOaiTnpZbxT6HY2DDCT7bzDjTTsd3snRP+B6N//Pg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/core": "^9.2.1",
+ "@inquirer/prompts": "^6.0.1",
+ "@inquirer/type": "^2.0.0",
+ "@types/mute-stream": "^0.0.4",
+ "ansi-escapes": "^4.3.2",
+ "mute-stream": "^1.0.0",
+ "run-async": "^3.0.0",
+ "rxjs": "^7.8.1"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/interpret": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
+ "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.15.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz",
+ "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==",
+ "dev": true,
+ "dependencies": {
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-installed-globally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-1.0.0.tgz",
+ "integrity": "sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "global-directory": "^4.0.1",
+ "is-path-inside": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-installed-globally/node_modules/is-path-inside": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz",
+ "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-node-process": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/is-node-process/-/is-node-process-1.2.0.tgz",
+ "integrity": "sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-path-inside": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-potential-custom-element-name": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
+ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+ "license": "MIT"
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/istanbul-lib-coverage": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
+ "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-instrument": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz",
+ "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@babel/core": "^7.23.9",
+ "@babel/parser": "^7.23.9",
+ "@istanbuljs/schema": "^0.1.3",
+ "istanbul-lib-coverage": "^3.2.0",
+ "semver": "^7.5.4"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/istanbul-lib-report": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
+ "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^4.0.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/istanbul-lib-source-maps": {
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz",
+ "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.23",
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/istanbul-reports": {
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz",
+ "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jackspeak": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
+ "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/cliui": "^8.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ },
+ "optionalDependencies": {
+ "@pkgjs/parseargs": "^0.11.0"
+ }
+ },
+ "node_modules/jest-canvas-mock": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jest-canvas-mock/-/jest-canvas-mock-2.5.2.tgz",
+ "integrity": "sha512-vgnpPupjOL6+L5oJXzxTxFrlGEIbHdZqFU+LFNdtLxZ3lRDCl17FlTMM7IatoRQkrcyOTMlDinjUguqmQ6bR2A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cssfontparser": "^1.2.1",
+ "moo-color": "^1.0.2"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsdom": {
+ "version": "24.1.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.1.0.tgz",
+ "integrity": "sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cssstyle": "^4.0.1",
+ "data-urls": "^5.0.0",
+ "decimal.js": "^10.4.3",
+ "form-data": "^4.0.0",
+ "html-encoding-sniffer": "^4.0.0",
+ "http-proxy-agent": "^7.0.2",
+ "https-proxy-agent": "^7.0.4",
+ "is-potential-custom-element-name": "^1.0.1",
+ "nwsapi": "^2.2.10",
+ "parse5": "^7.1.2",
+ "rrweb-cssom": "^0.7.0",
+ "saxes": "^6.0.0",
+ "symbol-tree": "^3.2.4",
+ "tough-cookie": "^4.1.4",
+ "w3c-xmlserializer": "^5.0.0",
+ "webidl-conversions": "^7.0.0",
+ "whatwg-encoding": "^3.1.1",
+ "whatwg-mimetype": "^4.0.0",
+ "whatwg-url": "^14.0.0",
+ "ws": "^8.17.0",
+ "xml-name-validator": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "canvas": "^2.11.2"
+ },
+ "peerDependenciesMeta": {
+ "canvas": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ },
+ "node_modules/json-stable-stringify": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz",
+ "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==",
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "isarray": "^2.0.5",
+ "jsonify": "^0.0.1",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsonify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz",
+ "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==",
+ "license": "Public Domain",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/jszip": {
+ "version": "3.10.1",
+ "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz",
+ "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==",
+ "dependencies": {
+ "lie": "~3.3.0",
+ "pako": "~1.0.2",
+ "readable-stream": "~2.3.6",
+ "setimmediate": "^1.0.5"
+ }
+ },
+ "node_modules/keyv": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
+ "node_modules/kleur": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
+ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/lefthook": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.7.4.tgz",
+ "integrity": "sha512-lVv3nKH9l3KMDS3bySROvWJSw1+AsBHUO7xaA0rg1IEBZrj3+ePmM+a8elX+GU3Go1OzsZEYjo5AOOeLoZ7FQg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "lefthook": "bin/index.js"
+ },
+ "optionalDependencies": {
+ "lefthook-darwin-arm64": "1.7.4",
+ "lefthook-darwin-x64": "1.7.4",
+ "lefthook-freebsd-arm64": "1.7.4",
+ "lefthook-freebsd-x64": "1.7.4",
+ "lefthook-linux-arm64": "1.7.4",
+ "lefthook-linux-x64": "1.7.4",
+ "lefthook-windows-arm64": "1.7.4",
+ "lefthook-windows-x64": "1.7.4"
+ }
+ },
+ "node_modules/lefthook-darwin-arm64": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.7.4.tgz",
+ "integrity": "sha512-6XpenaP0W7ZYA3lhHey/C1U+KmYz6eCq2cGswQsrTX+xdtHdWW3NbbOKngxATRTF8+CtF6m9UB2afP7qqkCghQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/lefthook-darwin-x64": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-1.7.4.tgz",
+ "integrity": "sha512-lpQXbPMHiaWE7+9fV+spjuMKiZ3J/+oI6hY1/l48MO3LmSpIv6DNy0VHho1fZVQnHdBU4bDh5c1G0r1f5T0irg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/lefthook-freebsd-arm64": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.7.4.tgz",
+ "integrity": "sha512-wv+JZgkD1/wi4X5aKKNodvxNcFcYmvL7uyzKkbtd/LgX5ssh9r5pO9J/71ULGtEuTXH4kqORRtez7u/ygqMEew==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/lefthook-freebsd-x64": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.7.4.tgz",
+ "integrity": "sha512-xoYR0Ay8pbyY9W9mI+iI9VDkkCVYSXhMf9XyOChSlu2XmjKiqi23hjCXvSOpvHQ7jphGvAVpE3Byijr6Xjuihw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/lefthook-linux-arm64": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-1.7.4.tgz",
+ "integrity": "sha512-WvXWzSM/e08n2f5lcC8j+pUMS0RzZftJK4zuBQ36TstSYXfBjWiw+FMnKCVZk6Q8Zc0icyF8sTmKQAyKCgX+UA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/lefthook-linux-x64": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.7.4.tgz",
+ "integrity": "sha512-eR5NxGzqPJm3wDTm4HStwGxOZ8Omb0ooodyuQdEOxtYidLrd4U18N14huwCEFd3BAOrjIWYV8plH+ReTZE56eg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/lefthook-windows-arm64": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-1.7.4.tgz",
+ "integrity": "sha512-C+MdHH+0ylermetMHwfHsYYNI5HI6QEOx7N4Iw4Ea6c3Yuj3eG3LsAzrhsup7KLSSBmDgIHOCJUx/Mfh2z+ATw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/lefthook-windows-x64": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-1.7.4.tgz",
+ "integrity": "sha512-BDQhiRzmMYPFQFtVtkRfUfeZuSlemG1oJfGKYXlCGFskvK9Jm1nGFnG0Ig63FAQaFdW33DFoLdr9ZKFTUQeSwQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/lie": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
+ "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
+ "dependencies": {
+ "immediate": "~3.0.5"
+ }
+ },
+ "node_modules/linkify-it": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
+ "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
+ "dev": true,
+ "dependencies": {
+ "uc.micro": "^2.0.0"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/loupe": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.3.tgz",
+ "integrity": "sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/lunr": {
+ "version": "2.3.9",
+ "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
+ "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/magic-string": {
+ "version": "0.30.17",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz",
+ "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0"
+ }
+ },
+ "node_modules/magicast": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.5.tgz",
+ "integrity": "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.25.4",
+ "@babel/types": "^7.25.4",
+ "source-map-js": "^1.2.0"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
+ "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "semver": "^7.5.3"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/markdown-it": {
+ "version": "14.1.0",
+ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
+ "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1",
+ "entities": "^4.4.0",
+ "linkify-it": "^5.0.0",
+ "mdurl": "^2.0.0",
+ "punycode.js": "^2.3.1",
+ "uc.micro": "^2.1.0"
+ },
+ "bin": {
+ "markdown-it": "bin/markdown-it.mjs"
+ }
+ },
+ "node_modules/mdurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
+ "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
+ "dev": true
+ },
+ "node_modules/memoize": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/memoize/-/memoize-10.0.0.tgz",
+ "integrity": "sha512-H6cBLgsi6vMWOcCpvVCdFFnl3kerEXbrYh9q+lY6VXvQSmM6CkmV08VOwT+WE2tzIEqRPFfAq3fm4v/UIW6mSA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mimic-function": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/memoize?sponsor=1"
+ }
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
+ "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/micromatch/node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mimic-function": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
+ "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "node_modules/moo-color": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/moo-color/-/moo-color-1.0.3.tgz",
+ "integrity": "sha512-i/+ZKXMDf6aqYtBhuOcej71YSlbjT3wCO/4H1j8rPvxDJEifdwgg5MaFyu6iYAT8GBZJg2z0dkgK4YMzvURALQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "^1.1.4"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/msw": {
+ "version": "2.4.9",
+ "resolved": "https://registry.npmjs.org/msw/-/msw-2.4.9.tgz",
+ "integrity": "sha512-1m8xccT6ipN4PTqLinPwmzhxQREuxaEJYdx4nIbggxP8aM7r1e71vE7RtOUSQoAm1LydjGfZKy7370XD/tsuYg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "@bundled-es-modules/cookie": "^2.0.0",
+ "@bundled-es-modules/statuses": "^1.0.1",
+ "@bundled-es-modules/tough-cookie": "^0.1.6",
+ "@inquirer/confirm": "^3.0.0",
+ "@mswjs/interceptors": "^0.35.8",
+ "@open-draft/until": "^2.1.0",
+ "@types/cookie": "^0.6.0",
+ "@types/statuses": "^2.0.4",
+ "chalk": "^4.1.2",
+ "graphql": "^16.8.1",
+ "headers-polyfill": "^4.0.2",
+ "is-node-process": "^1.2.0",
+ "outvariant": "^1.4.2",
+ "path-to-regexp": "^6.3.0",
+ "strict-event-emitter": "^0.5.1",
+ "type-fest": "^4.9.0",
+ "yargs": "^17.7.2"
+ },
+ "bin": {
+ "msw": "cli/index.js"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mswjs"
+ },
+ "peerDependencies": {
+ "typescript": ">= 4.8.x"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/msw/node_modules/@inquirer/confirm": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.2.0.tgz",
+ "integrity": "sha512-oOIwPs0Dvq5220Z8lGL/6LHRTEr9TgLHmiI99Rj1PJ1p1czTys+olrgBqZk4E2qC0YTzeHprxSQmoHioVdJ7Lw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/core": "^9.1.0",
+ "@inquirer/type": "^1.5.3"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/msw/node_modules/@inquirer/type": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.5.tgz",
+ "integrity": "sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mute-stream": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/msw/node_modules/type-fest": {
+ "version": "4.26.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz",
+ "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/mustache": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz",
+ "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==",
+ "license": "MIT",
+ "bin": {
+ "mustache": "bin/mustache"
+ }
+ },
+ "node_modules/mute-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz",
+ "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/node-fetch": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
+ "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+ "license": "MIT",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/node-fetch/node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
+ },
+ "node_modules/node-fetch/node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+ },
+ "node_modules/node-fetch/node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.17",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.17.tgz",
+ "integrity": "sha512-Ww6ZlOiEQfPfXM45v17oabk77Z7mg5bOt7AjDyzy7RjK9OrLrLC8dyZQoAPEOtFX9SaNf1Tdvr5gRJWdTJj7GA==",
+ "dev": true
+ },
+ "node_modules/nwsapi": {
+ "version": "2.2.12",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz",
+ "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==",
+ "dev": true
+ },
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.4",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
+ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.5"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/outvariant": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz",
+ "integrity": "sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/package-json-from-dist": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz",
+ "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==",
+ "dev": true,
+ "license": "BlueOak-1.0.0"
+ },
+ "node_modules/pako": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
+ },
+ "node_modules/papaparse": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/papaparse/-/papaparse-5.4.1.tgz",
+ "integrity": "sha512-HipMsgJkZu8br23pW15uvo6sib6wne/4woLZPlFf3rpDyMe9ywEXUsuD7+6K9PRkJlVT51j/sCOYDKGGS3ZJrw==",
+ "license": "MIT"
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse5": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
+ "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "entities": "^4.4.0"
+ },
+ "funding": {
+ "url": "https://github.com/inikulin/parse5?sponsor=1"
+ }
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/path-scurry": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
+ "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^10.2.0",
+ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/path-scurry/node_modules/lru-cache": {
+ "version": "10.4.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/path-to-regexp": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz",
+ "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pathe": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz",
+ "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/pathval": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz",
+ "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14.16"
+ }
+ },
+ "node_modules/phaser": {
+ "version": "3.80.1",
+ "resolved": "https://registry.npmjs.org/phaser/-/phaser-3.80.1.tgz",
+ "integrity": "sha512-VQGAWoDOkEpAWYkI+PUADv5Ql+SM0xpLuAMBJHz9tBcOLqjJ2wd8bUhxJgOqclQlLTg97NmMd9MhS75w16x1Cw==",
+ "license": "MIT",
+ "dependencies": {
+ "eventemitter3": "^5.0.1"
+ }
+ },
+ "node_modules/phaser3-rex-plugins": {
+ "version": "1.80.5",
+ "resolved": "https://registry.npmjs.org/phaser3-rex-plugins/-/phaser3-rex-plugins-1.80.5.tgz",
+ "integrity": "sha512-hdL3Cm6dK72w6phQdGnEiqqntlwT8SvjU0yit7DkdqiPy/Io1g3KnsRFqndtY+Hu69zaMEuckpIVeQK6yVwx4A==",
+ "dependencies": {
+ "eventemitter3": "^3.1.2",
+ "i18next": "^22.5.1",
+ "i18next-http-backend": "^2.5.2",
+ "js-yaml": "^4.1.0",
+ "mustache": "^4.2.0",
+ "papaparse": "^5.4.1",
+ "webfontloader": "^1.6.28"
+ }
+ },
+ "node_modules/phaser3-rex-plugins/node_modules/eventemitter3": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
+ "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==",
+ "license": "MIT"
+ },
+ "node_modules/phaser3-rex-plugins/node_modules/i18next": {
+ "version": "22.5.1",
+ "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.5.1.tgz",
+ "integrity": "sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://locize.com"
+ },
+ {
+ "type": "individual",
+ "url": "https://locize.com/i18next.html"
+ },
+ {
+ "type": "individual",
+ "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.20.6"
+ }
+ },
+ "node_modules/phaser3spectorjs": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/phaser3spectorjs/-/phaser3spectorjs-0.0.8.tgz",
+ "integrity": "sha512-0dSO7/aMjEUPrp5EcjRvRRsEf+jXDbmzalPeJ6VtTB2Pn1PeaKc+qlL/DmO3l1Dvc5lkzc+Sil1Ta+Hkyi5cbA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
+ "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
+ "dev": true
+ },
+ "node_modules/picomatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
+ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/possible-typed-array-names": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
+ "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.4.47",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
+ "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "nanoid": "^3.3.7",
+ "picocolors": "^1.1.0",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/postcss/node_modules/picocolors": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
+ "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
+ "dev": true
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ },
+ "node_modules/prompts": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
+ "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.5"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/psl": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
+ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/punycode.js": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
+ "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/querystringify": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
+ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/readable-stream/node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+ },
+ "node_modules/rechoir": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
+ "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "resolve": "^1.20.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
+ "node_modules/regenerator-runtime": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
+ "license": "MIT"
+ },
+ "node_modules/regexp-tree": {
+ "version": "0.1.27",
+ "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz",
+ "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "regexp-tree": "bin/regexp-tree"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/resolve": {
+ "version": "1.22.8",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
+ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.13.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/resolve-pkg-maps": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
+ "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "4.22.4",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz",
+ "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "1.0.5"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.22.4",
+ "@rollup/rollup-android-arm64": "4.22.4",
+ "@rollup/rollup-darwin-arm64": "4.22.4",
+ "@rollup/rollup-darwin-x64": "4.22.4",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.22.4",
+ "@rollup/rollup-linux-arm-musleabihf": "4.22.4",
+ "@rollup/rollup-linux-arm64-gnu": "4.22.4",
+ "@rollup/rollup-linux-arm64-musl": "4.22.4",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4",
+ "@rollup/rollup-linux-riscv64-gnu": "4.22.4",
+ "@rollup/rollup-linux-s390x-gnu": "4.22.4",
+ "@rollup/rollup-linux-x64-gnu": "4.22.4",
+ "@rollup/rollup-linux-x64-musl": "4.22.4",
+ "@rollup/rollup-win32-arm64-msvc": "4.22.4",
+ "@rollup/rollup-win32-ia32-msvc": "4.22.4",
+ "@rollup/rollup-win32-x64-msvc": "4.22.4",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/rrweb-cssom": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz",
+ "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==",
+ "dev": true
+ },
+ "node_modules/run-async": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz",
+ "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/rxjs": {
+ "version": "7.8.1",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+ "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/safe-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-2.1.1.tgz",
+ "integrity": "sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "regexp-tree": "~0.1.1"
+ }
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/saxes": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
+ "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "xmlchars": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=v12.22.7"
+ }
+ },
+ "node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/set-function-length": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "license": "MIT",
+ "dependencies": {
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shiki": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.12.0.tgz",
+ "integrity": "sha512-BuAxWOm5JhRcbSOl7XCei8wGjgJJonnV0oipUupPY58iULxUGyHhW5CF+9FRMuM1pcJ5cGEJGll1LusX6FwpPA==",
+ "dev": true,
+ "dependencies": {
+ "@shikijs/core": "1.12.0",
+ "@types/hast": "^3.0.4"
+ }
+ },
+ "node_modules/siginfo": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz",
+ "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/sisteransi": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
+ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/stable-hash": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.4.tgz",
+ "integrity": "sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/stackback": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz",
+ "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/std-env": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz",
+ "integrity": "sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/strict-event-emitter": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.5.1.tgz",
+ "integrity": "sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/string-width-cjs": {
+ "name": "string-width",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string-width-cjs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/string-width/node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/string-width/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi-cjs": {
+ "name": "strip-ansi",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/symbol-tree": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tapable": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/teamcity-service-messages": {
+ "version": "0.1.14",
+ "resolved": "https://registry.npmjs.org/teamcity-service-messages/-/teamcity-service-messages-0.1.14.tgz",
+ "integrity": "sha512-29aQwaHqm8RMX74u2o/h1KbMLP89FjNiMxD9wbF2BbWOnbM+q+d1sCEC+MqCc4QW3NJykn77OMpTFw/xTHIc0w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/test-exclude": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz",
+ "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^10.4.1",
+ "minimatch": "^9.0.4"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/test-exclude/node_modules/glob": {
+ "version": "10.4.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+ "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^1.11.1"
+ },
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tinybench": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz",
+ "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tinyexec": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz",
+ "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tinypool": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.2.tgz",
+ "integrity": "sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ }
+ },
+ "node_modules/tinyrainbow": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz",
+ "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/tinyspy": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.2.tgz",
+ "integrity": "sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "os-tmpdir": "~1.0.2"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/tough-cookie": {
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
+ "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "psl": "^1.1.33",
+ "punycode": "^2.1.1",
+ "universalify": "^0.2.0",
+ "url-parse": "^1.5.3"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz",
+ "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==",
+ "dev": true,
+ "dependencies": {
+ "punycode": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/ts-api-utils": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
+ "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=16"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.2.0"
+ }
+ },
+ "node_modules/tsconfck": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.1.tgz",
+ "integrity": "sha512-00eoI6WY57SvZEVjm13stEVE90VkEdJAFGgpFLTsZbJyW/LwFQ7uQxJHWpZ2hzSWgCPKc9AnBnNP+0X7o3hAmQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "tsconfck": "bin/tsconfck.js"
+ },
+ "engines": {
+ "node": "^18 || >=20"
+ },
+ "peerDependencies": {
+ "typescript": "^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/tsconfig-paths-webpack-plugin": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.1.0.tgz",
+ "integrity": "sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "enhanced-resolve": "^5.7.0",
+ "tsconfig-paths": "^4.1.2"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/tsconfig-paths-webpack-plugin/node_modules/tsconfig-paths": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz",
+ "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "json5": "^2.2.2",
+ "minimist": "^1.2.6",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+ "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==",
+ "dev": true,
+ "license": "0BSD"
+ },
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/type-fest": {
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/typedoc": {
+ "version": "0.26.5",
+ "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.26.5.tgz",
+ "integrity": "sha512-Vn9YKdjKtDZqSk+by7beZ+xzkkr8T8CYoiasqyt4TTRFy5+UHzL/mF/o4wGBjRF+rlWQHDb0t6xCpA3JNL5phg==",
+ "dev": true,
+ "dependencies": {
+ "lunr": "^2.3.9",
+ "markdown-it": "^14.1.0",
+ "minimatch": "^9.0.5",
+ "shiki": "^1.9.1",
+ "yaml": "^2.4.5"
+ },
+ "bin": {
+ "typedoc": "bin/typedoc"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "peerDependencies": {
+ "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.5.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz",
+ "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==",
+ "dev": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/typescript-eslint": {
+ "version": "8.0.0-alpha.58",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.0.0-alpha.58.tgz",
+ "integrity": "sha512-0mvrodNhExpkWns+5RaZP8YqsAfPyjmPVVM1p+kaJkvApMH58/VFcQ0iSQuun0bFRNCMvW0ZUdulS9AsHqVXkg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/eslint-plugin": "8.0.0-alpha.58",
+ "@typescript-eslint/parser": "8.0.0-alpha.58",
+ "@typescript-eslint/utils": "8.0.0-alpha.58"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/uc.micro": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
+ "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
+ "dev": true
+ },
+ "node_modules/undici-types": {
+ "version": "5.26.5",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/universalify": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
+ "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz",
+ "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "escalade": "^3.1.2",
+ "picocolors": "^1.0.1"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/url-parse": {
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "querystringify": "^2.1.1",
+ "requires-port": "^1.0.0"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ },
+ "node_modules/vite": {
+ "version": "5.4.14",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.14.tgz",
+ "integrity": "sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "esbuild": "^0.21.3",
+ "postcss": "^8.4.43",
+ "rollup": "^4.20.0"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^18.0.0 || >=20.0.0",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "sass-embedded": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vite-node": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.9.tgz",
+ "integrity": "sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cac": "^6.7.14",
+ "debug": "^4.3.7",
+ "es-module-lexer": "^1.5.4",
+ "pathe": "^1.1.2",
+ "vite": "^5.0.0"
+ },
+ "bin": {
+ "vite-node": "vite-node.mjs"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ }
+ },
+ "node_modules/vite-tsconfig-paths": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.3.2.tgz",
+ "integrity": "sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.1.1",
+ "globrex": "^0.1.2",
+ "tsconfck": "^3.0.3"
+ },
+ "peerDependencies": {
+ "vite": "*"
+ },
+ "peerDependenciesMeta": {
+ "vite": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vitest": {
+ "version": "2.1.9",
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.9.tgz",
+ "integrity": "sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vitest/expect": "2.1.9",
+ "@vitest/mocker": "2.1.9",
+ "@vitest/pretty-format": "^2.1.9",
+ "@vitest/runner": "2.1.9",
+ "@vitest/snapshot": "2.1.9",
+ "@vitest/spy": "2.1.9",
+ "@vitest/utils": "2.1.9",
+ "chai": "^5.1.2",
+ "debug": "^4.3.7",
+ "expect-type": "^1.1.0",
+ "magic-string": "^0.30.12",
+ "pathe": "^1.1.2",
+ "std-env": "^3.8.0",
+ "tinybench": "^2.9.0",
+ "tinyexec": "^0.3.1",
+ "tinypool": "^1.0.1",
+ "tinyrainbow": "^1.2.0",
+ "vite": "^5.0.0",
+ "vite-node": "2.1.9",
+ "why-is-node-running": "^2.3.0"
+ },
+ "bin": {
+ "vitest": "vitest.mjs"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ },
+ "peerDependencies": {
+ "@edge-runtime/vm": "*",
+ "@types/node": "^18.0.0 || >=20.0.0",
+ "@vitest/browser": "2.1.9",
+ "@vitest/ui": "2.1.9",
+ "happy-dom": "*",
+ "jsdom": "*"
+ },
+ "peerDependenciesMeta": {
+ "@edge-runtime/vm": {
+ "optional": true
+ },
+ "@types/node": {
+ "optional": true
+ },
+ "@vitest/browser": {
+ "optional": true
+ },
+ "@vitest/ui": {
+ "optional": true
+ },
+ "happy-dom": {
+ "optional": true
+ },
+ "jsdom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vitest-canvas-mock": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/vitest-canvas-mock/-/vitest-canvas-mock-0.3.3.tgz",
+ "integrity": "sha512-3P968tYBpqYyzzOaVtqnmYjqbe13576/fkjbDEJSfQAkHtC5/UjuRHOhFEN/ZV5HVZIkaROBUWgazDKJ+Ibw+Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "jest-canvas-mock": "~2.5.2"
+ },
+ "peerDependencies": {
+ "vitest": "*"
+ }
+ },
+ "node_modules/w3c-xmlserializer": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz",
+ "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "xml-name-validator": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/watskeburt": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/watskeburt/-/watskeburt-4.1.0.tgz",
+ "integrity": "sha512-KkY5H51ajqy9HYYI+u9SIURcWnqeVVhdH0I+ab6aXPGHfZYxgRCwnR6Lm3+TYB6jJVt5jFqw4GAKmwf1zHmGQw==",
+ "dev": true,
+ "bin": {
+ "watskeburt": "dist/run-cli.js"
+ },
+ "engines": {
+ "node": "^18||>=20"
+ }
+ },
+ "node_modules/webfontloader": {
+ "version": "1.6.28",
+ "resolved": "https://registry.npmjs.org/webfontloader/-/webfontloader-1.6.28.tgz",
+ "integrity": "sha512-Egb0oFEga6f+nSgasH3E0M405Pzn6y3/9tOVanv/DLfa1YBIgcv90L18YyWnvXkRbIM17v5Kv6IT2N6g1x5tvQ==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/whatwg-encoding": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
+ "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "iconv-lite": "0.6.3"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/whatwg-encoding/node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "dev": true,
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/whatwg-mimetype": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz",
+ "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/whatwg-url": {
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz",
+ "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==",
+ "dev": true,
+ "dependencies": {
+ "tr46": "^5.0.0",
+ "webidl-conversions": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/why-is-node-running": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz",
+ "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "siginfo": "^2.0.0",
+ "stackback": "0.0.2"
+ },
+ "bin": {
+ "why-is-node-running": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+ "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs": {
+ "name": "wrap-ansi",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/wrap-ansi-cjs/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/ws": {
+ "version": "8.18.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
+ "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/xml-name-validator": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz",
+ "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/xmlchars": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/yaml": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz",
+ "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==",
+ "dev": true,
+ "bin": {
+ "yaml": "bin.mjs"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/yargs": {
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/yargs/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/yoctocolors-cjs": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz",
+ "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ }
+ }
}
diff --git a/package.json b/package.json
index 5a191b3ec99..ce9e8b4a07b 100644
--- a/package.json
+++ b/package.json
@@ -1,68 +1,71 @@
{
- "name": "pokemon-rogue-battle",
- "private": true,
- "version": "1.7.0",
- "type": "module",
- "scripts": {
- "start": "vite",
- "start:dev": "vite --mode development",
- "build": "vite build",
- "build:beta": "vite build --mode beta",
- "preview": "vite preview",
- "test": "vitest run --project pre && vitest run --project main",
- "test:cov": "vitest run --project pre && vitest run --project main --coverage",
- "test:watch": "vitest run --project pre && vitest watch --project main --coverage",
- "test:silent": "vitest run --project pre && vitest run --project main --silent",
- "typecheck": "tsc --noEmit",
- "eslint": "eslint --fix .",
- "eslint-ci": "eslint .",
- "docs": "typedoc",
- "depcruise": "depcruise src",
- "depcruise:graph": "depcruise src --output-type dot | node dependency-graph.js > dependency-graph.svg",
- "create-test": "node ./create-test-boilerplate.js",
- "postinstall": "npx lefthook install && npx lefthook run post-merge",
- "update-version:patch": "npm version patch --force --no-git-tag-version",
- "update-version:minor": "npm version minor --force --no-git-tag-version",
- "update-locales:remote": "git submodule update --progress --init --recursive --force --remote"
- },
- "devDependencies": {
- "@eslint/js": "^9.3.0",
- "@hpcc-js/wasm": "^2.18.0",
- "@stylistic/eslint-plugin-ts": "^2.6.0-beta.0",
- "@types/jsdom": "^21.1.7",
- "@types/node": "^20.12.13",
- "@typescript-eslint/eslint-plugin": "^8.0.0-alpha.54",
- "@typescript-eslint/parser": "^8.0.0-alpha.54",
- "@vitest/coverage-istanbul": "^2.1.9",
- "dependency-cruiser": "^16.3.10",
- "eslint": "^9.7.0",
- "eslint-plugin-import-x": "^4.2.1",
- "inquirer": "^11.0.2",
- "jsdom": "^24.0.0",
- "lefthook": "^1.6.12",
- "msw": "^2.4.9",
- "phaser3spectorjs": "^0.0.8",
- "typedoc": "^0.26.4",
- "typescript": "^5.5.3",
- "typescript-eslint": "^8.0.0-alpha.54",
- "vite": "^5.4.14",
- "vite-tsconfig-paths": "^4.3.2",
- "vitest": "^2.1.9",
- "vitest-canvas-mock": "^0.3.3"
- },
- "dependencies": {
- "@material/material-color-utilities": "^0.2.7",
- "crypto-js": "^4.2.0",
- "i18next": "^23.11.1",
- "i18next-browser-languagedetector": "^7.2.1",
- "i18next-http-backend": "^2.6.1",
- "i18next-korean-postposition-processor": "^1.0.0",
- "json-stable-stringify": "^1.1.0",
- "jszip": "^3.10.1",
- "phaser": "^3.70.0",
- "phaser3-rex-plugins": "^1.1.84"
- },
- "engines": {
- "node": ">=20.0.0"
- }
+ "name": "pokemon-rogue-battle",
+ "private": true,
+ "version": "1.7.7",
+ "type": "module",
+ "scripts": {
+ "start": "vite",
+ "start:dev": "vite --mode development",
+ "build": "vite build",
+ "build:beta": "vite build --mode beta",
+ "preview": "vite preview",
+ "test": "vitest run --project pre && vitest run --project main",
+ "test:cov": "vitest run --project pre && vitest run --project main --coverage",
+ "test:watch": "vitest run --project pre && vitest watch --project main --coverage",
+ "test:silent": "vitest run --project pre && vitest run --project main --silent",
+ "typecheck": "tsc --noEmit",
+ "eslint": "eslint --fix .",
+ "eslint-ci": "eslint .",
+ "biome": "biome check --write --changed --no-errors-on-unmatched",
+ "biome-ci": "biome ci --diagnostic-level=error --reporter=github --changed --no-errors-on-unmatched",
+ "docs": "typedoc",
+ "depcruise": "depcruise src",
+ "depcruise:graph": "depcruise src --output-type dot | node dependency-graph.js > dependency-graph.svg",
+ "create-test": "node ./create-test-boilerplate.js",
+ "postinstall": "npx lefthook install && npx lefthook run post-merge",
+ "update-version:patch": "npm version patch --force --no-git-tag-version",
+ "update-version:minor": "npm version minor --force --no-git-tag-version",
+ "update-locales:remote": "git submodule update --progress --init --recursive --force --remote"
+ },
+ "devDependencies": {
+ "@biomejs/biome": "1.9.4",
+ "@eslint/js": "^9.3.0",
+ "@hpcc-js/wasm": "^2.18.0",
+ "@stylistic/eslint-plugin-ts": "^2.6.0-beta.0",
+ "@types/jsdom": "^21.1.7",
+ "@types/node": "^20.12.13",
+ "@typescript-eslint/eslint-plugin": "^8.0.0-alpha.54",
+ "@typescript-eslint/parser": "^8.0.0-alpha.54",
+ "@vitest/coverage-istanbul": "^2.1.9",
+ "dependency-cruiser": "^16.3.10",
+ "eslint": "^9.7.0",
+ "eslint-plugin-import-x": "^4.2.1",
+ "inquirer": "^11.0.2",
+ "jsdom": "^24.0.0",
+ "lefthook": "^1.6.12",
+ "msw": "^2.4.9",
+ "phaser3spectorjs": "^0.0.8",
+ "typedoc": "^0.26.4",
+ "typescript": "^5.5.3",
+ "typescript-eslint": "^8.0.0-alpha.54",
+ "vite": "^5.4.14",
+ "vite-tsconfig-paths": "^4.3.2",
+ "vitest": "^2.1.9",
+ "vitest-canvas-mock": "^0.3.3"
+ },
+ "dependencies": {
+ "@material/material-color-utilities": "^0.2.7",
+ "crypto-js": "^4.2.0",
+ "i18next": "^23.11.1",
+ "i18next-browser-languagedetector": "^7.2.1",
+ "i18next-http-backend": "^2.6.1",
+ "i18next-korean-postposition-processor": "^1.0.0",
+ "json-stable-stringify": "^1.1.0",
+ "jszip": "^3.10.1",
+ "phaser": "^3.70.0",
+ "phaser3-rex-plugins": "^1.1.84"
+ },
+ "engines": {
+ "node": ">=20.0.0"
+ }
}
diff --git a/public/exp-sprites.json b/public/exp-sprites.json
index a340d02a65a..50e10a8822d 100644
--- a/public/exp-sprites.json
+++ b/public/exp-sprites.json
@@ -183,6 +183,8 @@
"487-origin",
"531-mega",
"531-mega",
+ "569-gigantamax",
+ "569-gigantamax",
"6-mega",
"6-mega",
"6-mega-x",
@@ -261,10 +263,10 @@
"666-fancy",
"666-garden",
"666-garden",
- "666-high",
- "666-high",
- "666-icy",
- "666-icy",
+ "666-high-plains",
+ "666-high-plains",
+ "666-icy-snow",
+ "666-icy-snow",
"666-jungle",
"666-jungle",
"666-marine",
@@ -277,8 +279,8 @@
"666-monsoon",
"666-ocean",
"666-ocean",
- "666-poke",
- "666-poke",
+ "666-poke-ball",
+ "666-poke-ball",
"666-polar",
"666-polar",
"666-river",
@@ -339,7 +341,6 @@
"6724",
"673",
"673",
-
"675",
"675",
"676",
@@ -382,14 +383,12 @@
"692",
"693",
"693",
-
"695",
"695",
"696",
"696",
"697",
"697",
-
"699",
"699",
"700",
@@ -398,7 +397,6 @@
"701",
"702",
"702",
-
"704",
"704",
"705",
@@ -697,6 +695,8 @@
"814",
"815",
"815",
+ "815-gigantamax",
+ "815-gigantamax",
"816",
"816",
"817",
@@ -747,6 +747,8 @@
"838",
"839",
"839",
+ "839-gigantamax",
+ "839-gigantamax",
"840",
"840",
"841",
@@ -1071,8 +1073,6 @@
"978-droopy",
"978-stretchy",
"978-stretchy",
- "979",
- "979",
"980",
"980",
"981",
@@ -1301,6 +1301,8 @@
"487b-origin",
"531b-mega",
"531b-mega",
+ "569b-gigantamax",
+ "569b-gigantamax",
"6b-mega",
"6b-mega",
"6b-mega-x",
@@ -1379,10 +1381,10 @@
"666b-fancy",
"666b-garden",
"666b-garden",
- "666b-high",
- "666b-high",
- "666b-icy",
- "666b-icy",
+ "666b-high-plains",
+ "666b-high-plains",
+ "666b-icy-snow",
+ "666b-icy-snow",
"666b-jungle",
"666b-jungle",
"666b-marine",
@@ -1395,8 +1397,8 @@
"666b-monsoon",
"666b-ocean",
"666b-ocean",
- "666b-poke",
- "666b-poke",
+ "666b-poke-ball",
+ "666b-poke-ball",
"666b-polar",
"666b-polar",
"666b-river",
@@ -1457,7 +1459,6 @@
"6724b",
"673b",
"673b",
-
"675b",
"675b",
"676b",
@@ -1500,14 +1501,12 @@
"692b",
"693b",
"693b",
-
"695b",
"695b",
"696b",
"696b",
"697b",
"697b",
-
"699b",
"699b",
"700b",
@@ -1516,7 +1515,6 @@
"701b",
"702b",
"702b",
-
"704b",
"704b",
"705b",
@@ -1815,6 +1813,8 @@
"814b",
"815b",
"815b",
+ "815b-gigantamax",
+ "815b-gigantamax",
"816b",
"816b",
"817b",
@@ -1865,6 +1865,8 @@
"838b",
"839b",
"839b",
+ "839b-gigantamax",
+ "839b-gigantamax",
"840b",
"840b",
"841b",
@@ -2191,8 +2193,6 @@
"978b-droopy",
"978b-stretchy",
"978b-stretchy",
- "979b",
- "979b",
"980b",
"980b",
"981b",
@@ -2421,6 +2421,8 @@
"487sb-origin",
"531sb-mega",
"531sb-mega",
+ "569sb-gigantamax",
+ "569sb-gigantamax",
"6sb-mega",
"6sb-mega",
"6sb-mega-x",
@@ -2499,10 +2501,10 @@
"666sb-fancy",
"666sb-garden",
"666sb-garden",
- "666sb-high",
- "666sb-high",
- "666sb-icy",
- "666sb-icy",
+ "666sb-high-plains",
+ "666sb-high-plains",
+ "666sb-icy-snow",
+ "666sb-icy-snow",
"666sb-jungle",
"666sb-jungle",
"666sb-marine",
@@ -2515,8 +2517,8 @@
"666sb-monsoon",
"666sb-ocean",
"666sb-ocean",
- "666sb-poke",
- "666sb-poke",
+ "666sb-poke-ball",
+ "666sb-poke-ball",
"666sb-polar",
"666sb-polar",
"666sb-river",
@@ -2577,7 +2579,6 @@
"6724sb",
"673sb",
"673sb",
-
"675sb",
"675sb",
"676sb",
@@ -2620,14 +2621,12 @@
"692sb",
"693sb",
"693sb",
-
"695sb",
"695sb",
"696sb",
"696sb",
"697sb",
"697sb",
-
"699sb",
"699sb",
"700sb",
@@ -2636,7 +2635,6 @@
"701sb",
"702sb",
"702sb",
-
"704sb",
"704sb",
"705sb",
@@ -2935,6 +2933,8 @@
"814sb",
"815sb",
"815sb",
+ "815sb-gigantamax",
+ "815sb-gigantamax",
"816sb",
"816sb",
"817sb",
@@ -2985,6 +2985,8 @@
"838sb",
"839sb",
"839sb",
+ "839sb-gigantamax",
+ "839sb-gigantamax",
"840sb",
"840sb",
"841sb",
@@ -3311,8 +3313,6 @@
"978sb-droopy",
"978sb-stretchy",
"978sb-stretchy",
- "979sb",
- "979sb",
"980sb",
"980sb",
"981sb",
@@ -3546,6 +3546,8 @@
"487s-origin",
"531s-mega",
"531s-mega",
+ "569s-gigantamax",
+ "569s-gigantamax",
"6s-mega",
"6s-mega",
"6s-mega-x",
@@ -3624,10 +3626,10 @@
"666s-fancy",
"666s-garden",
"666s-garden",
- "666s-high",
- "666s-high",
- "666s-icy",
- "666s-icy",
+ "666s-high-plains",
+ "666s-high-plains",
+ "666s-icy-snow",
+ "666s-icy-snow",
"666s-jungle",
"666s-jungle",
"666s-marine",
@@ -3640,8 +3642,8 @@
"666s-monsoon",
"666s-ocean",
"666s-ocean",
- "666s-poke",
- "666s-poke",
+ "666s-poke-ball",
+ "666s-poke-ball",
"666s-polar",
"666s-polar",
"666s-river",
@@ -3702,7 +3704,6 @@
"6724s",
"673s",
"673s",
-
"675s",
"675s",
"676s",
@@ -3745,14 +3746,12 @@
"692s",
"693s",
"693s",
-
"695s",
"695s",
"696s",
"696s",
"697s",
"697s",
-
"699s",
"699s",
"700s",
@@ -3761,7 +3760,6 @@
"701s",
"702s",
"702s",
-
"704s",
"704s",
"705s",
@@ -4060,6 +4058,8 @@
"814s",
"815s",
"815s",
+ "815s-gigantamax",
+ "815s-gigantamax",
"816s",
"816s",
"817s",
@@ -4110,6 +4110,8 @@
"838s",
"839s",
"839s",
+ "839s-gigantamax",
+ "839s-gigantamax",
"840s",
"840s",
"841s",
@@ -4436,8 +4438,6 @@
"978s-droopy",
"978s-stretchy",
"978s-stretchy",
- "979s",
- "979s",
"980s",
"980s",
"981s",
@@ -4545,19 +4545,15 @@
"666-archipelago",
"666-continental",
"666-elegant",
- "666-fancy_2",
- "666-fancy_2",
- "666-fancy_3",
- "666-fancy_3",
+ "666-fancy",
+ "666-fancy",
"666-garden",
"666-high",
- "666-icy",
+ "666-icy-snow",
"666-jungle",
"666-marine",
- "666-meadow_2",
- "666-meadow_2",
- "666-meadow_3",
- "666-meadow_3",
+ "666-meadow",
+ "666-meadow",
"666-modern",
"666-monsoon",
"666-ocean",
@@ -4566,8 +4562,6 @@
"666-poke",
"666-polar",
"666-river",
- "666-river_2",
- "666-river_2",
"666-sandstorm",
"666-savanna",
"666-sun",
@@ -4817,86 +4811,46 @@
"665b",
"665_2b",
"665_2b",
- "666b-archipelago_2",
- "666b-archipelago_2",
- "666b-archipelago_3",
- "666b-archipelago_3",
- "666b-continental_2",
- "666b-continental_2",
- "666b-continental_3",
- "666b-continental_3",
- "666b-elegant_2",
- "666b-elegant_2",
- "666b-elegant_3",
- "666b-elegant_3",
- "666b-fancy_2",
- "666b-fancy_2",
- "666b-fancy_3",
- "666b-fancy_3",
- "666b-garden_2",
- "666b-garden_2",
- "666b-garden_3",
- "666b-garden_3",
- "666b-high",
- "666b-high",
- "666b-high",
- "666b-high",
- "666b-icy",
- "666b-icy",
- "666b-icy",
- "666b-icy",
- "666b-jungle_2",
- "666b-jungle_2",
- "666b-jungle_3",
- "666b-jungle_3",
- "666b-marine_2",
- "666b-marine_2",
- "666b-marine_3",
- "666b-marine_3",
- "666b-meadow_2",
- "666b-meadow_2",
- "666b-meadow_3",
- "666b-meadow_3",
- "666b-modern_2",
- "666b-modern_2",
- "666b-modern_3",
- "666b-modern_3",
- "666b-monsoon_2",
- "666b-monsoon_2",
- "666b-monsoon_3",
- "666b-monsoon_3",
- "666b-ocean_2",
- "666b-ocean_2",
- "666b-ocean_3",
- "666b-ocean_3",
- "666b-poke",
- "666b-poke",
- "666b-poke",
- "666b-poke",
- "666b-polar_2",
- "666b-polar_2",
- "666b-polar_3",
- "666b-polar_3",
- "666b-river_2",
- "666b-river_2",
- "666b-river_3",
- "666b-river_3",
- "666b-sandstorm_2",
- "666b-sandstorm_2",
- "666b-sandstorm_3",
- "666b-sandstorm_3",
- "666b-savanna_2",
- "666b-savanna_2",
- "666b-savanna_3",
- "666b-savanna_3",
- "666b-sun_2",
- "666b-sun_2",
- "666b-sun_3",
- "666b-sun_3",
- "666b-tundra_2",
- "666b-tundra_2",
- "666b-tundra_3",
- "666b-tundra_3",
+ "666b-archipelago",
+ "666b-archipelago",
+ "666b-continental",
+ "666b-continental",
+ "666b-elegant",
+ "666b-elegant",
+ "666b-fancy",
+ "666b-fancy",
+ "666b-garden",
+ "666b-garden",
+ "666b-high-plains",
+ "666b-high-plains",
+ "666b-icy-snow",
+ "666b-icy-snow",
+ "666b-jungle",
+ "666b-jungle",
+ "666b-marine",
+ "666b-marine",
+ "666b-meadow",
+ "666b-meadow",
+ "666b-modern",
+ "666b-modern",
+ "666b-monsoon",
+ "666b-monsoon",
+ "666b-ocean",
+ "666b-ocean",
+ "666b-poke-ball",
+ "666b-poke-ball",
+ "666b-polar",
+ "666b-polar",
+ "666b-river",
+ "666b-river",
+ "666b-sandstorm",
+ "666b-sandstorm",
+ "666b-savanna",
+ "666b-savanna",
+ "666b-sun",
+ "666b-sun",
+ "666b-tundra",
+ "666b-tundra",
"6705b",
"6706_2b",
"6706_2b",
diff --git a/public/images/events/pkmnday2025event-de.png b/public/images/events/pkmnday2025event-de.png
new file mode 100644
index 00000000000..4cc53546752
Binary files /dev/null and b/public/images/events/pkmnday2025event-de.png differ
diff --git a/public/images/events/pkmnday2025event-en.png b/public/images/events/pkmnday2025event-en.png
new file mode 100644
index 00000000000..e9caa9e19d6
Binary files /dev/null and b/public/images/events/pkmnday2025event-en.png differ
diff --git a/public/images/events/pkmnday2025event-es-ES.png b/public/images/events/pkmnday2025event-es-ES.png
new file mode 100644
index 00000000000..e1ab096dffc
Binary files /dev/null and b/public/images/events/pkmnday2025event-es-ES.png differ
diff --git a/public/images/events/pkmnday2025event-fr.png b/public/images/events/pkmnday2025event-fr.png
new file mode 100644
index 00000000000..037d1e06e61
Binary files /dev/null and b/public/images/events/pkmnday2025event-fr.png differ
diff --git a/public/images/events/pkmnday2025event-it.png b/public/images/events/pkmnday2025event-it.png
new file mode 100644
index 00000000000..f38a60330fa
Binary files /dev/null and b/public/images/events/pkmnday2025event-it.png differ
diff --git a/public/images/events/pkmnday2025event-ja.png b/public/images/events/pkmnday2025event-ja.png
new file mode 100644
index 00000000000..94b02ad93a0
Binary files /dev/null and b/public/images/events/pkmnday2025event-ja.png differ
diff --git a/public/images/events/pkmnday2025event-ko.png b/public/images/events/pkmnday2025event-ko.png
new file mode 100644
index 00000000000..aed9ee3fb28
Binary files /dev/null and b/public/images/events/pkmnday2025event-ko.png differ
diff --git a/public/images/events/pkmnday2025event-pt-BR.png b/public/images/events/pkmnday2025event-pt-BR.png
new file mode 100644
index 00000000000..2190bbac535
Binary files /dev/null and b/public/images/events/pkmnday2025event-pt-BR.png differ
diff --git a/public/images/events/pkmnday2025event-zh-CN.png b/public/images/events/pkmnday2025event-zh-CN.png
new file mode 100644
index 00000000000..a3430482dd0
Binary files /dev/null and b/public/images/events/pkmnday2025event-zh-CN.png differ
diff --git a/public/images/pokemon/656.png b/public/images/pokemon/656.png
index 6acfe282dca..06a9cd58268 100644
Binary files a/public/images/pokemon/656.png and b/public/images/pokemon/656.png differ
diff --git a/public/images/pokemon/666-continental.png b/public/images/pokemon/666-continental.png
index 1bd15dbb70d..b45f5c4e76d 100644
Binary files a/public/images/pokemon/666-continental.png and b/public/images/pokemon/666-continental.png differ
diff --git a/public/images/pokemon/666-fancy.png b/public/images/pokemon/666-fancy.png
index ec5e8a5f6e8..9e40deb3568 100644
Binary files a/public/images/pokemon/666-fancy.png and b/public/images/pokemon/666-fancy.png differ
diff --git a/public/images/pokemon/666-high-plains.png b/public/images/pokemon/666-high-plains.png
index c294984e469..45cb22fc592 100644
Binary files a/public/images/pokemon/666-high-plains.png and b/public/images/pokemon/666-high-plains.png differ
diff --git a/public/images/pokemon/666-river.png b/public/images/pokemon/666-river.png
index eeabeecb069..ca93fd612b7 100644
Binary files a/public/images/pokemon/666-river.png and b/public/images/pokemon/666-river.png differ
diff --git a/public/images/pokemon/back/666-fancy.png b/public/images/pokemon/back/666-fancy.png
index 35ed4317d8e..b56daf08a52 100644
Binary files a/public/images/pokemon/back/666-fancy.png and b/public/images/pokemon/back/666-fancy.png differ
diff --git a/public/images/pokemon/back/666-high-plains.png b/public/images/pokemon/back/666-high-plains.png
index 22f676d8f49..d6cca9c2413 100644
Binary files a/public/images/pokemon/back/666-high-plains.png and b/public/images/pokemon/back/666-high-plains.png differ
diff --git a/public/images/pokemon/back/666-river.png b/public/images/pokemon/back/666-river.png
index 0d7d7a65d1e..effabe7fa2d 100644
Binary files a/public/images/pokemon/back/666-river.png and b/public/images/pokemon/back/666-river.png differ
diff --git a/public/images/pokemon/exp/484-origin.json b/public/images/pokemon/exp/484-origin.json
index f52359c264a..2b63fdd6785 100644
--- a/public/images/pokemon/exp/484-origin.json
+++ b/public/images/pokemon/exp/484-origin.json
@@ -4,8 +4,8 @@
"image": "484-origin.png",
"format": "RGBA8888",
"size": {
- "w": 426,
- "h": 426
+ "w": 274,
+ "h": 274
},
"scale": 1,
"frames": [
@@ -14,20 +14,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 5,
+ "x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
},
"frame": {
"x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
}
},
{
@@ -35,20 +35,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 5,
+ "x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
},
"frame": {
"x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
}
},
{
@@ -56,20 +56,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 5,
+ "x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
},
"frame": {
"x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
}
},
{
@@ -77,20 +77,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 5,
+ "x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
},
"frame": {
"x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
}
},
{
@@ -98,20 +98,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 5,
+ "x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
},
"frame": {
"x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
}
},
{
@@ -119,146 +119,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 0,
"w": 91,
- "h": 97
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 91,
- "h": 97
- }
- },
- {
- "filename": "0081.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
+ "h": 95
},
"spriteSourceSize": {
"x": 0,
- "y": 5,
- "w": 92,
- "h": 96
- },
- "frame": {
- "x": 91,
- "y": 0,
- "w": 92,
- "h": 96
- }
- },
- {
- "filename": "0082.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 92,
- "h": 96
- },
- "frame": {
- "x": 91,
- "y": 0,
- "w": 92,
- "h": 96
- }
- },
- {
- "filename": "0073.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 5,
"y": 0,
"w": 90,
- "h": 97
+ "h": 95
},
"frame": {
"x": 0,
- "y": 97,
- "w": 90,
- "h": 97
- }
- },
- {
- "filename": "0074.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 5,
"y": 0,
"w": 90,
- "h": 97
- },
- "frame": {
- "x": 0,
- "y": 97,
- "w": 90,
- "h": 97
- }
- },
- {
- "filename": "0083.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 5,
- "w": 96,
- "h": 90
- },
- "frame": {
- "x": 183,
- "y": 0,
- "w": 96,
- "h": 90
- }
- },
- {
- "filename": "0084.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 5,
- "w": 96,
- "h": 90
- },
- "frame": {
- "x": 183,
- "y": 0,
- "w": 96,
- "h": 90
+ "h": 95
}
},
{
@@ -266,20 +140,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -287,20 +161,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -308,20 +182,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -329,20 +203,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -350,20 +224,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -371,20 +245,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -392,20 +266,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -413,20 +287,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -434,20 +308,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -455,20 +329,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -476,20 +350,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -497,272 +371,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 2,
- "w": 90,
+ "w": 91,
"h": 95
},
- "frame": {
+ "spriteSourceSize": {
"x": 0,
- "y": 194,
- "w": 90,
- "h": 95
- }
- },
- {
- "filename": "0120.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 2,
- "w": 90,
- "h": 95
- },
- "frame": {
- "x": 0,
- "y": 194,
- "w": 90,
- "h": 95
- }
- },
- {
- "filename": "0075.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 7,
"y": 1,
- "w": 89,
- "h": 95
+ "w": 90,
+ "h": 94
},
"frame": {
"x": 0,
- "y": 289,
- "w": 89,
- "h": 95
- }
- },
- {
- "filename": "0076.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 89,
- "h": 95
- },
- "frame": {
- "x": 0,
- "y": 289,
- "w": 89,
- "h": 95
- }
- },
- {
- "filename": "0079.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 4,
- "w": 92,
- "h": 92
- },
- "frame": {
- "x": 279,
- "y": 0,
- "w": 92,
- "h": 92
- }
- },
- {
- "filename": "0080.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 4,
- "w": 92,
- "h": 92
- },
- "frame": {
- "x": 279,
- "y": 0,
- "w": 92,
- "h": 92
- }
- },
- {
- "filename": "0089.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 24,
- "y": 16,
- "w": 50,
- "h": 54
- },
- "frame": {
- "x": 371,
- "y": 0,
- "w": 50,
- "h": 54
- }
- },
- {
- "filename": "0090.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 24,
- "y": 16,
- "w": 50,
- "h": 54
- },
- "frame": {
- "x": 371,
- "y": 0,
- "w": 50,
- "h": 54
- }
- },
- {
- "filename": "0111.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 24,
- "y": 16,
- "w": 50,
- "h": 54
- },
- "frame": {
- "x": 371,
- "y": 0,
- "w": 50,
- "h": 54
- }
- },
- {
- "filename": "0112.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 24,
- "y": 16,
- "w": 50,
- "h": 54
- },
- "frame": {
- "x": 371,
- "y": 0,
- "w": 50,
- "h": 54
- }
- },
- {
- "filename": "0117.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 92,
- "h": 92
- },
- "frame": {
- "x": 183,
- "y": 90,
- "w": 92,
- "h": 92
- }
- },
- {
- "filename": "0118.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 92,
- "h": 92
- },
- "frame": {
- "x": 183,
- "y": 90,
- "w": 92,
- "h": 92
- }
- },
- {
- "filename": "0119.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 92,
- "h": 92
- },
- "frame": {
- "x": 183,
- "y": 90,
- "w": 92,
- "h": 92
+ "y": 95,
+ "w": 90,
+ "h": 94
}
},
{
@@ -770,20 +392,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -791,20 +413,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -812,20 +434,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -833,20 +455,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -854,20 +476,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -875,20 +497,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -896,20 +518,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -917,20 +539,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -938,20 +560,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -959,20 +581,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -980,20 +602,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -1001,272 +623,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
"w": 91,
- "h": 92
+ "h": 95
},
- "frame": {
- "x": 275,
- "y": 92,
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0063.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0064.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
+ "h": 91
},
"frame": {
"x": 90,
- "y": 97,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 90,
- "y": 97,
- "w": 89,
- "h": 93
+ "y": 0,
+ "w": 91,
+ "h": 91
}
},
{
@@ -1274,20 +644,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1295,20 +665,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1316,20 +686,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1337,20 +707,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1358,20 +728,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1379,20 +749,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1400,20 +770,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1421,20 +791,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1442,20 +812,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1463,20 +833,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1484,20 +854,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1505,19 +875,229 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
+ "h": 91
+ },
+ "frame": {
+ "x": 181,
+ "y": 0,
+ "w": 90,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
"h": 92
},
"frame": {
"x": 90,
- "y": 190,
- "w": 90,
+ "y": 91,
+ "w": 89,
+ "h": 92
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
+ },
+ "frame": {
+ "x": 90,
+ "y": 91,
+ "w": 89,
+ "h": 92
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
+ },
+ "frame": {
+ "x": 90,
+ "y": 91,
+ "w": 89,
+ "h": 92
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
+ },
+ "frame": {
+ "x": 90,
+ "y": 91,
+ "w": 89,
+ "h": 92
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
+ },
+ "frame": {
+ "x": 90,
+ "y": 91,
+ "w": 89,
+ "h": 92
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
+ },
+ "frame": {
+ "x": 90,
+ "y": 91,
+ "w": 89,
+ "h": 92
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
+ },
+ "frame": {
+ "x": 90,
+ "y": 91,
+ "w": 89,
+ "h": 92
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
+ },
+ "frame": {
+ "x": 90,
+ "y": 91,
+ "w": 89,
+ "h": 92
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
+ },
+ "frame": {
+ "x": 90,
+ "y": 91,
+ "w": 89,
+ "h": 92
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
+ },
+ "frame": {
+ "x": 90,
+ "y": 91,
+ "w": 89,
"h": 92
}
},
@@ -1526,20 +1106,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1547,20 +1127,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1568,20 +1148,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1589,20 +1169,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1610,20 +1190,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1631,20 +1211,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1652,20 +1232,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1673,20 +1253,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1694,20 +1274,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1715,20 +1295,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1736,20 +1316,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1757,62 +1337,62 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
+ "w": 89,
+ "h": 91
+ },
+ "frame": {
+ "x": 90,
+ "y": 183,
+ "w": 89,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
"w": 89,
"h": 92
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 179,
+ "y": 91,
"w": 89,
"h": 92
}
},
{
- "filename": "0077.png",
+ "filename": "0016.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 90,
- "h": 90
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
},
"frame": {
- "x": 269,
- "y": 184,
- "w": 90,
- "h": 90
- }
- },
- {
- "filename": "0078.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 90,
- "h": 90
- },
- "frame": {
- "x": 269,
- "y": 184,
- "w": 90,
- "h": 90
+ "x": 179,
+ "y": 91,
+ "w": 89,
+ "h": 92
}
},
{
@@ -1820,20 +1400,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 88,
- "h": 92
+ "x": 4,
+ "y": 4,
+ "w": 87,
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 274,
- "w": 88,
- "h": 92
+ "x": 179,
+ "y": 183,
+ "w": 87,
+ "h": 91
}
},
{
@@ -1841,20 +1421,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 88,
- "h": 92
+ "x": 4,
+ "y": 4,
+ "w": 87,
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 274,
- "w": 88,
- "h": 92
+ "x": 179,
+ "y": 183,
+ "w": 87,
+ "h": 91
}
},
{
@@ -1862,20 +1442,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 88,
- "h": 92
+ "x": 4,
+ "y": 4,
+ "w": 87,
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 274,
- "w": 88,
- "h": 92
+ "x": 179,
+ "y": 183,
+ "w": 87,
+ "h": 91
}
},
{
@@ -1883,20 +1463,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 88,
- "h": 92
+ "x": 4,
+ "y": 4,
+ "w": 87,
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 274,
- "w": 88,
- "h": 92
+ "x": 179,
+ "y": 183,
+ "w": 87,
+ "h": 91
}
},
{
@@ -1904,20 +1484,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 88,
- "h": 92
+ "x": 4,
+ "y": 4,
+ "w": 87,
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 274,
- "w": 88,
- "h": 92
+ "x": 179,
+ "y": 183,
+ "w": 87,
+ "h": 91
}
},
{
@@ -1925,608 +1505,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 88,
- "h": 92
+ "x": 4,
+ "y": 4,
+ "w": 87,
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 274,
- "w": 88,
- "h": 92
- }
- },
- {
- "filename": "0085.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 7,
- "w": 79,
- "h": 86
- },
- "frame": {
- "x": 268,
- "y": 274,
- "w": 79,
- "h": 86
- }
- },
- {
- "filename": "0086.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 7,
- "w": 79,
- "h": 86
- },
- "frame": {
- "x": 268,
- "y": 274,
- "w": 79,
- "h": 86
- }
- },
- {
- "filename": "0116.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 10,
- "w": 79,
- "h": 83
- },
- "frame": {
- "x": 347,
- "y": 274,
- "w": 79,
- "h": 83
- }
- },
- {
- "filename": "0113.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 20,
- "y": 11,
- "w": 71,
- "h": 69
- },
- "frame": {
- "x": 347,
- "y": 357,
- "w": 71,
- "h": 69
- }
- },
- {
- "filename": "0114.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 20,
- "y": 11,
- "w": 71,
- "h": 69
- },
- "frame": {
- "x": 347,
- "y": 357,
- "w": 71,
- "h": 69
- }
- },
- {
- "filename": "0115.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 20,
- "y": 11,
- "w": 71,
- "h": 69
- },
- "frame": {
- "x": 347,
- "y": 357,
- "w": 71,
- "h": 69
- }
- },
- {
- "filename": "0087.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 20,
- "y": 12,
- "w": 59,
- "h": 70
- },
- "frame": {
- "x": 359,
- "y": 184,
- "w": 59,
- "h": 70
- }
- },
- {
- "filename": "0088.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 20,
- "y": 12,
- "w": 59,
- "h": 70
- },
- "frame": {
- "x": 359,
- "y": 184,
- "w": 59,
- "h": 70
- }
- },
- {
- "filename": "0091.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 35,
- "y": 23,
- "w": 27,
- "h": 33
- },
- "frame": {
- "x": 0,
- "y": 384,
- "w": 27,
- "h": 33
- }
- },
- {
- "filename": "0092.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 35,
- "y": 23,
- "w": 27,
- "h": 33
- },
- "frame": {
- "x": 371,
- "y": 54,
- "w": 27,
- "h": 33
- }
- },
- {
- "filename": "0093.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 42,
- "y": 26,
- "w": 19,
- "h": 23
- },
- "frame": {
- "x": 27,
- "y": 384,
- "w": 19,
- "h": 23
- }
- },
- {
- "filename": "0094.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 42,
- "y": 26,
- "w": 19,
- "h": 23
- },
- "frame": {
- "x": 27,
- "y": 384,
- "w": 19,
- "h": 23
- }
- },
- {
- "filename": "0095.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 42,
- "y": 35,
- "w": 14,
- "h": 10
- },
- "frame": {
- "x": 359,
- "y": 254,
- "w": 14,
- "h": 10
- }
- },
- {
- "filename": "0096.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 42,
- "y": 35,
- "w": 14,
- "h": 10
- },
- "frame": {
- "x": 359,
- "y": 254,
- "w": 14,
- "h": 10
- }
- },
- {
- "filename": "0097.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0098.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0099.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0100.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0101.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0102.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0103.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0104.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0105.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0106.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0107.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0108.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0109.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0110.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
+ "x": 179,
+ "y": 183,
+ "w": 87,
+ "h": 91
}
}
]
@@ -2535,6 +1527,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:52f94c22e7d6d2608638048866c1910a:045ab453153e084bad1f17ca61076c30:5ea3e660bc9c2624f846675d5196db82$"
+ "smartupdate": "$TexturePacker:SmartUpdate:4eec21f441df8c5ce7313596a1672a9e:bec666304c4bb8072e19fa13a830a7c8:5ea3e660bc9c2624f846675d5196db82$"
}
}
diff --git a/public/images/pokemon/exp/484-origin.png b/public/images/pokemon/exp/484-origin.png
index dbd6db55f78..2d8d0fde472 100644
Binary files a/public/images/pokemon/exp/484-origin.png and b/public/images/pokemon/exp/484-origin.png differ
diff --git a/public/images/pokemon/exp/569-gigantamax.json b/public/images/pokemon/exp/569-gigantamax.json
new file mode 100644
index 00000000000..6cda2b0d79a
--- /dev/null
+++ b/public/images/pokemon/exp/569-gigantamax.json
@@ -0,0 +1,1478 @@
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0013.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0014.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0015.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0016.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0017.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0018.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0019.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0020.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0021.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0022.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0023.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0024.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0025.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0026.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0027.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0028.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0029.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0030.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0031.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0032.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0033.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0034.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0035.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0036.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0037.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0038.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0039.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0040.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0041.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0042.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0043.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0044.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0045.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0046.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0047.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0048.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0049.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0050.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0051.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0052.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0053.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0054.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0055.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0056.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0057.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0058.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0059.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0060.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0061.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0062.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0063.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0064.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0065.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0066.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0067.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0068.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0069.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0070.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0071.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0072.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0073.png",
+ "frame": { "x": 305, "y": 173, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0074.png",
+ "frame": { "x": 305, "y": 173, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0075.png",
+ "frame": { "x": 305, "y": 173, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0076.png",
+ "frame": { "x": 206, "y": 88, "w": 99, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 0, "w": 99, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0077.png",
+ "frame": { "x": 206, "y": 88, "w": 99, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 0, "w": 99, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0078.png",
+ "frame": { "x": 108, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0079.png",
+ "frame": { "x": 108, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0080.png",
+ "frame": { "x": 108, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0081.png",
+ "frame": { "x": 211, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0082.png",
+ "frame": { "x": 211, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0083.png",
+ "frame": { "x": 211, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0084.png",
+ "frame": { "x": 211, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0085.png",
+ "frame": { "x": 211, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0086.png",
+ "frame": { "x": 211, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0087.png",
+ "frame": { "x": 108, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0088.png",
+ "frame": { "x": 108, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0089.png",
+ "frame": { "x": 108, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0090.png",
+ "frame": { "x": 108, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0091.png",
+ "frame": { "x": 206, "y": 88, "w": 99, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 0, "w": 99, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0092.png",
+ "frame": { "x": 206, "y": 88, "w": 99, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 0, "w": 99, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0093.png",
+ "frame": { "x": 206, "y": 88, "w": 99, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 0, "w": 99, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0094.png",
+ "frame": { "x": 305, "y": 173, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0095.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0096.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0097.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0098.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0099.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0100.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0101.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0102.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0103.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0104.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0105.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0106.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0107.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0108.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0109.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0110.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0111.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0112.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0113.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0114.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0115.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0116.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0117.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0118.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0119.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0120.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0121.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0122.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0123.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0124.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0125.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0126.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0127.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0128.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0129.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0130.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0131.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0132.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0133.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0134.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0135.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0136.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0137.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0138.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0139.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0140.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0141.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0142.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0143.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0144.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0145.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0146.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0147.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0148.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0149.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0150.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0151.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0152.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0153.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0154.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0155.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0156.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0157.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0158.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0159.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0160.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0161.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0162.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0163.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.13-x64",
+ "image": "569-gigantamax.png",
+ "format": "I8",
+ "size": { "w": 419, "h": 261 },
+ "scale": "1"
+ }
+}
diff --git a/public/images/pokemon/exp/569-gigantamax.png b/public/images/pokemon/exp/569-gigantamax.png
new file mode 100644
index 00000000000..90decc0ad84
Binary files /dev/null and b/public/images/pokemon/exp/569-gigantamax.png differ
diff --git a/public/images/pokemon/exp/666-fancy.png b/public/images/pokemon/exp/666-fancy.png
index 6c23274c5e0..92da507a61f 100644
Binary files a/public/images/pokemon/exp/666-fancy.png and b/public/images/pokemon/exp/666-fancy.png differ
diff --git a/public/images/pokemon/exp/666-high-plains.png b/public/images/pokemon/exp/666-high-plains.png
index 9d6527bf091..a34b2fd8254 100644
Binary files a/public/images/pokemon/exp/666-high-plains.png and b/public/images/pokemon/exp/666-high-plains.png differ
diff --git a/public/images/pokemon/exp/666-meadow.json b/public/images/pokemon/exp/666-meadow.json
index ee4f6d31bc0..77158992e59 100644
--- a/public/images/pokemon/exp/666-meadow.json
+++ b/public/images/pokemon/exp/666-meadow.json
@@ -1,314 +1,551 @@
-{
- "textures": [
- {
- "image": "666-meadow.png",
- "format": "RGBA8888",
- "size": {
- "w": 243,
- "h": 243
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 93
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 84,
- "h": 88
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 84,
- "h": 88
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 93
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 77,
- "h": 89
- },
- "frame": {
- "x": 0,
- "y": 88,
- "w": 77,
- "h": 89
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 93
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 77,
- "h": 89
- },
- "frame": {
- "x": 0,
- "y": 88,
- "w": 77,
- "h": 89
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 93
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 69,
- "h": 89
- },
- "frame": {
- "x": 77,
- "y": 88,
- "w": 69,
- "h": 89
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 93
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 69,
- "h": 89
- },
- "frame": {
- "x": 77,
- "y": 88,
- "w": 69,
- "h": 89
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 93
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 3,
- "w": 62,
- "h": 87
- },
- "frame": {
- "x": 84,
- "y": 0,
- "w": 62,
- "h": 87
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 93
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 3,
- "w": 62,
- "h": 87
- },
- "frame": {
- "x": 84,
- "y": 0,
- "w": 62,
- "h": 87
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 93
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 2,
- "w": 56,
- "h": 86
- },
- "frame": {
- "x": 146,
- "y": 0,
- "w": 56,
- "h": 86
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 93
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 2,
- "w": 56,
- "h": 86
- },
- "frame": {
- "x": 146,
- "y": 0,
- "w": 56,
- "h": 86
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 93
- },
- "spriteSourceSize": {
- "x": 19,
- "y": 0,
- "w": 41,
- "h": 85
- },
- "frame": {
- "x": 202,
- "y": 0,
- "w": 41,
- "h": 85
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 93
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 51,
- "h": 86
- },
- "frame": {
- "x": 146,
- "y": 86,
- "w": 51,
- "h": 86
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 93
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 51,
- "h": 86
- },
- "frame": {
- "x": 146,
- "y": 86,
- "w": 51,
- "h": 86
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 93
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 46,
- "h": 86
- },
- "frame": {
- "x": 197,
- "y": 86,
- "w": 46,
- "h": 86
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 93
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 46,
- "h": 86
- },
- "frame": {
- "x": 197,
- "y": 86,
- "w": 46,
- "h": 86
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:223ce33721ef8da9ff40286099c20de4:b82acd304c2a8b8cebeda2043a3e1f96:f8ac4807b4d6eef2256fa1b93e0f89ba$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 14, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 347, "y": 2, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 15, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 16, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 347, "y": 71, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 17, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 18, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 347, "y": 140, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 20, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 209, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 21, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 347, "y": 140, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 20, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 18, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 347, "y": 71, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 17, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 16, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 347, "y": 2, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 15, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0013.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 14, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0014.png",
+ "frame": { "x": 347, "y": 2, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 15, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0015.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 16, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0016.png",
+ "frame": { "x": 347, "y": 71, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 17, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0017.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 18, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0018.png",
+ "frame": { "x": 347, "y": 140, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 20, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0019.png",
+ "frame": { "x": 209, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 21, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0020.png",
+ "frame": { "x": 347, "y": 140, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 20, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0021.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 18, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0022.png",
+ "frame": { "x": 347, "y": 71, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 17, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0023.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 16, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0024.png",
+ "frame": { "x": 347, "y": 2, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 15, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0025.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 14, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0026.png",
+ "frame": { "x": 347, "y": 2, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 15, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0027.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 16, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0028.png",
+ "frame": { "x": 347, "y": 71, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 17, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0029.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 18, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0030.png",
+ "frame": { "x": 347, "y": 140, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 20, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0031.png",
+ "frame": { "x": 209, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 21, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0032.png",
+ "frame": { "x": 347, "y": 140, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 20, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0033.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 18, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0034.png",
+ "frame": { "x": 347, "y": 71, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 17, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0035.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 16, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0036.png",
+ "frame": { "x": 347, "y": 2, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 15, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0037.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 14, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0038.png",
+ "frame": { "x": 2, "y": 209, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 15, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0039.png",
+ "frame": { "x": 278, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 16, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0040.png",
+ "frame": { "x": 53, "y": 209, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 17, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0041.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 18, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0042.png",
+ "frame": { "x": 104, "y": 209, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 19, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0043.png",
+ "frame": { "x": 71, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 20, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0044.png",
+ "frame": { "x": 155, "y": 209, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 19, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0045.png",
+ "frame": { "x": 140, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 18, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0046.png",
+ "frame": { "x": 206, "y": 209, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 17, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0047.png",
+ "frame": { "x": 209, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 16, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0048.png",
+ "frame": { "x": 257, "y": 209, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 15, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0049.png",
+ "frame": { "x": 278, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 14, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0050.png",
+ "frame": { "x": 308, "y": 209, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 15, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0051.png",
+ "frame": { "x": 2, "y": 140, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 16, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0052.png",
+ "frame": { "x": 53, "y": 209, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 17, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0053.png",
+ "frame": { "x": 71, "y": 140, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 18, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0054.png",
+ "frame": { "x": 104, "y": 209, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 19, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0055.png",
+ "frame": { "x": 140, "y": 140, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 20, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0056.png",
+ "frame": { "x": 2, "y": 278, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 19, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0057.png",
+ "frame": { "x": 209, "y": 140, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 18, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0058.png",
+ "frame": { "x": 53, "y": 278, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 17, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0059.png",
+ "frame": { "x": 278, "y": 140, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 16, "w": 67, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ },
+ {
+ "filename": "0060.png",
+ "frame": { "x": 104, "y": 278, "w": 49, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 15, "w": 49, "h": 67 },
+ "sourceSize": { "w": 96, "h": 96 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-meadow.png",
+ "format": "I8",
+ "size": { "w": 398, "h": 347 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/666-meadow.png b/public/images/pokemon/exp/666-meadow.png
index 3f9f758ad1f..6912a8d8174 100644
Binary files a/public/images/pokemon/exp/666-meadow.png and b/public/images/pokemon/exp/666-meadow.png differ
diff --git a/public/images/pokemon/exp/666-poke-ball.png b/public/images/pokemon/exp/666-poke-ball.png
index e33fe6e8c5a..58cae8e2aaa 100644
Binary files a/public/images/pokemon/exp/666-poke-ball.png and b/public/images/pokemon/exp/666-poke-ball.png differ
diff --git a/public/images/pokemon/exp/666-river.png b/public/images/pokemon/exp/666-river.png
index 1e908ff89b6..433b2c39254 100644
Binary files a/public/images/pokemon/exp/666-river.png and b/public/images/pokemon/exp/666-river.png differ
diff --git a/public/images/pokemon/exp/815-gigantamax.json b/public/images/pokemon/exp/815-gigantamax.json
new file mode 100644
index 00000000000..d8fb9d62e57
--- /dev/null
+++ b/public/images/pokemon/exp/815-gigantamax.json
@@ -0,0 +1,659 @@
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 343, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 357, "y": 1, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 177, "y": 194, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 4, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 179, "y": 1, "w": 87, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 87, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 85, "y": 292, "w": 82, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 4, "w": 82, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 252, "y": 482, "w": 81, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 81, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 258, "y": 290, "w": 83, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 5, "w": 83, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 416, "y": 484, "w": 79, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 4, "w": 79, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 426, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 3, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 445, "y": 1, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 179, "y": 97, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 1, "y": 1, "w": 87, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 2, "w": 87, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0013.png",
+ "frame": { "x": 523, "y": 195, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 2, "w": 82, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0014.png",
+ "frame": { "x": 509, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0015.png",
+ "frame": { "x": 89, "y": 195, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0016.png",
+ "frame": { "x": 531, "y": 98, "w": 79, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 79, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0017.png",
+ "frame": { "x": 343, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0018.png",
+ "frame": { "x": 357, "y": 1, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0019.png",
+ "frame": { "x": 177, "y": 194, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 4, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0020.png",
+ "frame": { "x": 179, "y": 1, "w": 87, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 87, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0021.png",
+ "frame": { "x": 85, "y": 292, "w": 82, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 4, "w": 82, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0022.png",
+ "frame": { "x": 252, "y": 482, "w": 81, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 81, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0023.png",
+ "frame": { "x": 258, "y": 290, "w": 83, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 5, "w": 83, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0024.png",
+ "frame": { "x": 416, "y": 484, "w": 79, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 4, "w": 79, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0025.png",
+ "frame": { "x": 426, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 3, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0026.png",
+ "frame": { "x": 445, "y": 1, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0027.png",
+ "frame": { "x": 179, "y": 97, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0028.png",
+ "frame": { "x": 1, "y": 1, "w": 87, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 2, "w": 87, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0029.png",
+ "frame": { "x": 523, "y": 195, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 2, "w": 82, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0030.png",
+ "frame": { "x": 509, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0031.png",
+ "frame": { "x": 89, "y": 195, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0032.png",
+ "frame": { "x": 531, "y": 98, "w": 79, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 79, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0033.png",
+ "frame": { "x": 343, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0034.png",
+ "frame": { "x": 357, "y": 1, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0035.png",
+ "frame": { "x": 177, "y": 194, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 4, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0036.png",
+ "frame": { "x": 179, "y": 1, "w": 87, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 87, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0037.png",
+ "frame": { "x": 85, "y": 292, "w": 82, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 4, "w": 82, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0038.png",
+ "frame": { "x": 252, "y": 482, "w": 81, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 81, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0039.png",
+ "frame": { "x": 258, "y": 290, "w": 83, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 5, "w": 83, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0040.png",
+ "frame": { "x": 416, "y": 484, "w": 79, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 4, "w": 79, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0041.png",
+ "frame": { "x": 426, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 3, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0042.png",
+ "frame": { "x": 445, "y": 1, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0043.png",
+ "frame": { "x": 179, "y": 97, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0044.png",
+ "frame": { "x": 1, "y": 1, "w": 87, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 2, "w": 87, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0045.png",
+ "frame": { "x": 523, "y": 195, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 2, "w": 82, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0046.png",
+ "frame": { "x": 509, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0047.png",
+ "frame": { "x": 89, "y": 195, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0048.png",
+ "frame": { "x": 531, "y": 98, "w": 79, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 79, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0049.png",
+ "frame": { "x": 258, "y": 385, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0050.png",
+ "frame": { "x": 267, "y": 97, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0051.png",
+ "frame": { "x": 1, "y": 98, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0052.png",
+ "frame": { "x": 268, "y": 1, "w": 87, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 3, "w": 87, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0053.png",
+ "frame": { "x": 426, "y": 389, "w": 82, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 82, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0054.png",
+ "frame": { "x": 1, "y": 484, "w": 81, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 6, "w": 81, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0055.png",
+ "frame": { "x": 341, "y": 389, "w": 83, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 7, "w": 83, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0056.png",
+ "frame": { "x": 84, "y": 485, "w": 79, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 9, "w": 79, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0057.png",
+ "frame": { "x": 167, "y": 484, "w": 81, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 7, "w": 81, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0058.png",
+ "frame": { "x": 1, "y": 195, "w": 86, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 5, "w": 86, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0059.png",
+ "frame": { "x": 265, "y": 194, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0060.png",
+ "frame": { "x": 89, "y": 98, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0061.png",
+ "frame": { "x": 1, "y": 290, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 82, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0062.png",
+ "frame": { "x": 1, "y": 387, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 1, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0063.png",
+ "frame": { "x": 353, "y": 195, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 0, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0064.png",
+ "frame": { "x": 510, "y": 389, "w": 80, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 1, "w": 80, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0065.png",
+ "frame": { "x": 169, "y": 387, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 13, "y": 1, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0066.png",
+ "frame": { "x": 355, "y": 98, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 1, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0067.png",
+ "frame": { "x": 443, "y": 98, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0068.png",
+ "frame": { "x": 90, "y": 1, "w": 87, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 3, "w": 87, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0069.png",
+ "frame": { "x": 174, "y": 290, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 82, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0070.png",
+ "frame": { "x": 84, "y": 388, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 4, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0071.png",
+ "frame": { "x": 438, "y": 195, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 3, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0072.png",
+ "frame": { "x": 335, "y": 483, "w": 79, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 2, "w": 79, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.13-x64",
+ "image": "815-gigantamax.png",
+ "format": "I8",
+ "size": { "w": 611, "h": 579 },
+ "scale": "1"
+ }
+}
diff --git a/public/images/pokemon/exp/815-gigantamax.png b/public/images/pokemon/exp/815-gigantamax.png
new file mode 100644
index 00000000000..4720e564c09
Binary files /dev/null and b/public/images/pokemon/exp/815-gigantamax.png differ
diff --git a/public/images/pokemon/exp/839-gigantamax.json b/public/images/pokemon/exp/839-gigantamax.json
new file mode 100644
index 00000000000..15a7c122f5d
--- /dev/null
+++ b/public/images/pokemon/exp/839-gigantamax.json
@@ -0,0 +1,821 @@
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 525, "y": 567, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 441, "y": 566, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 609, "y": 567, "w": 83, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 0, "w": 83, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 255, "y": 563, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 171, "y": 563, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 0, "y": 569, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 1, "w": 83, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 339, "y": 569, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 1, "w": 82, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 0, "y": 474, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 1, "w": 86, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 464, "y": 375, "w": 89, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 1, "w": 89, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 580, "y": 190, "w": 92, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 92, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 95, "y": 96, "w": 94, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 1, "w": 94, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 198, "y": 95, "w": 95, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 95, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0013.png",
+ "frame": { "x": 491, "y": 0, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 96, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0014.png",
+ "frame": { "x": 297, "y": 0, "w": 98, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 1, "y": 1, "w": 98, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0015.png",
+ "frame": { "x": 0, "y": 0, "w": 100, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 100, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0016.png",
+ "frame": { "x": 198, "y": 0, "w": 99, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 99, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0017.png",
+ "frame": { "x": 100, "y": 0, "w": 98, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 0, "w": 98, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0018.png",
+ "frame": { "x": 395, "y": 0, "w": 96, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 0, "w": 96, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0019.png",
+ "frame": { "x": 189, "y": 190, "w": 92, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 92, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0020.png",
+ "frame": { "x": 89, "y": 379, "w": 88, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 0, "w": 88, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0021.png",
+ "frame": { "x": 525, "y": 567, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0022.png",
+ "frame": { "x": 441, "y": 566, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0023.png",
+ "frame": { "x": 609, "y": 567, "w": 83, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 0, "w": 83, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0024.png",
+ "frame": { "x": 255, "y": 563, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0025.png",
+ "frame": { "x": 171, "y": 563, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0026.png",
+ "frame": { "x": 0, "y": 569, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 1, "w": 83, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0027.png",
+ "frame": { "x": 339, "y": 569, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 1, "w": 82, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0028.png",
+ "frame": { "x": 0, "y": 474, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 1, "w": 86, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0029.png",
+ "frame": { "x": 464, "y": 375, "w": 89, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 1, "w": 89, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0030.png",
+ "frame": { "x": 580, "y": 190, "w": 92, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 92, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0031.png",
+ "frame": { "x": 95, "y": 96, "w": 94, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 1, "w": 94, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0032.png",
+ "frame": { "x": 198, "y": 95, "w": 95, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 95, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0033.png",
+ "frame": { "x": 491, "y": 0, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 96, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0034.png",
+ "frame": { "x": 297, "y": 0, "w": 98, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 1, "y": 1, "w": 98, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0035.png",
+ "frame": { "x": 0, "y": 0, "w": 100, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 100, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0036.png",
+ "frame": { "x": 198, "y": 0, "w": 99, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 99, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0037.png",
+ "frame": { "x": 100, "y": 0, "w": 98, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 0, "w": 98, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0038.png",
+ "frame": { "x": 395, "y": 0, "w": 96, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 0, "w": 96, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0039.png",
+ "frame": { "x": 189, "y": 190, "w": 92, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 92, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0040.png",
+ "frame": { "x": 89, "y": 379, "w": 88, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 0, "w": 88, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0041.png",
+ "frame": { "x": 525, "y": 567, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0042.png",
+ "frame": { "x": 441, "y": 566, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0043.png",
+ "frame": { "x": 609, "y": 567, "w": 83, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 0, "w": 83, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0044.png",
+ "frame": { "x": 255, "y": 563, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0045.png",
+ "frame": { "x": 171, "y": 563, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0046.png",
+ "frame": { "x": 0, "y": 569, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 1, "w": 83, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0047.png",
+ "frame": { "x": 339, "y": 569, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 1, "w": 82, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0048.png",
+ "frame": { "x": 0, "y": 474, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 1, "w": 86, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0049.png",
+ "frame": { "x": 464, "y": 375, "w": 89, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 1, "w": 89, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0050.png",
+ "frame": { "x": 580, "y": 190, "w": 92, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 92, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0051.png",
+ "frame": { "x": 95, "y": 96, "w": 94, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 1, "w": 94, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0052.png",
+ "frame": { "x": 198, "y": 95, "w": 95, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 95, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0053.png",
+ "frame": { "x": 491, "y": 0, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 96, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0054.png",
+ "frame": { "x": 297, "y": 0, "w": 98, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 1, "y": 1, "w": 98, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0055.png",
+ "frame": { "x": 0, "y": 0, "w": 100, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 100, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0056.png",
+ "frame": { "x": 198, "y": 0, "w": 99, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 99, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0057.png",
+ "frame": { "x": 100, "y": 0, "w": 98, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 0, "w": 98, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0058.png",
+ "frame": { "x": 395, "y": 0, "w": 96, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 0, "w": 96, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0059.png",
+ "frame": { "x": 189, "y": 190, "w": 92, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 92, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0060.png",
+ "frame": { "x": 89, "y": 379, "w": 88, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 0, "w": 88, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0061.png",
+ "frame": { "x": 525, "y": 567, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0062.png",
+ "frame": { "x": 454, "y": 470, "w": 86, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 0, "w": 86, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0063.png",
+ "frame": { "x": 0, "y": 379, "w": 89, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 1, "w": 89, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0064.png",
+ "frame": { "x": 573, "y": 285, "w": 91, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 13, "y": 1, "w": 91, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0065.png",
+ "frame": { "x": 93, "y": 191, "w": 92, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 15, "y": 1, "w": 92, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0066.png",
+ "frame": { "x": 390, "y": 96, "w": 94, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 17, "y": 1, "w": 94, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0067.png",
+ "frame": { "x": 585, "y": 96, "w": 94, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 17, "y": 2, "w": 94, "h": 94 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0068.png",
+ "frame": { "x": 293, "y": 95, "w": 97, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 3, "w": 97, "h": 93 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0069.png",
+ "frame": { "x": 484, "y": 190, "w": 96, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 4, "w": 96, "h": 92 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0070.png",
+ "frame": { "x": 92, "y": 286, "w": 92, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 3, "w": 92, "h": 93 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0071.png",
+ "frame": { "x": 177, "y": 471, "w": 89, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 89, "h": 92 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0072.png",
+ "frame": { "x": 177, "y": 379, "w": 91, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 4, "w": 91, "h": 92 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0073.png",
+ "frame": { "x": 184, "y": 286, "w": 91, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 3, "w": 91, "h": 93 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0074.png",
+ "frame": { "x": 480, "y": 282, "w": 93, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 3, "w": 93, "h": 93 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0075.png",
+ "frame": { "x": 281, "y": 281, "w": 93, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 3, "w": 93, "h": 93 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0076.png",
+ "frame": { "x": 293, "y": 188, "w": 95, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 3, "w": 95, "h": 93 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0077.png",
+ "frame": { "x": 587, "y": 0, "w": 95, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 0, "w": 95, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0078.png",
+ "frame": { "x": 0, "y": 95, "w": 95, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 95, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0079.png",
+ "frame": { "x": 491, "y": 95, "w": 94, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 94, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0080.png",
+ "frame": { "x": 0, "y": 190, "w": 93, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 1, "w": 93, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0081.png",
+ "frame": { "x": 388, "y": 191, "w": 92, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 1, "w": 92, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0082.png",
+ "frame": { "x": 0, "y": 285, "w": 92, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 2, "w": 92, "h": 94 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0083.png",
+ "frame": { "x": 275, "y": 374, "w": 90, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 2, "w": 90, "h": 94 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0084.png",
+ "frame": { "x": 374, "y": 286, "w": 90, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 2, "w": 90, "h": 94 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0085.png",
+ "frame": { "x": 365, "y": 380, "w": 89, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 2, "w": 89, "h": 94 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0086.png",
+ "frame": { "x": 553, "y": 380, "w": 89, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 3, "w": 89, "h": 93 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0087.png",
+ "frame": { "x": 540, "y": 473, "w": 87, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 2, "w": 87, "h": 94 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0088.png",
+ "frame": { "x": 268, "y": 468, "w": 87, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 87, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0089.png",
+ "frame": { "x": 355, "y": 474, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 86, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0090.png",
+ "frame": { "x": 86, "y": 475, "w": 85, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 85, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.13-x64",
+ "image": "839-gigantamax.png",
+ "format": "I8",
+ "size": { "w": 692, "h": 664 },
+ "scale": "1"
+ }
+}
diff --git a/public/images/pokemon/exp/839-gigantamax.png b/public/images/pokemon/exp/839-gigantamax.png
new file mode 100644
index 00000000000..5a614b0c895
Binary files /dev/null and b/public/images/pokemon/exp/839-gigantamax.png differ
diff --git a/public/images/pokemon/exp/back/569-gigantamax.json b/public/images/pokemon/exp/back/569-gigantamax.json
new file mode 100644
index 00000000000..b266f5eb799
--- /dev/null
+++ b/public/images/pokemon/exp/back/569-gigantamax.json
@@ -0,0 +1,1478 @@
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0013.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0014.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0015.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0016.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0017.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0018.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0019.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0020.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0021.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0022.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0023.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0024.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0025.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0026.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0027.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0028.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0029.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0030.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0031.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0032.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0033.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0034.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0035.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0036.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0037.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0038.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0039.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0040.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0041.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0042.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0043.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0044.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0045.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0046.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0047.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0048.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0049.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0050.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0051.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0052.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0053.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0054.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0055.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0056.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0057.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0058.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0059.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0060.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0061.png",
+ "frame": { "x": 311, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0062.png",
+ "frame": { "x": 311, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0063.png",
+ "frame": { "x": 311, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0064.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0065.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0066.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0067.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0068.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0069.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0070.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0071.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0072.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0073.png",
+ "frame": { "x": 0, "y": 186, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0074.png",
+ "frame": { "x": 0, "y": 186, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0075.png",
+ "frame": { "x": 0, "y": 186, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0076.png",
+ "frame": { "x": 96, "y": 186, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0077.png",
+ "frame": { "x": 96, "y": 186, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0078.png",
+ "frame": { "x": 0, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0079.png",
+ "frame": { "x": 0, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0080.png",
+ "frame": { "x": 0, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0081.png",
+ "frame": { "x": 97, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0082.png",
+ "frame": { "x": 97, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0083.png",
+ "frame": { "x": 97, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0084.png",
+ "frame": { "x": 97, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0085.png",
+ "frame": { "x": 97, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0086.png",
+ "frame": { "x": 97, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0087.png",
+ "frame": { "x": 0, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0088.png",
+ "frame": { "x": 0, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0089.png",
+ "frame": { "x": 0, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0090.png",
+ "frame": { "x": 0, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0091.png",
+ "frame": { "x": 96, "y": 186, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0092.png",
+ "frame": { "x": 96, "y": 186, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0093.png",
+ "frame": { "x": 96, "y": 186, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0094.png",
+ "frame": { "x": 0, "y": 186, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0095.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0096.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0097.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0098.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0099.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0100.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0101.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0102.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0103.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0104.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0105.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0106.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0107.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0108.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0109.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0110.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0111.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0112.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0113.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0114.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0115.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0116.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0117.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0118.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0119.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0120.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0121.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0122.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0123.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0124.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0125.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0126.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0127.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0128.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0129.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0130.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0131.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0132.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0133.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0134.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0135.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0136.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0137.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0138.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0139.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0140.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0141.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0142.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0143.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0144.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0145.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0146.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0147.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0148.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0149.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0150.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0151.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0152.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0153.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0154.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0155.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0156.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0157.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0158.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0159.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0160.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0161.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0162.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0163.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.13-x64",
+ "image": "569-gigantamax.png",
+ "format": "I8",
+ "size": { "w": 413, "h": 281 },
+ "scale": "1"
+ }
+}
diff --git a/public/images/pokemon/exp/back/569-gigantamax.png b/public/images/pokemon/exp/back/569-gigantamax.png
new file mode 100644
index 00000000000..13bbe97bee4
Binary files /dev/null and b/public/images/pokemon/exp/back/569-gigantamax.png differ
diff --git a/public/images/pokemon/exp/back/666-archipelago.json b/public/images/pokemon/exp/back/666-archipelago.json
index bc4abf95a6d..817696f70a1 100644
--- a/public/images/pokemon/exp/back/666-archipelago.json
+++ b/public/images/pokemon/exp/back/666-archipelago.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-archipelago.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:223e2a75aa192f3fb67e18f7f0d6c4c7:ba854fe0d08f005e9aa52e55cdc7eb4e:80cdb6dd219378a41ccf5c2acc7e7786$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-archipelago.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-archipelago.png b/public/images/pokemon/exp/back/666-archipelago.png
index 83622bd976f..f83b645e0fe 100644
Binary files a/public/images/pokemon/exp/back/666-archipelago.png and b/public/images/pokemon/exp/back/666-archipelago.png differ
diff --git a/public/images/pokemon/exp/back/666-continental.json b/public/images/pokemon/exp/back/666-continental.json
index d0cd7359c88..fc21deb6978 100644
--- a/public/images/pokemon/exp/back/666-continental.json
+++ b/public/images/pokemon/exp/back/666-continental.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-continental.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 1,
- "w": 46,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 46,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 1,
- "w": 46,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 46,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 46,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 46,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:89725e18f2e4d97217076ac82b40230b:c83c3d03ad1200fc71d95ecafb54bc03:23aaac2256d564b9d8a58d7de70397c3$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-continental.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-continental.png b/public/images/pokemon/exp/back/666-continental.png
index 21447191338..f1a4cf5a2a4 100644
Binary files a/public/images/pokemon/exp/back/666-continental.png and b/public/images/pokemon/exp/back/666-continental.png differ
diff --git a/public/images/pokemon/exp/back/666-elegant.json b/public/images/pokemon/exp/back/666-elegant.json
index c44ea10f7dd..35c20315153 100644
--- a/public/images/pokemon/exp/back/666-elegant.json
+++ b/public/images/pokemon/exp/back/666-elegant.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-elegant.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 44,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 44,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 44,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 44,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:bbba66d69955866664e782205a4af88d:66e99814147be780756a4d4ccd8b31dc:d6b035048c66474f6236a3bc923faa7b$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-elegant.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-elegant.png b/public/images/pokemon/exp/back/666-elegant.png
index 3187d681140..2a75c09b505 100644
Binary files a/public/images/pokemon/exp/back/666-elegant.png and b/public/images/pokemon/exp/back/666-elegant.png differ
diff --git a/public/images/pokemon/exp/back/666-fancy.json b/public/images/pokemon/exp/back/666-fancy.json
index 657c29e99ee..54113df4b51 100644
--- a/public/images/pokemon/exp/back/666-fancy.json
+++ b/public/images/pokemon/exp/back/666-fancy.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-fancy.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:570d1bf9b987c1bf5ebfe39e485464dd:a3c8bebd39c1c84b1bf0fdf600026ea5:6d5edff9a806f43feff031c9919c9aca$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-fancy.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-fancy.png b/public/images/pokemon/exp/back/666-fancy.png
index 9f9f9c42e80..f7da62d0637 100644
Binary files a/public/images/pokemon/exp/back/666-fancy.png and b/public/images/pokemon/exp/back/666-fancy.png differ
diff --git a/public/images/pokemon/exp/back/666-garden.json b/public/images/pokemon/exp/back/666-garden.json
index 763dd125a5c..4fcc5ab0ad1 100644
--- a/public/images/pokemon/exp/back/666-garden.json
+++ b/public/images/pokemon/exp/back/666-garden.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-garden.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:4b2ac69ef7a99f6cef35d3fd38c74d01:8a4c29615f3bf20e9c5d0bb372a5b210:f13a1a8fa0a411aa91fccb833ac8719c$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-garden.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-garden.png b/public/images/pokemon/exp/back/666-garden.png
index 47a9a27e790..35e0dd02087 100644
Binary files a/public/images/pokemon/exp/back/666-garden.png and b/public/images/pokemon/exp/back/666-garden.png differ
diff --git a/public/images/pokemon/exp/back/666-high-plains.json b/public/images/pokemon/exp/back/666-high-plains.json
index 90101dd98ba..56a90a01899 100644
--- a/public/images/pokemon/exp/back/666-high-plains.json
+++ b/public/images/pokemon/exp/back/666-high-plains.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-high-plains.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:410c759185f779797422e8f2ce55db4f:6afd0d04b6138fdd57d12681e967b48c:2abdb5d19b2754e3daa24b6ff3ed2c2c$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-high-plains.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-high-plains.png b/public/images/pokemon/exp/back/666-high-plains.png
index 7b06fcc8040..7b84c4ebac3 100644
Binary files a/public/images/pokemon/exp/back/666-high-plains.png and b/public/images/pokemon/exp/back/666-high-plains.png differ
diff --git a/public/images/pokemon/exp/back/666-icy-snow.json b/public/images/pokemon/exp/back/666-icy-snow.json
index 17e6e3be8ef..b44f33bb07f 100644
--- a/public/images/pokemon/exp/back/666-icy-snow.json
+++ b/public/images/pokemon/exp/back/666-icy-snow.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-icy-snow.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:9f47e6de00b727163c2ffb6870af9c6b:16bfd68007c3798294c7d690e075f679:fb1e8b97806dc5c60ac6adf0ae48199b$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-icy-snow.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-icy-snow.png b/public/images/pokemon/exp/back/666-icy-snow.png
index b34659ded51..332e96a6d61 100644
Binary files a/public/images/pokemon/exp/back/666-icy-snow.png and b/public/images/pokemon/exp/back/666-icy-snow.png differ
diff --git a/public/images/pokemon/exp/back/666-jungle.json b/public/images/pokemon/exp/back/666-jungle.json
index b2ffdb768e6..51876d649da 100644
--- a/public/images/pokemon/exp/back/666-jungle.json
+++ b/public/images/pokemon/exp/back/666-jungle.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-jungle.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:4d8913bd65ce0b63c5354717532a7d60:39392afb8d9fb30f37b8d68b6cd368ad:c8686bcc5493911384853d54c85bfea1$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-jungle.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-jungle.png b/public/images/pokemon/exp/back/666-jungle.png
index 8e72fdd3af6..291c6bce18c 100644
Binary files a/public/images/pokemon/exp/back/666-jungle.png and b/public/images/pokemon/exp/back/666-jungle.png differ
diff --git a/public/images/pokemon/exp/back/666-marine.json b/public/images/pokemon/exp/back/666-marine.json
index 6f4be700dfc..18edbc78ec0 100644
--- a/public/images/pokemon/exp/back/666-marine.json
+++ b/public/images/pokemon/exp/back/666-marine.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-marine.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:b061fec5d665439da49159647e0a7d71:7cac8aa51d4531fbcf0f9ea9bf644452:dc240f0acbf3d56fe8729dd1f703009f$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-marine.png",
+ "format": "RGBA8888",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-marine.png b/public/images/pokemon/exp/back/666-marine.png
index 91c5b1be983..9e644f0cdaa 100644
Binary files a/public/images/pokemon/exp/back/666-marine.png and b/public/images/pokemon/exp/back/666-marine.png differ
diff --git a/public/images/pokemon/exp/back/666-meadow.json b/public/images/pokemon/exp/back/666-meadow.json
index 737ccd7c848..0f24040bd0d 100644
--- a/public/images/pokemon/exp/back/666-meadow.json
+++ b/public/images/pokemon/exp/back/666-meadow.json
@@ -1,524 +1,118 @@
-{
- "textures": [
- {
- "image": "666-meadow.png",
- "format": "RGBA8888",
- "size": {
- "w": 234,
- "h": 234
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 78,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 78,
- "h": 87
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 78,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 78,
- "h": 87
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 78,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 78,
- "h": 87
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 78,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 78,
- "h": 87
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 70,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 87,
- "w": 70,
- "h": 87
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 70,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 87,
- "w": 70,
- "h": 87
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 70,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 87,
- "w": 70,
- "h": 87
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 70,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 87,
- "w": 70,
- "h": 87
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 2,
- "w": 63,
- "h": 87
- },
- "frame": {
- "x": 70,
- "y": 87,
- "w": 63,
- "h": 87
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 2,
- "w": 63,
- "h": 87
- },
- "frame": {
- "x": 70,
- "y": 87,
- "w": 63,
- "h": 87
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 2,
- "w": 63,
- "h": 87
- },
- "frame": {
- "x": 70,
- "y": 87,
- "w": 63,
- "h": 87
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 2,
- "w": 63,
- "h": 87
- },
- "frame": {
- "x": 70,
- "y": 87,
- "w": 63,
- "h": 87
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 57,
- "h": 87
- },
- "frame": {
- "x": 78,
- "y": 0,
- "w": 57,
- "h": 87
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 57,
- "h": 87
- },
- "frame": {
- "x": 78,
- "y": 0,
- "w": 57,
- "h": 87
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 57,
- "h": 87
- },
- "frame": {
- "x": 78,
- "y": 0,
- "w": 57,
- "h": 87
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 57,
- "h": 87
- },
- "frame": {
- "x": 78,
- "y": 0,
- "w": 57,
- "h": 87
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 84,
- "h": 86
- },
- "frame": {
- "x": 135,
- "y": 0,
- "w": 84,
- "h": 86
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 84,
- "h": 86
- },
- "frame": {
- "x": 135,
- "y": 0,
- "w": 84,
- "h": 86
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 52,
- "h": 87
- },
- "frame": {
- "x": 135,
- "y": 86,
- "w": 52,
- "h": 87
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 52,
- "h": 87
- },
- "frame": {
- "x": 135,
- "y": 86,
- "w": 52,
- "h": 87
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 52,
- "h": 87
- },
- "frame": {
- "x": 135,
- "y": 86,
- "w": 52,
- "h": 87
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 52,
- "h": 87
- },
- "frame": {
- "x": 135,
- "y": 86,
- "w": 52,
- "h": 87
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 20,
- "y": 0,
- "w": 47,
- "h": 85
- },
- "frame": {
- "x": 187,
- "y": 86,
- "w": 47,
- "h": 85
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 20,
- "y": 0,
- "w": 47,
- "h": 85
- },
- "frame": {
- "x": 187,
- "y": 86,
- "w": 47,
- "h": 85
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:49698fe6f96ff24d2fe1c7a365f79f1b:f15ccef05dfd7ebb03ac6c66ae05dcef:f8ac4807b4d6eef2256fa1b93e0f89ba$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-meadow.png b/public/images/pokemon/exp/back/666-meadow.png
index d7d63b3098f..fabeb9730db 100644
Binary files a/public/images/pokemon/exp/back/666-meadow.png and b/public/images/pokemon/exp/back/666-meadow.png differ
diff --git a/public/images/pokemon/exp/back/666-modern.json b/public/images/pokemon/exp/back/666-modern.json
index a57b695d10b..e0a00da6d81 100644
--- a/public/images/pokemon/exp/back/666-modern.json
+++ b/public/images/pokemon/exp/back/666-modern.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-modern.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:deb5b8b4295c15b4c8718bf2ed9791d1:bbe309a34a59a4e2f74eeba5769476f4:5fc0e8f9a0750c2f3cfb5d6e7eca0d45$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-modern.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-modern.png b/public/images/pokemon/exp/back/666-modern.png
index 689876c3d6d..01a3981dd97 100644
Binary files a/public/images/pokemon/exp/back/666-modern.png and b/public/images/pokemon/exp/back/666-modern.png differ
diff --git a/public/images/pokemon/exp/back/666-monsoon.json b/public/images/pokemon/exp/back/666-monsoon.json
index 3afda85f798..117fad03b83 100644
--- a/public/images/pokemon/exp/back/666-monsoon.json
+++ b/public/images/pokemon/exp/back/666-monsoon.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-monsoon.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:71a24b11bc54be921b67b4376d798e05:f5358aac113e1f7af7eddf984d9692b3:637bea52b465abfb8e5a576310b4dacc$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-monsoon.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-monsoon.png b/public/images/pokemon/exp/back/666-monsoon.png
index e3cb4d2dca7..32cf2331411 100644
Binary files a/public/images/pokemon/exp/back/666-monsoon.png and b/public/images/pokemon/exp/back/666-monsoon.png differ
diff --git a/public/images/pokemon/exp/back/666-ocean.json b/public/images/pokemon/exp/back/666-ocean.json
index f0785703906..8d23d70cd31 100644
--- a/public/images/pokemon/exp/back/666-ocean.json
+++ b/public/images/pokemon/exp/back/666-ocean.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-ocean.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:a1a0079c64e9d91336d227b1380cd9d2:cf159e4653ad9208c0f4633a498a6cd1:e7a0e68eab89c2013a3eb7f3b6fc0b33$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-ocean.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-ocean.png b/public/images/pokemon/exp/back/666-ocean.png
index f60844a9b87..65665ea56c3 100644
Binary files a/public/images/pokemon/exp/back/666-ocean.png and b/public/images/pokemon/exp/back/666-ocean.png differ
diff --git a/public/images/pokemon/exp/back/666-poke-ball.json b/public/images/pokemon/exp/back/666-poke-ball.json
index ed04a06e7ab..45564e59a32 100644
--- a/public/images/pokemon/exp/back/666-poke-ball.json
+++ b/public/images/pokemon/exp/back/666-poke-ball.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-poke-ball.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:e744396a3b647429d050d678017c05ce:ec812f719dffcd362f0481d7d83c3476:8ec14f129d1691b8da504a13b661abed$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-poke-ball.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-poke-ball.png b/public/images/pokemon/exp/back/666-poke-ball.png
index eb3053e9434..895a2bf680f 100644
Binary files a/public/images/pokemon/exp/back/666-poke-ball.png and b/public/images/pokemon/exp/back/666-poke-ball.png differ
diff --git a/public/images/pokemon/exp/back/666-polar.json b/public/images/pokemon/exp/back/666-polar.json
index 4618d891d3f..abb6d0286f4 100644
--- a/public/images/pokemon/exp/back/666-polar.json
+++ b/public/images/pokemon/exp/back/666-polar.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-polar.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 45,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 45,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 45,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 45,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:a3b0453f2d03b9c62472f57a438298a4:81a5a3455ae0c378bdb1dbe3c3323463:eb7086e98f867c6592e4b161835da18b$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-polar.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-polar.png b/public/images/pokemon/exp/back/666-polar.png
index 5d09b57833c..c7ec3ec550a 100644
Binary files a/public/images/pokemon/exp/back/666-polar.png and b/public/images/pokemon/exp/back/666-polar.png differ
diff --git a/public/images/pokemon/exp/back/666-river.json b/public/images/pokemon/exp/back/666-river.json
index c4e5274ab6d..28912532d76 100644
--- a/public/images/pokemon/exp/back/666-river.json
+++ b/public/images/pokemon/exp/back/666-river.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-river.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:2bb6d375761e6690eba12cf4d2bc99c9:9db30ec1cf68fe8c1026c243086573f3:fa23dc87fc53ba2cfa532cf440553cf5$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-river.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-river.png b/public/images/pokemon/exp/back/666-river.png
index 2910340b676..4e0493b8de5 100644
Binary files a/public/images/pokemon/exp/back/666-river.png and b/public/images/pokemon/exp/back/666-river.png differ
diff --git a/public/images/pokemon/exp/back/666-sandstorm.json b/public/images/pokemon/exp/back/666-sandstorm.json
index cc96c2a2805..99df25242ff 100644
--- a/public/images/pokemon/exp/back/666-sandstorm.json
+++ b/public/images/pokemon/exp/back/666-sandstorm.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-sandstorm.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 2,
- "w": 40,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 40,
- "h": 68
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 2,
- "w": 40,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 68,
- "w": 40,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:e35abed8cd9d0bbf1556fa684995d930:8d765a06a769bbf3d1639f361548cd6f:12f47e779927411662912d6094a9782d$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-sandstorm.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-sandstorm.png b/public/images/pokemon/exp/back/666-sandstorm.png
index 96d7084eb30..d95ab4413a5 100644
Binary files a/public/images/pokemon/exp/back/666-sandstorm.png and b/public/images/pokemon/exp/back/666-sandstorm.png differ
diff --git a/public/images/pokemon/exp/back/666-savanna.json b/public/images/pokemon/exp/back/666-savanna.json
index 8f85dfdeb13..8fa326da1b4 100644
--- a/public/images/pokemon/exp/back/666-savanna.json
+++ b/public/images/pokemon/exp/back/666-savanna.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-savanna.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:1ad0c7c841409c3fd4cb50b399d6e13c:b9406b41d37bc72c57260f9a01a352c8:625a4f0dc001069326a75c6a381f93e6$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-savanna.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-savanna.png b/public/images/pokemon/exp/back/666-savanna.png
index 7254d0f1f61..4169b1325a6 100644
Binary files a/public/images/pokemon/exp/back/666-savanna.png and b/public/images/pokemon/exp/back/666-savanna.png differ
diff --git a/public/images/pokemon/exp/back/666-sun.json b/public/images/pokemon/exp/back/666-sun.json
index df795f0ef0c..d41f22f541c 100644
--- a/public/images/pokemon/exp/back/666-sun.json
+++ b/public/images/pokemon/exp/back/666-sun.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-sun.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:1d3a140bac5951725915aa0b64d1fdc6:e322510cf8386dcc7834a05d57e5368e:8f5fdd0a698701f5391c5a3f67e303d6$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-sun.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-sun.png b/public/images/pokemon/exp/back/666-sun.png
index 84b9d76ef88..5cc814e82d7 100644
Binary files a/public/images/pokemon/exp/back/666-sun.png and b/public/images/pokemon/exp/back/666-sun.png differ
diff --git a/public/images/pokemon/exp/back/666-tundra.json b/public/images/pokemon/exp/back/666-tundra.json
index 92e5cf92e07..afa574f9e07 100644
--- a/public/images/pokemon/exp/back/666-tundra.json
+++ b/public/images/pokemon/exp/back/666-tundra.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-tundra.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 1,
- "w": 46,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 46,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 1,
- "w": 46,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 46,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 46,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 46,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:40f74f8757cb0f5a2ab7b5f68ea979a0:d062f67571674668b47f6fab68361105:9779ed3adebc298af537dd64dc25fe00$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-tundra.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/666-tundra.png b/public/images/pokemon/exp/back/666-tundra.png
index 393ea113766..01657b339fd 100644
Binary files a/public/images/pokemon/exp/back/666-tundra.png and b/public/images/pokemon/exp/back/666-tundra.png differ
diff --git a/public/images/pokemon/exp/back/815-gigantamax.json b/public/images/pokemon/exp/back/815-gigantamax.json
new file mode 100644
index 00000000000..952ea16b6b8
--- /dev/null
+++ b/public/images/pokemon/exp/back/815-gigantamax.json
@@ -0,0 +1,659 @@
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 525, "y": 384, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 356, "y": 98, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 3, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 444, "y": 98, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 267, "y": 98, "w": 87, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 87, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 528, "y": 194, "w": 82, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 6, "w": 82, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 250, "y": 484, "w": 81, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 7, "w": 81, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 333, "y": 388, "w": 83, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 6, "w": 83, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 82, "y": 485, "w": 79, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 7, "w": 79, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 167, "y": 483, "w": 81, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 7, "w": 81, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 440, "y": 194, "w": 86, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 5, "w": 86, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 177, "y": 194, "w": 86, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 86, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 179, "y": 1, "w": 87, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 87, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0013.png",
+ "frame": { "x": 267, "y": 193, "w": 85, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 85, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0014.png",
+ "frame": { "x": 1, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0015.png",
+ "frame": { "x": 86, "y": 195, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 2, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0016.png",
+ "frame": { "x": 333, "y": 482, "w": 79, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 2, "w": 79, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0017.png",
+ "frame": { "x": 525, "y": 384, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0018.png",
+ "frame": { "x": 356, "y": 98, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 3, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0019.png",
+ "frame": { "x": 444, "y": 98, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0020.png",
+ "frame": { "x": 267, "y": 98, "w": 87, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 87, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0021.png",
+ "frame": { "x": 528, "y": 194, "w": 82, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 6, "w": 82, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0022.png",
+ "frame": { "x": 250, "y": 484, "w": 81, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 7, "w": 81, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0023.png",
+ "frame": { "x": 333, "y": 388, "w": 83, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 6, "w": 83, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0024.png",
+ "frame": { "x": 82, "y": 485, "w": 79, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 7, "w": 79, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0025.png",
+ "frame": { "x": 167, "y": 483, "w": 81, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 7, "w": 81, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0026.png",
+ "frame": { "x": 440, "y": 194, "w": 86, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 5, "w": 86, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0027.png",
+ "frame": { "x": 177, "y": 194, "w": 86, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 86, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0028.png",
+ "frame": { "x": 179, "y": 1, "w": 87, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 87, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0029.png",
+ "frame": { "x": 267, "y": 193, "w": 85, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 85, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0030.png",
+ "frame": { "x": 1, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0031.png",
+ "frame": { "x": 86, "y": 195, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 2, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0032.png",
+ "frame": { "x": 333, "y": 482, "w": 79, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 2, "w": 79, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0033.png",
+ "frame": { "x": 525, "y": 384, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0034.png",
+ "frame": { "x": 356, "y": 98, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 3, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0035.png",
+ "frame": { "x": 444, "y": 98, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0036.png",
+ "frame": { "x": 267, "y": 98, "w": 87, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 87, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0037.png",
+ "frame": { "x": 528, "y": 194, "w": 82, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 6, "w": 82, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0038.png",
+ "frame": { "x": 250, "y": 484, "w": 81, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 7, "w": 81, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0039.png",
+ "frame": { "x": 333, "y": 388, "w": 83, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 6, "w": 83, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0040.png",
+ "frame": { "x": 82, "y": 485, "w": 79, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 7, "w": 79, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0041.png",
+ "frame": { "x": 167, "y": 483, "w": 81, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 7, "w": 81, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0042.png",
+ "frame": { "x": 440, "y": 194, "w": 86, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 5, "w": 86, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0043.png",
+ "frame": { "x": 177, "y": 194, "w": 86, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 86, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0044.png",
+ "frame": { "x": 179, "y": 1, "w": 87, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 87, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0045.png",
+ "frame": { "x": 267, "y": 193, "w": 85, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 85, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0046.png",
+ "frame": { "x": 1, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0047.png",
+ "frame": { "x": 86, "y": 195, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 2, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0048.png",
+ "frame": { "x": 333, "y": 482, "w": 79, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 2, "w": 79, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0049.png",
+ "frame": { "x": 84, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0050.png",
+ "frame": { "x": 179, "y": 97, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0051.png",
+ "frame": { "x": 444, "y": 1, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0052.png",
+ "frame": { "x": 1, "y": 1, "w": 87, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 2, "w": 87, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0053.png",
+ "frame": { "x": 171, "y": 289, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 2, "w": 82, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0054.png",
+ "frame": { "x": 1, "y": 389, "w": 81, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 4, "w": 81, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0055.png",
+ "frame": { "x": 525, "y": 288, "w": 83, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 83, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0056.png",
+ "frame": { "x": 1, "y": 485, "w": 79, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 13, "y": 7, "w": 79, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0057.png",
+ "frame": { "x": 84, "y": 389, "w": 81, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 6, "w": 81, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0058.png",
+ "frame": { "x": 356, "y": 1, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 4, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0059.png",
+ "frame": { "x": 268, "y": 1, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 3, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0060.png",
+ "frame": { "x": 354, "y": 194, "w": 84, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 15, "y": 2, "w": 84, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0061.png",
+ "frame": { "x": 255, "y": 290, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 1, "w": 82, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0062.png",
+ "frame": { "x": 423, "y": 385, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 15, "y": 1, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0063.png",
+ "frame": { "x": 1, "y": 195, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 1, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0064.png",
+ "frame": { "x": 506, "y": 481, "w": 80, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 0, "w": 80, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0065.png",
+ "frame": { "x": 250, "y": 387, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 1, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0066.png",
+ "frame": { "x": 1, "y": 98, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 1, "y": 1, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0067.png",
+ "frame": { "x": 89, "y": 98, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0068.png",
+ "frame": { "x": 90, "y": 1, "w": 87, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 3, "w": 87, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0069.png",
+ "frame": { "x": 339, "y": 291, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 5, "w": 82, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0070.png",
+ "frame": { "x": 167, "y": 386, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 4, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0071.png",
+ "frame": { "x": 440, "y": 288, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0072.png",
+ "frame": { "x": 414, "y": 482, "w": 79, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 2, "w": 79, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.13-x64",
+ "image": "815-gigantamax.png",
+ "format": "I8",
+ "size": { "w": 611, "h": 579 },
+ "scale": "1"
+ }
+}
diff --git a/public/images/pokemon/exp/back/815-gigantamax.png b/public/images/pokemon/exp/back/815-gigantamax.png
new file mode 100644
index 00000000000..0036d75cbfc
Binary files /dev/null and b/public/images/pokemon/exp/back/815-gigantamax.png differ
diff --git a/public/images/pokemon/exp/back/839-gigantamax.json b/public/images/pokemon/exp/back/839-gigantamax.json
new file mode 100644
index 00000000000..35d98910c9f
--- /dev/null
+++ b/public/images/pokemon/exp/back/839-gigantamax.json
@@ -0,0 +1,821 @@
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 238, "y": 282, "w": 77, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 0, "w": 77, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 470, "y": 377, "w": 76, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 19, "y": 0, "w": 76, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 546, "y": 377, "w": 76, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 0, "w": 76, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 469, "y": 473, "w": 75, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 0, "w": 75, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 544, "y": 473, "w": 75, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 0, "w": 75, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 154, "y": 472, "w": 76, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 1, "w": 76, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 0, "y": 566, "w": 75, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 1, "w": 75, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 393, "y": 376, "w": 77, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 1, "w": 77, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 414, "y": 190, "w": 78, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 1, "w": 78, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 492, "y": 191, "w": 78, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 1, "w": 78, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 159, "y": 283, "w": 78, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 25, "y": 2, "w": 78, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 158, "y": 189, "w": 80, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 80, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0013.png",
+ "frame": { "x": 255, "y": 188, "w": 80, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 80, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0014.png",
+ "frame": { "x": 173, "y": 95, "w": 82, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 82, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0015.png",
+ "frame": { "x": 90, "y": 93, "w": 83, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 83, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0016.png",
+ "frame": { "x": 350, "y": 95, "w": 82, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 82, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0017.png",
+ "frame": { "x": 524, "y": 0, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 1, "w": 83, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0018.png",
+ "frame": { "x": 268, "y": 92, "w": 82, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 0, "w": 82, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0019.png",
+ "frame": { "x": 513, "y": 95, "w": 80, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 0, "w": 80, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0020.png",
+ "frame": { "x": 0, "y": 185, "w": 79, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 0, "w": 79, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0021.png",
+ "frame": { "x": 238, "y": 282, "w": 77, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 0, "w": 77, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0022.png",
+ "frame": { "x": 470, "y": 377, "w": 76, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 19, "y": 0, "w": 76, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0023.png",
+ "frame": { "x": 546, "y": 377, "w": 76, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 0, "w": 76, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0024.png",
+ "frame": { "x": 469, "y": 473, "w": 75, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 0, "w": 75, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0025.png",
+ "frame": { "x": 544, "y": 473, "w": 75, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 0, "w": 75, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0026.png",
+ "frame": { "x": 154, "y": 472, "w": 76, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 1, "w": 76, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0027.png",
+ "frame": { "x": 0, "y": 566, "w": 75, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 1, "w": 75, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0028.png",
+ "frame": { "x": 393, "y": 376, "w": 77, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 1, "w": 77, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0029.png",
+ "frame": { "x": 414, "y": 190, "w": 78, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 1, "w": 78, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0030.png",
+ "frame": { "x": 492, "y": 191, "w": 78, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 1, "w": 78, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0031.png",
+ "frame": { "x": 159, "y": 283, "w": 78, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 25, "y": 2, "w": 78, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0032.png",
+ "frame": { "x": 158, "y": 189, "w": 80, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 80, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0033.png",
+ "frame": { "x": 255, "y": 188, "w": 80, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 80, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0034.png",
+ "frame": { "x": 173, "y": 95, "w": 82, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 82, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0035.png",
+ "frame": { "x": 90, "y": 93, "w": 83, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 83, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0036.png",
+ "frame": { "x": 350, "y": 95, "w": 82, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 82, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0037.png",
+ "frame": { "x": 524, "y": 0, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 1, "w": 83, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0038.png",
+ "frame": { "x": 268, "y": 92, "w": 82, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 0, "w": 82, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0039.png",
+ "frame": { "x": 513, "y": 95, "w": 80, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 0, "w": 80, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0040.png",
+ "frame": { "x": 0, "y": 185, "w": 79, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 0, "w": 79, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0041.png",
+ "frame": { "x": 238, "y": 282, "w": 77, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 0, "w": 77, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0042.png",
+ "frame": { "x": 470, "y": 377, "w": 76, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 19, "y": 0, "w": 76, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0043.png",
+ "frame": { "x": 546, "y": 377, "w": 76, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 0, "w": 76, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0044.png",
+ "frame": { "x": 469, "y": 473, "w": 75, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 0, "w": 75, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0045.png",
+ "frame": { "x": 544, "y": 473, "w": 75, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 0, "w": 75, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0046.png",
+ "frame": { "x": 154, "y": 472, "w": 76, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 1, "w": 76, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0047.png",
+ "frame": { "x": 0, "y": 566, "w": 75, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 1, "w": 75, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0048.png",
+ "frame": { "x": 393, "y": 376, "w": 77, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 1, "w": 77, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0049.png",
+ "frame": { "x": 414, "y": 190, "w": 78, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 1, "w": 78, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0050.png",
+ "frame": { "x": 492, "y": 191, "w": 78, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 1, "w": 78, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0051.png",
+ "frame": { "x": 159, "y": 283, "w": 78, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 25, "y": 2, "w": 78, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0052.png",
+ "frame": { "x": 158, "y": 189, "w": 80, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 80, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0053.png",
+ "frame": { "x": 255, "y": 188, "w": 80, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 80, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0054.png",
+ "frame": { "x": 173, "y": 95, "w": 82, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 82, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0055.png",
+ "frame": { "x": 90, "y": 93, "w": 83, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 83, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0056.png",
+ "frame": { "x": 350, "y": 95, "w": 82, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 82, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0057.png",
+ "frame": { "x": 524, "y": 0, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 1, "w": 83, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0058.png",
+ "frame": { "x": 268, "y": 92, "w": 82, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 0, "w": 82, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0059.png",
+ "frame": { "x": 513, "y": 95, "w": 80, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 0, "w": 80, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0060.png",
+ "frame": { "x": 0, "y": 185, "w": 79, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 0, "w": 79, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0061.png",
+ "frame": { "x": 238, "y": 282, "w": 77, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 0, "w": 77, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0062.png",
+ "frame": { "x": 79, "y": 187, "w": 79, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 17, "y": 0, "w": 79, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0063.png",
+ "frame": { "x": 432, "y": 95, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 13, "y": 1, "w": 81, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0064.png",
+ "frame": { "x": 441, "y": 0, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 1, "w": 83, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0065.png",
+ "frame": { "x": 356, "y": 0, "w": 85, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 1, "w": 85, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0066.png",
+ "frame": { "x": 180, "y": 0, "w": 88, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 88, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0067.png",
+ "frame": { "x": 0, "y": 0, "w": 90, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 90, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0068.png",
+ "frame": { "x": 90, "y": 0, "w": 90, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 1, "y": 3, "w": 90, "h": 93 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0069.png",
+ "frame": { "x": 268, "y": 0, "w": 88, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 4, "w": 88, "h": 92 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0070.png",
+ "frame": { "x": 0, "y": 94, "w": 85, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 13, "y": 5, "w": 85, "h": 91 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0071.png",
+ "frame": { "x": 77, "y": 283, "w": 82, "h": 90 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 6, "w": 82, "h": 90 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0072.png",
+ "frame": { "x": 397, "y": 285, "w": 81, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 5, "w": 81, "h": 91 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0073.png",
+ "frame": { "x": 232, "y": 378, "w": 81, "h": 90 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 6, "w": 81, "h": 90 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0074.png",
+ "frame": { "x": 315, "y": 283, "w": 82, "h": 90 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 6, "w": 82, "h": 90 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0075.png",
+ "frame": { "x": 478, "y": 286, "w": 81, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 5, "w": 81, "h": 91 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0076.png",
+ "frame": { "x": 313, "y": 467, "w": 79, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 4, "w": 79, "h": 92 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0077.png",
+ "frame": { "x": 335, "y": 189, "w": 79, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 79, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0078.png",
+ "frame": { "x": 315, "y": 373, "w": 78, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 78, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0079.png",
+ "frame": { "x": 77, "y": 373, "w": 78, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 78, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0080.png",
+ "frame": { "x": 77, "y": 467, "w": 77, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 77, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0081.png",
+ "frame": { "x": 232, "y": 468, "w": 77, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 77, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0082.png",
+ "frame": { "x": 392, "y": 471, "w": 77, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 77, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0083.png",
+ "frame": { "x": 309, "y": 559, "w": 77, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 3, "w": 77, "h": 93 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0084.png",
+ "frame": { "x": 386, "y": 565, "w": 77, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 3, "w": 77, "h": 93 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0085.png",
+ "frame": { "x": 77, "y": 561, "w": 77, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 3, "w": 77, "h": 93 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0086.png",
+ "frame": { "x": 230, "y": 562, "w": 77, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 3, "w": 77, "h": 93 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0087.png",
+ "frame": { "x": 0, "y": 472, "w": 77, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 2, "w": 77, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0088.png",
+ "frame": { "x": 0, "y": 377, "w": 77, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 1, "w": 77, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0089.png",
+ "frame": { "x": 155, "y": 377, "w": 77, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 1, "w": 77, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0090.png",
+ "frame": { "x": 0, "y": 281, "w": 77, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 0, "w": 77, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.13-x64",
+ "image": "839-gigantamax.png",
+ "format": "I8",
+ "size": { "w": 622, "h": 661 },
+ "scale": "1"
+ }
+}
diff --git a/public/images/pokemon/exp/back/839-gigantamax.png b/public/images/pokemon/exp/back/839-gigantamax.png
new file mode 100644
index 00000000000..6b7622b05d8
Binary files /dev/null and b/public/images/pokemon/exp/back/839-gigantamax.png differ
diff --git a/public/images/pokemon/exp/back/shiny/569-gigantamax.json b/public/images/pokemon/exp/back/shiny/569-gigantamax.json
new file mode 100644
index 00000000000..b266f5eb799
--- /dev/null
+++ b/public/images/pokemon/exp/back/shiny/569-gigantamax.json
@@ -0,0 +1,1478 @@
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0013.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0014.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0015.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0016.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0017.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0018.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0019.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0020.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0021.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0022.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0023.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0024.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0025.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0026.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0027.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0028.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0029.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0030.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0031.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0032.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0033.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0034.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0035.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0036.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0037.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0038.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0039.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0040.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0041.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0042.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0043.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0044.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0045.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0046.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0047.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0048.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0049.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0050.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0051.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0052.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0053.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0054.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0055.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0056.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0057.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0058.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0059.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0060.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0061.png",
+ "frame": { "x": 311, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0062.png",
+ "frame": { "x": 311, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0063.png",
+ "frame": { "x": 311, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0064.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0065.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0066.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0067.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0068.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0069.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0070.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0071.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0072.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0073.png",
+ "frame": { "x": 0, "y": 186, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0074.png",
+ "frame": { "x": 0, "y": 186, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0075.png",
+ "frame": { "x": 0, "y": 186, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0076.png",
+ "frame": { "x": 96, "y": 186, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0077.png",
+ "frame": { "x": 96, "y": 186, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0078.png",
+ "frame": { "x": 0, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0079.png",
+ "frame": { "x": 0, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0080.png",
+ "frame": { "x": 0, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0081.png",
+ "frame": { "x": 97, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0082.png",
+ "frame": { "x": 97, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0083.png",
+ "frame": { "x": 97, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0084.png",
+ "frame": { "x": 97, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0085.png",
+ "frame": { "x": 97, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0086.png",
+ "frame": { "x": 97, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0087.png",
+ "frame": { "x": 0, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0088.png",
+ "frame": { "x": 0, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0089.png",
+ "frame": { "x": 0, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0090.png",
+ "frame": { "x": 0, "y": 91, "w": 97, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 97, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0091.png",
+ "frame": { "x": 96, "y": 186, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0092.png",
+ "frame": { "x": 96, "y": 186, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0093.png",
+ "frame": { "x": 96, "y": 186, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0094.png",
+ "frame": { "x": 0, "y": 186, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0095.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0096.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0097.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0098.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0099.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0100.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0101.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0102.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0103.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0104.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0105.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0106.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0107.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0108.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0109.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0110.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0111.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0112.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0113.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0114.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0115.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0116.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0117.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0118.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0119.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0120.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0121.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0122.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0123.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0124.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0125.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0126.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0127.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0128.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0129.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0130.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0131.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0132.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0133.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0134.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0135.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0136.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0137.png",
+ "frame": { "x": 194, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0138.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0139.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0140.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0141.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0142.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0143.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0144.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0145.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0146.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0147.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0148.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0149.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0150.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0151.png",
+ "frame": { "x": 0, "y": 0, "w": 105, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 105, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0152.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0153.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0154.png",
+ "frame": { "x": 105, "y": 0, "w": 104, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 104, "h": 91 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0155.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0156.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0157.png",
+ "frame": { "x": 209, "y": 0, "w": 102, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 102, "h": 92 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0158.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0159.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0160.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0161.png",
+ "frame": { "x": 192, "y": 187, "w": 97, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 97, "h": 94 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0162.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ },
+ {
+ "filename": "0163.png",
+ "frame": { "x": 290, "y": 92, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 96, "h": 95 },
+ "sourceSize": { "w": 105, "h": 95 },
+ "duration": 60
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.13-x64",
+ "image": "569-gigantamax.png",
+ "format": "I8",
+ "size": { "w": 413, "h": 281 },
+ "scale": "1"
+ }
+}
diff --git a/public/images/pokemon/exp/back/shiny/569-gigantamax.png b/public/images/pokemon/exp/back/shiny/569-gigantamax.png
new file mode 100644
index 00000000000..2322fc2321e
Binary files /dev/null and b/public/images/pokemon/exp/back/shiny/569-gigantamax.png differ
diff --git a/public/images/pokemon/exp/back/shiny/666-archipelago.json b/public/images/pokemon/exp/back/shiny/666-archipelago.json
index 5207ba45af5..817696f70a1 100644
--- a/public/images/pokemon/exp/back/shiny/666-archipelago.json
+++ b/public/images/pokemon/exp/back/shiny/666-archipelago.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-archipelago.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:d3b3934e858033f670ae2a24ec4d347a:f014942f9212da6fadbc8a0c94f2dc11:80cdb6dd219378a41ccf5c2acc7e7786$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-archipelago.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/shiny/666-archipelago.png b/public/images/pokemon/exp/back/shiny/666-archipelago.png
index cfc3f0012b6..ada5bd02bdb 100644
Binary files a/public/images/pokemon/exp/back/shiny/666-archipelago.png and b/public/images/pokemon/exp/back/shiny/666-archipelago.png differ
diff --git a/public/images/pokemon/exp/back/shiny/666-continental.json b/public/images/pokemon/exp/back/shiny/666-continental.json
index a20a1baa32b..fc21deb6978 100644
--- a/public/images/pokemon/exp/back/shiny/666-continental.json
+++ b/public/images/pokemon/exp/back/shiny/666-continental.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-continental.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 1,
- "w": 46,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 46,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 1,
- "w": 46,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 46,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 46,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:06c65586a6c76ae16868407b3530cc3e:c9740628cc5f7aa0301821f74d9d2e17:23aaac2256d564b9d8a58d7de70397c3$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-continental.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/shiny/666-continental.png b/public/images/pokemon/exp/back/shiny/666-continental.png
index 80fdfbd42fe..a70b86e6f4e 100644
Binary files a/public/images/pokemon/exp/back/shiny/666-continental.png and b/public/images/pokemon/exp/back/shiny/666-continental.png differ
diff --git a/public/images/pokemon/exp/back/shiny/666-elegant.json b/public/images/pokemon/exp/back/shiny/666-elegant.json
index e4372fe6e79..35c20315153 100644
--- a/public/images/pokemon/exp/back/shiny/666-elegant.json
+++ b/public/images/pokemon/exp/back/shiny/666-elegant.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-elegant.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 44,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 44,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 44,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 44,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 44,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:2f5780697c633c5f2db2d90012b0bfaa:3df5d06e71f1f48664b1d3f70b589ce5:d6b035048c66474f6236a3bc923faa7b$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-elegant.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/shiny/666-elegant.png b/public/images/pokemon/exp/back/shiny/666-elegant.png
index a63ccd8a4fd..f1493354831 100644
Binary files a/public/images/pokemon/exp/back/shiny/666-elegant.png and b/public/images/pokemon/exp/back/shiny/666-elegant.png differ
diff --git a/public/images/pokemon/exp/back/shiny/666-fancy.json b/public/images/pokemon/exp/back/shiny/666-fancy.json
index da0238946be..54113df4b51 100644
--- a/public/images/pokemon/exp/back/shiny/666-fancy.json
+++ b/public/images/pokemon/exp/back/shiny/666-fancy.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-fancy.png",
- "format": "RGBA8888",
- "size": {
- "w": 133,
- "h": 133
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 65,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 65,
- "h": 66
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 65,
- "h": 66
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 65,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 41,
- "h": 67
- },
- "frame": {
- "x": 65,
- "y": 0,
- "w": 41,
- "h": 67
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 65,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 41,
- "h": 67
- },
- "frame": {
- "x": 0,
- "y": 66,
- "w": 41,
- "h": 67
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 65,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 65,
- "h": 66
- },
- "frame": {
- "x": 41,
- "y": 67,
- "w": 65,
- "h": 66
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:f6d28d4fec94007c70d1812b69e8c9a4:cff02079419826e1cb2148e331588d89:6d5edff9a806f43feff031c9919c9aca$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-fancy.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/shiny/666-fancy.png b/public/images/pokemon/exp/back/shiny/666-fancy.png
index c84443bbe4e..6a50c5817a8 100644
Binary files a/public/images/pokemon/exp/back/shiny/666-fancy.png and b/public/images/pokemon/exp/back/shiny/666-fancy.png differ
diff --git a/public/images/pokemon/exp/back/shiny/666-garden.json b/public/images/pokemon/exp/back/shiny/666-garden.json
index 1a44f773e4f..4fcc5ab0ad1 100644
--- a/public/images/pokemon/exp/back/shiny/666-garden.json
+++ b/public/images/pokemon/exp/back/shiny/666-garden.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-garden.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:b8e1d103e0e6ac306d2c8f447067ec3c:8483540406726b13fa42ad566b4f6991:f13a1a8fa0a411aa91fccb833ac8719c$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-garden.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/shiny/666-garden.png b/public/images/pokemon/exp/back/shiny/666-garden.png
index b37c6f8c84e..92214cc4d75 100644
Binary files a/public/images/pokemon/exp/back/shiny/666-garden.png and b/public/images/pokemon/exp/back/shiny/666-garden.png differ
diff --git a/public/images/pokemon/exp/back/shiny/666-high-plains.json b/public/images/pokemon/exp/back/shiny/666-high-plains.json
index 898cbf94515..56a90a01899 100644
--- a/public/images/pokemon/exp/back/shiny/666-high-plains.json
+++ b/public/images/pokemon/exp/back/shiny/666-high-plains.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-high-plains.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:6a10c59dc5b4abef78a2379364bae874:239b86e13316e6d8fc74b42cc7f657d9:2abdb5d19b2754e3daa24b6ff3ed2c2c$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-high-plains.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/shiny/666-high-plains.png b/public/images/pokemon/exp/back/shiny/666-high-plains.png
index e23f879af0c..80e02eede13 100644
Binary files a/public/images/pokemon/exp/back/shiny/666-high-plains.png and b/public/images/pokemon/exp/back/shiny/666-high-plains.png differ
diff --git a/public/images/pokemon/exp/back/shiny/666-icy-snow.json b/public/images/pokemon/exp/back/shiny/666-icy-snow.json
index 4922c7c1fb6..b44f33bb07f 100644
--- a/public/images/pokemon/exp/back/shiny/666-icy-snow.json
+++ b/public/images/pokemon/exp/back/shiny/666-icy-snow.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-icy-snow.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:a19b20c8ff121729b5b9dfb470e1e166:abf786c03cda88b39336d9172fd788ec:fb1e8b97806dc5c60ac6adf0ae48199b$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-icy-snow.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/shiny/666-icy-snow.png b/public/images/pokemon/exp/back/shiny/666-icy-snow.png
index 2ba96cc9ac3..1fe8305f068 100644
Binary files a/public/images/pokemon/exp/back/shiny/666-icy-snow.png and b/public/images/pokemon/exp/back/shiny/666-icy-snow.png differ
diff --git a/public/images/pokemon/exp/back/shiny/666-jungle.json b/public/images/pokemon/exp/back/shiny/666-jungle.json
index 17254038662..51876d649da 100644
--- a/public/images/pokemon/exp/back/shiny/666-jungle.json
+++ b/public/images/pokemon/exp/back/shiny/666-jungle.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-jungle.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:4318d523b7ff0df47aa749ed39d81402:f7d5cbe7029fecd1e518aa0501a8c8ba:c8686bcc5493911384853d54c85bfea1$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-jungle.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/shiny/666-jungle.png b/public/images/pokemon/exp/back/shiny/666-jungle.png
index 3f1127f0265..1dbe65c02f2 100644
Binary files a/public/images/pokemon/exp/back/shiny/666-jungle.png and b/public/images/pokemon/exp/back/shiny/666-jungle.png differ
diff --git a/public/images/pokemon/exp/back/shiny/666-marine.json b/public/images/pokemon/exp/back/shiny/666-marine.json
index 5e89662d52f..a77fd76f1dd 100644
--- a/public/images/pokemon/exp/back/shiny/666-marine.json
+++ b/public/images/pokemon/exp/back/shiny/666-marine.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-marine.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:df888a902e99f6aa55c8d9a1696f30ef:5e5db402df59c188bf1aaf4cc0b516d5:dc240f0acbf3d56fe8729dd1f703009f$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-marine.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/shiny/666-marine.png b/public/images/pokemon/exp/back/shiny/666-marine.png
index 7e1a47124b9..1a69d6587da 100644
Binary files a/public/images/pokemon/exp/back/shiny/666-marine.png and b/public/images/pokemon/exp/back/shiny/666-marine.png differ
diff --git a/public/images/pokemon/exp/back/shiny/666-meadow.json b/public/images/pokemon/exp/back/shiny/666-meadow.json
index 54e872aee05..2c4a73b80cf 100644
--- a/public/images/pokemon/exp/back/shiny/666-meadow.json
+++ b/public/images/pokemon/exp/back/shiny/666-meadow.json
@@ -1,524 +1,119 @@
-{
- "textures": [
- {
- "image": "666-meadow.png",
- "format": "RGBA8888",
- "size": {
- "w": 234,
- "h": 234
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 78,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 78,
- "h": 87
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 78,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 78,
- "h": 87
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 78,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 78,
- "h": 87
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 78,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 78,
- "h": 87
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 70,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 87,
- "w": 70,
- "h": 87
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 70,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 87,
- "w": 70,
- "h": 87
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 70,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 87,
- "w": 70,
- "h": 87
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 70,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 87,
- "w": 70,
- "h": 87
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 2,
- "w": 63,
- "h": 87
- },
- "frame": {
- "x": 70,
- "y": 87,
- "w": 63,
- "h": 87
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 2,
- "w": 63,
- "h": 87
- },
- "frame": {
- "x": 70,
- "y": 87,
- "w": 63,
- "h": 87
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 2,
- "w": 63,
- "h": 87
- },
- "frame": {
- "x": 70,
- "y": 87,
- "w": 63,
- "h": 87
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 2,
- "w": 63,
- "h": 87
- },
- "frame": {
- "x": 70,
- "y": 87,
- "w": 63,
- "h": 87
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 57,
- "h": 87
- },
- "frame": {
- "x": 78,
- "y": 0,
- "w": 57,
- "h": 87
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 57,
- "h": 87
- },
- "frame": {
- "x": 78,
- "y": 0,
- "w": 57,
- "h": 87
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 57,
- "h": 87
- },
- "frame": {
- "x": 78,
- "y": 0,
- "w": 57,
- "h": 87
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 57,
- "h": 87
- },
- "frame": {
- "x": 78,
- "y": 0,
- "w": 57,
- "h": 87
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 84,
- "h": 86
- },
- "frame": {
- "x": 135,
- "y": 0,
- "w": 84,
- "h": 86
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 84,
- "h": 86
- },
- "frame": {
- "x": 135,
- "y": 0,
- "w": 84,
- "h": 86
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 52,
- "h": 87
- },
- "frame": {
- "x": 135,
- "y": 86,
- "w": 52,
- "h": 87
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 52,
- "h": 87
- },
- "frame": {
- "x": 135,
- "y": 86,
- "w": 52,
- "h": 87
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 52,
- "h": 87
- },
- "frame": {
- "x": 135,
- "y": 86,
- "w": 52,
- "h": 87
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 52,
- "h": 87
- },
- "frame": {
- "x": 135,
- "y": 86,
- "w": 52,
- "h": 87
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 20,
- "y": 0,
- "w": 47,
- "h": 85
- },
- "frame": {
- "x": 187,
- "y": 86,
- "w": 47,
- "h": 85
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 20,
- "y": 0,
- "w": 47,
- "h": 85
- },
- "frame": {
- "x": 187,
- "y": 86,
- "w": 47,
- "h": 85
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:217e1d90eca71c8b95407de1c156a5e6:e2b23be3d14960d78059a46f5b83304a:f8ac4807b4d6eef2256fa1b93e0f89ba$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-meadow.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/shiny/666-meadow.png b/public/images/pokemon/exp/back/shiny/666-meadow.png
index 2e8a64be5d4..1148fa5a620 100644
Binary files a/public/images/pokemon/exp/back/shiny/666-meadow.png and b/public/images/pokemon/exp/back/shiny/666-meadow.png differ
diff --git a/public/images/pokemon/exp/back/shiny/666-modern.json b/public/images/pokemon/exp/back/shiny/666-modern.json
index c60078bd8ce..e0a00da6d81 100644
--- a/public/images/pokemon/exp/back/shiny/666-modern.json
+++ b/public/images/pokemon/exp/back/shiny/666-modern.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-modern.png",
- "format": "RGBA8888",
- "size": {
- "w": 132,
- "h": 132
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 65,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 40,
- "h": 67
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 67
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 65,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 40,
- "h": 67
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 67
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 65,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 65,
- "h": 66
- },
- "frame": {
- "x": 40,
- "y": 0,
- "w": 65,
- "h": 66
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 65,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 65,
- "h": 66
- },
- "frame": {
- "x": 40,
- "y": 66,
- "w": 65,
- "h": 66
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:854759536c0175b34e9ed7b2513e55dd:9fbbae33832e3b62152c5bae85714a7a:5fc0e8f9a0750c2f3cfb5d6e7eca0d45$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-modern.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/shiny/666-modern.png b/public/images/pokemon/exp/back/shiny/666-modern.png
index f9654fbeb02..d9f109c8ef9 100644
Binary files a/public/images/pokemon/exp/back/shiny/666-modern.png and b/public/images/pokemon/exp/back/shiny/666-modern.png differ
diff --git a/public/images/pokemon/exp/back/shiny/666-monsoon.json b/public/images/pokemon/exp/back/shiny/666-monsoon.json
index 78130a47159..117fad03b83 100644
--- a/public/images/pokemon/exp/back/shiny/666-monsoon.json
+++ b/public/images/pokemon/exp/back/shiny/666-monsoon.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-monsoon.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:dcde8c849851ea64b2ceed92a82153e1:5a97106b9193dc2cda01b0448d9f2637:637bea52b465abfb8e5a576310b4dacc$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-monsoon.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/shiny/666-monsoon.png b/public/images/pokemon/exp/back/shiny/666-monsoon.png
index 5d87fc101a8..cc5279545d5 100644
Binary files a/public/images/pokemon/exp/back/shiny/666-monsoon.png and b/public/images/pokemon/exp/back/shiny/666-monsoon.png differ
diff --git a/public/images/pokemon/exp/back/shiny/666-ocean.json b/public/images/pokemon/exp/back/shiny/666-ocean.json
index 1bf44996eef..8d23d70cd31 100644
--- a/public/images/pokemon/exp/back/shiny/666-ocean.json
+++ b/public/images/pokemon/exp/back/shiny/666-ocean.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-ocean.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:dc3f54a39a4afa0ea28913252050d7c1:d856dfe44678a2ee4dc3d367a6658ad3:e7a0e68eab89c2013a3eb7f3b6fc0b33$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-ocean.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/shiny/666-ocean.png b/public/images/pokemon/exp/back/shiny/666-ocean.png
index 8c6aeca189a..caabd9302ea 100644
Binary files a/public/images/pokemon/exp/back/shiny/666-ocean.png and b/public/images/pokemon/exp/back/shiny/666-ocean.png differ
diff --git a/public/images/pokemon/exp/back/shiny/666-poke-ball.json b/public/images/pokemon/exp/back/shiny/666-poke-ball.json
index 5c8715a8a1e..45564e59a32 100644
--- a/public/images/pokemon/exp/back/shiny/666-poke-ball.json
+++ b/public/images/pokemon/exp/back/shiny/666-poke-ball.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-poke-ball.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:9df25dba5036e3cd48218e8de3a98074:4357b8b161f5f87776f4d39fcb3723f5:8ec14f129d1691b8da504a13b661abed$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-poke-ball.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/shiny/666-poke-ball.png b/public/images/pokemon/exp/back/shiny/666-poke-ball.png
index 24907a5ef9f..30e2cbf8615 100644
Binary files a/public/images/pokemon/exp/back/shiny/666-poke-ball.png and b/public/images/pokemon/exp/back/shiny/666-poke-ball.png differ
diff --git a/public/images/pokemon/exp/back/shiny/666-polar.json b/public/images/pokemon/exp/back/shiny/666-polar.json
index ef69f49e390..abb6d0286f4 100644
--- a/public/images/pokemon/exp/back/shiny/666-polar.json
+++ b/public/images/pokemon/exp/back/shiny/666-polar.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-polar.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 45,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 45,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 45,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 45,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 45,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:aab22d39518ad2f1b1621a5954e95674:958cacbba11b25f5b1e7fe9a9a40465d:eb7086e98f867c6592e4b161835da18b$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-polar.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/shiny/666-polar.png b/public/images/pokemon/exp/back/shiny/666-polar.png
index b2f00a2a6df..c9f4fe642ee 100644
Binary files a/public/images/pokemon/exp/back/shiny/666-polar.png and b/public/images/pokemon/exp/back/shiny/666-polar.png differ
diff --git a/public/images/pokemon/exp/back/shiny/666-savanna.json b/public/images/pokemon/exp/back/shiny/666-savanna.json
index 24638119724..8fa326da1b4 100644
--- a/public/images/pokemon/exp/back/shiny/666-savanna.json
+++ b/public/images/pokemon/exp/back/shiny/666-savanna.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-savanna.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:0c7fd4a8c1137a2566fabe2f53dac4c4:295a7bdde494b6106f9c73b649be6098:625a4f0dc001069326a75c6a381f93e6$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-savanna.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/shiny/666-savanna.png b/public/images/pokemon/exp/back/shiny/666-savanna.png
index 5fcf8bc6d28..a69c0c18ae1 100644
Binary files a/public/images/pokemon/exp/back/shiny/666-savanna.png and b/public/images/pokemon/exp/back/shiny/666-savanna.png differ
diff --git a/public/images/pokemon/exp/back/shiny/666-sun.json b/public/images/pokemon/exp/back/shiny/666-sun.json
index a2ccb3c82d8..d41f22f541c 100644
--- a/public/images/pokemon/exp/back/shiny/666-sun.json
+++ b/public/images/pokemon/exp/back/shiny/666-sun.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-sun.png",
- "format": "RGBA8888",
- "size": {
- "w": 135,
- "h": 135
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 65,
- "h": 70
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 65,
- "h": 67
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 65,
- "h": 67
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 65,
- "h": 70
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 41,
- "h": 68
- },
- "frame": {
- "x": 65,
- "y": 0,
- "w": 41,
- "h": 68
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 65,
- "h": 70
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 41,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 67,
- "w": 41,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 65,
- "h": 70
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 65,
- "h": 67
- },
- "frame": {
- "x": 41,
- "y": 68,
- "w": 65,
- "h": 67
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:d1400564456ce432aab0ca4f263c336a:fba76efed9d6341c0b46301efd8cd8f5:8f5fdd0a698701f5391c5a3f67e303d6$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-sun.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/shiny/666-sun.png b/public/images/pokemon/exp/back/shiny/666-sun.png
index 28918f2b59a..3914a0fe350 100644
Binary files a/public/images/pokemon/exp/back/shiny/666-sun.png and b/public/images/pokemon/exp/back/shiny/666-sun.png differ
diff --git a/public/images/pokemon/exp/back/shiny/666-tundra.json b/public/images/pokemon/exp/back/shiny/666-tundra.json
index 8361b7ca139..afa574f9e07 100644
--- a/public/images/pokemon/exp/back/shiny/666-tundra.json
+++ b/public/images/pokemon/exp/back/shiny/666-tundra.json
@@ -1,104 +1,119 @@
-{
- "textures": [
- {
- "image": "666-tundra.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 1,
- "w": 46,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 46,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 1,
- "w": 46,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 46,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 46,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:b87511ba7b272729aecbf5eb18fe65cc:383836b7b2902a470e150b17bdd9bcfc:9779ed3adebc298af537dd64dc25fe00$"
- }
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 2, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 0, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 2, "y": 71, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 6, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 124, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 140, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 4, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 71, "y": 71, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 71, "y": 2, "w": 67, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 67, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 209, "y": 2, "w": 51, "h": 67 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 51, "h": 67 },
+ "sourceSize": { "w": 67, "h": 73 },
+ "duration": 110
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.12-x64",
+ "image": "666-tundra.png",
+ "format": "I8",
+ "size": { "w": 262, "h": 140 },
+ "scale": "1"
+ }
}
diff --git a/public/images/pokemon/exp/back/shiny/666-tundra.png b/public/images/pokemon/exp/back/shiny/666-tundra.png
index c33fbf1fc65..78316df8a8f 100644
Binary files a/public/images/pokemon/exp/back/shiny/666-tundra.png and b/public/images/pokemon/exp/back/shiny/666-tundra.png differ
diff --git a/public/images/pokemon/exp/back/shiny/815-gigantamax.json b/public/images/pokemon/exp/back/shiny/815-gigantamax.json
new file mode 100644
index 00000000000..952ea16b6b8
--- /dev/null
+++ b/public/images/pokemon/exp/back/shiny/815-gigantamax.json
@@ -0,0 +1,659 @@
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 525, "y": 384, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 356, "y": 98, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 3, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 444, "y": 98, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 267, "y": 98, "w": 87, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 87, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 528, "y": 194, "w": 82, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 6, "w": 82, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 250, "y": 484, "w": 81, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 7, "w": 81, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 333, "y": 388, "w": 83, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 6, "w": 83, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 82, "y": 485, "w": 79, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 7, "w": 79, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 167, "y": 483, "w": 81, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 7, "w": 81, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 440, "y": 194, "w": 86, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 5, "w": 86, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 177, "y": 194, "w": 86, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 86, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 179, "y": 1, "w": 87, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 87, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0013.png",
+ "frame": { "x": 267, "y": 193, "w": 85, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 85, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0014.png",
+ "frame": { "x": 1, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0015.png",
+ "frame": { "x": 86, "y": 195, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 2, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0016.png",
+ "frame": { "x": 333, "y": 482, "w": 79, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 2, "w": 79, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0017.png",
+ "frame": { "x": 525, "y": 384, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0018.png",
+ "frame": { "x": 356, "y": 98, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 3, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0019.png",
+ "frame": { "x": 444, "y": 98, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0020.png",
+ "frame": { "x": 267, "y": 98, "w": 87, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 87, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0021.png",
+ "frame": { "x": 528, "y": 194, "w": 82, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 6, "w": 82, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0022.png",
+ "frame": { "x": 250, "y": 484, "w": 81, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 7, "w": 81, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0023.png",
+ "frame": { "x": 333, "y": 388, "w": 83, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 6, "w": 83, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0024.png",
+ "frame": { "x": 82, "y": 485, "w": 79, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 7, "w": 79, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0025.png",
+ "frame": { "x": 167, "y": 483, "w": 81, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 7, "w": 81, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0026.png",
+ "frame": { "x": 440, "y": 194, "w": 86, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 5, "w": 86, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0027.png",
+ "frame": { "x": 177, "y": 194, "w": 86, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 86, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0028.png",
+ "frame": { "x": 179, "y": 1, "w": 87, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 87, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0029.png",
+ "frame": { "x": 267, "y": 193, "w": 85, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 85, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0030.png",
+ "frame": { "x": 1, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0031.png",
+ "frame": { "x": 86, "y": 195, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 2, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0032.png",
+ "frame": { "x": 333, "y": 482, "w": 79, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 2, "w": 79, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0033.png",
+ "frame": { "x": 525, "y": 384, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0034.png",
+ "frame": { "x": 356, "y": 98, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 3, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0035.png",
+ "frame": { "x": 444, "y": 98, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0036.png",
+ "frame": { "x": 267, "y": 98, "w": 87, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 87, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0037.png",
+ "frame": { "x": 528, "y": 194, "w": 82, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 6, "w": 82, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0038.png",
+ "frame": { "x": 250, "y": 484, "w": 81, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 7, "w": 81, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0039.png",
+ "frame": { "x": 333, "y": 388, "w": 83, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 6, "w": 83, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0040.png",
+ "frame": { "x": 82, "y": 485, "w": 79, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 7, "w": 79, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0041.png",
+ "frame": { "x": 167, "y": 483, "w": 81, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 7, "w": 81, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0042.png",
+ "frame": { "x": 440, "y": 194, "w": 86, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 5, "w": 86, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0043.png",
+ "frame": { "x": 177, "y": 194, "w": 86, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 86, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0044.png",
+ "frame": { "x": 179, "y": 1, "w": 87, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 87, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0045.png",
+ "frame": { "x": 267, "y": 193, "w": 85, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 85, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0046.png",
+ "frame": { "x": 1, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0047.png",
+ "frame": { "x": 86, "y": 195, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 2, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0048.png",
+ "frame": { "x": 333, "y": 482, "w": 79, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 2, "w": 79, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0049.png",
+ "frame": { "x": 84, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0050.png",
+ "frame": { "x": 179, "y": 97, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0051.png",
+ "frame": { "x": 444, "y": 1, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0052.png",
+ "frame": { "x": 1, "y": 1, "w": 87, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 2, "w": 87, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0053.png",
+ "frame": { "x": 171, "y": 289, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 2, "w": 82, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0054.png",
+ "frame": { "x": 1, "y": 389, "w": 81, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 4, "w": 81, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0055.png",
+ "frame": { "x": 525, "y": 288, "w": 83, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 83, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0056.png",
+ "frame": { "x": 1, "y": 485, "w": 79, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 13, "y": 7, "w": 79, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0057.png",
+ "frame": { "x": 84, "y": 389, "w": 81, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 6, "w": 81, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0058.png",
+ "frame": { "x": 356, "y": 1, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 4, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0059.png",
+ "frame": { "x": 268, "y": 1, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 3, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0060.png",
+ "frame": { "x": 354, "y": 194, "w": 84, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 15, "y": 2, "w": 84, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0061.png",
+ "frame": { "x": 255, "y": 290, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 1, "w": 82, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0062.png",
+ "frame": { "x": 423, "y": 385, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 15, "y": 1, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0063.png",
+ "frame": { "x": 1, "y": 195, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 1, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0064.png",
+ "frame": { "x": 506, "y": 481, "w": 80, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 0, "w": 80, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0065.png",
+ "frame": { "x": 250, "y": 387, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 1, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0066.png",
+ "frame": { "x": 1, "y": 98, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 1, "y": 1, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0067.png",
+ "frame": { "x": 89, "y": 98, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0068.png",
+ "frame": { "x": 90, "y": 1, "w": 87, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 3, "w": 87, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0069.png",
+ "frame": { "x": 339, "y": 291, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 5, "w": 82, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0070.png",
+ "frame": { "x": 167, "y": 386, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 4, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0071.png",
+ "frame": { "x": 440, "y": 288, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 3, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0072.png",
+ "frame": { "x": 414, "y": 482, "w": 79, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 2, "w": 79, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.13-x64",
+ "image": "815-gigantamax.png",
+ "format": "I8",
+ "size": { "w": 611, "h": 579 },
+ "scale": "1"
+ }
+}
diff --git a/public/images/pokemon/exp/back/shiny/815-gigantamax.png b/public/images/pokemon/exp/back/shiny/815-gigantamax.png
new file mode 100644
index 00000000000..0668fd3b065
Binary files /dev/null and b/public/images/pokemon/exp/back/shiny/815-gigantamax.png differ
diff --git a/public/images/pokemon/exp/back/shiny/839-gigantamax.json b/public/images/pokemon/exp/back/shiny/839-gigantamax.json
new file mode 100644
index 00000000000..35d98910c9f
--- /dev/null
+++ b/public/images/pokemon/exp/back/shiny/839-gigantamax.json
@@ -0,0 +1,821 @@
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 238, "y": 282, "w": 77, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 0, "w": 77, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 470, "y": 377, "w": 76, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 19, "y": 0, "w": 76, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 546, "y": 377, "w": 76, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 0, "w": 76, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 469, "y": 473, "w": 75, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 0, "w": 75, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 544, "y": 473, "w": 75, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 0, "w": 75, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 154, "y": 472, "w": 76, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 1, "w": 76, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 0, "y": 566, "w": 75, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 1, "w": 75, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 393, "y": 376, "w": 77, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 1, "w": 77, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 414, "y": 190, "w": 78, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 1, "w": 78, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 492, "y": 191, "w": 78, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 1, "w": 78, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 159, "y": 283, "w": 78, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 25, "y": 2, "w": 78, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 158, "y": 189, "w": 80, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 80, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0013.png",
+ "frame": { "x": 255, "y": 188, "w": 80, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 80, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0014.png",
+ "frame": { "x": 173, "y": 95, "w": 82, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 82, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0015.png",
+ "frame": { "x": 90, "y": 93, "w": 83, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 83, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0016.png",
+ "frame": { "x": 350, "y": 95, "w": 82, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 82, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0017.png",
+ "frame": { "x": 524, "y": 0, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 1, "w": 83, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0018.png",
+ "frame": { "x": 268, "y": 92, "w": 82, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 0, "w": 82, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0019.png",
+ "frame": { "x": 513, "y": 95, "w": 80, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 0, "w": 80, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0020.png",
+ "frame": { "x": 0, "y": 185, "w": 79, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 0, "w": 79, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0021.png",
+ "frame": { "x": 238, "y": 282, "w": 77, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 0, "w": 77, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0022.png",
+ "frame": { "x": 470, "y": 377, "w": 76, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 19, "y": 0, "w": 76, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0023.png",
+ "frame": { "x": 546, "y": 377, "w": 76, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 0, "w": 76, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0024.png",
+ "frame": { "x": 469, "y": 473, "w": 75, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 0, "w": 75, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0025.png",
+ "frame": { "x": 544, "y": 473, "w": 75, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 0, "w": 75, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0026.png",
+ "frame": { "x": 154, "y": 472, "w": 76, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 1, "w": 76, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0027.png",
+ "frame": { "x": 0, "y": 566, "w": 75, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 1, "w": 75, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0028.png",
+ "frame": { "x": 393, "y": 376, "w": 77, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 1, "w": 77, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0029.png",
+ "frame": { "x": 414, "y": 190, "w": 78, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 1, "w": 78, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0030.png",
+ "frame": { "x": 492, "y": 191, "w": 78, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 1, "w": 78, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0031.png",
+ "frame": { "x": 159, "y": 283, "w": 78, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 25, "y": 2, "w": 78, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0032.png",
+ "frame": { "x": 158, "y": 189, "w": 80, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 80, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0033.png",
+ "frame": { "x": 255, "y": 188, "w": 80, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 80, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0034.png",
+ "frame": { "x": 173, "y": 95, "w": 82, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 82, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0035.png",
+ "frame": { "x": 90, "y": 93, "w": 83, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 83, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0036.png",
+ "frame": { "x": 350, "y": 95, "w": 82, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 82, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0037.png",
+ "frame": { "x": 524, "y": 0, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 1, "w": 83, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0038.png",
+ "frame": { "x": 268, "y": 92, "w": 82, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 0, "w": 82, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0039.png",
+ "frame": { "x": 513, "y": 95, "w": 80, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 0, "w": 80, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0040.png",
+ "frame": { "x": 0, "y": 185, "w": 79, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 0, "w": 79, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0041.png",
+ "frame": { "x": 238, "y": 282, "w": 77, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 0, "w": 77, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0042.png",
+ "frame": { "x": 470, "y": 377, "w": 76, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 19, "y": 0, "w": 76, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0043.png",
+ "frame": { "x": 546, "y": 377, "w": 76, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 0, "w": 76, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0044.png",
+ "frame": { "x": 469, "y": 473, "w": 75, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 0, "w": 75, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0045.png",
+ "frame": { "x": 544, "y": 473, "w": 75, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 18, "y": 0, "w": 75, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0046.png",
+ "frame": { "x": 154, "y": 472, "w": 76, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 1, "w": 76, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0047.png",
+ "frame": { "x": 0, "y": 566, "w": 75, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 1, "w": 75, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0048.png",
+ "frame": { "x": 393, "y": 376, "w": 77, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 1, "w": 77, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0049.png",
+ "frame": { "x": 414, "y": 190, "w": 78, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 1, "w": 78, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0050.png",
+ "frame": { "x": 492, "y": 191, "w": 78, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 1, "w": 78, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0051.png",
+ "frame": { "x": 159, "y": 283, "w": 78, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 25, "y": 2, "w": 78, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0052.png",
+ "frame": { "x": 158, "y": 189, "w": 80, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 80, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0053.png",
+ "frame": { "x": 255, "y": 188, "w": 80, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 80, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0054.png",
+ "frame": { "x": 173, "y": 95, "w": 82, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 82, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0055.png",
+ "frame": { "x": 90, "y": 93, "w": 83, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 83, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0056.png",
+ "frame": { "x": 350, "y": 95, "w": 82, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 82, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0057.png",
+ "frame": { "x": 524, "y": 0, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 1, "w": 83, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0058.png",
+ "frame": { "x": 268, "y": 92, "w": 82, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 0, "w": 82, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0059.png",
+ "frame": { "x": 513, "y": 95, "w": 80, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 0, "w": 80, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0060.png",
+ "frame": { "x": 0, "y": 185, "w": 79, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 0, "w": 79, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0061.png",
+ "frame": { "x": 238, "y": 282, "w": 77, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 0, "w": 77, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0062.png",
+ "frame": { "x": 79, "y": 187, "w": 79, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 17, "y": 0, "w": 79, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0063.png",
+ "frame": { "x": 432, "y": 95, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 13, "y": 1, "w": 81, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0064.png",
+ "frame": { "x": 441, "y": 0, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 1, "w": 83, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0065.png",
+ "frame": { "x": 356, "y": 0, "w": 85, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 1, "w": 85, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0066.png",
+ "frame": { "x": 180, "y": 0, "w": 88, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 88, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0067.png",
+ "frame": { "x": 0, "y": 0, "w": 90, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 2, "w": 90, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0068.png",
+ "frame": { "x": 90, "y": 0, "w": 90, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 1, "y": 3, "w": 90, "h": 93 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0069.png",
+ "frame": { "x": 268, "y": 0, "w": 88, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 4, "w": 88, "h": 92 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0070.png",
+ "frame": { "x": 0, "y": 94, "w": 85, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 13, "y": 5, "w": 85, "h": 91 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0071.png",
+ "frame": { "x": 77, "y": 283, "w": 82, "h": 90 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 6, "w": 82, "h": 90 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0072.png",
+ "frame": { "x": 397, "y": 285, "w": 81, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 5, "w": 81, "h": 91 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0073.png",
+ "frame": { "x": 232, "y": 378, "w": 81, "h": 90 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 6, "w": 81, "h": 90 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0074.png",
+ "frame": { "x": 315, "y": 283, "w": 82, "h": 90 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 6, "w": 82, "h": 90 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0075.png",
+ "frame": { "x": 478, "y": 286, "w": 81, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 22, "y": 5, "w": 81, "h": 91 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0076.png",
+ "frame": { "x": 313, "y": 467, "w": 79, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 4, "w": 79, "h": 92 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0077.png",
+ "frame": { "x": 335, "y": 189, "w": 79, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 2, "w": 79, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0078.png",
+ "frame": { "x": 315, "y": 373, "w": 78, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 78, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0079.png",
+ "frame": { "x": 77, "y": 373, "w": 78, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 78, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0080.png",
+ "frame": { "x": 77, "y": 467, "w": 77, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 77, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0081.png",
+ "frame": { "x": 232, "y": 468, "w": 77, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 77, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0082.png",
+ "frame": { "x": 392, "y": 471, "w": 77, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 24, "y": 2, "w": 77, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0083.png",
+ "frame": { "x": 309, "y": 559, "w": 77, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 3, "w": 77, "h": 93 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0084.png",
+ "frame": { "x": 386, "y": 565, "w": 77, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 3, "w": 77, "h": 93 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0085.png",
+ "frame": { "x": 77, "y": 561, "w": 77, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 3, "w": 77, "h": 93 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0086.png",
+ "frame": { "x": 230, "y": 562, "w": 77, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 23, "y": 3, "w": 77, "h": 93 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0087.png",
+ "frame": { "x": 0, "y": 472, "w": 77, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 2, "w": 77, "h": 94 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0088.png",
+ "frame": { "x": 0, "y": 377, "w": 77, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 1, "w": 77, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0089.png",
+ "frame": { "x": 155, "y": 377, "w": 77, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 21, "y": 1, "w": 77, "h": 95 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0090.png",
+ "frame": { "x": 0, "y": 281, "w": 77, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 20, "y": 0, "w": 77, "h": 96 },
+ "sourceSize": { "w": 106, "h": 96 },
+ "duration": 100
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.13-x64",
+ "image": "839-gigantamax.png",
+ "format": "I8",
+ "size": { "w": 622, "h": 661 },
+ "scale": "1"
+ }
+}
diff --git a/public/images/pokemon/exp/back/shiny/839-gigantamax.png b/public/images/pokemon/exp/back/shiny/839-gigantamax.png
new file mode 100644
index 00000000000..ce96d8134a6
Binary files /dev/null and b/public/images/pokemon/exp/back/shiny/839-gigantamax.png differ
diff --git a/public/images/pokemon/exp/shiny/484-origin.json b/public/images/pokemon/exp/shiny/484-origin.json
index 97d6a0b5f49..e77754c3b3f 100644
--- a/public/images/pokemon/exp/shiny/484-origin.json
+++ b/public/images/pokemon/exp/shiny/484-origin.json
@@ -4,8 +4,8 @@
"image": "484-origin.png",
"format": "RGBA8888",
"size": {
- "w": 426,
- "h": 426
+ "w": 274,
+ "h": 274
},
"scale": 1,
"frames": [
@@ -14,20 +14,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 5,
+ "x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
},
"frame": {
"x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
}
},
{
@@ -35,20 +35,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 5,
+ "x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
},
"frame": {
"x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
}
},
{
@@ -56,20 +56,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 5,
+ "x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
},
"frame": {
"x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
}
},
{
@@ -77,20 +77,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 5,
+ "x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
},
"frame": {
"x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
}
},
{
@@ -98,20 +98,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 5,
+ "x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
},
"frame": {
"x": 0,
"y": 0,
- "w": 91,
- "h": 97
+ "w": 90,
+ "h": 95
}
},
{
@@ -119,146 +119,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 0,
"w": 91,
- "h": 97
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 91,
- "h": 97
- }
- },
- {
- "filename": "0081.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
+ "h": 95
},
"spriteSourceSize": {
"x": 0,
- "y": 5,
- "w": 92,
- "h": 96
- },
- "frame": {
- "x": 91,
- "y": 0,
- "w": 92,
- "h": 96
- }
- },
- {
- "filename": "0082.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 92,
- "h": 96
- },
- "frame": {
- "x": 91,
- "y": 0,
- "w": 92,
- "h": 96
- }
- },
- {
- "filename": "0073.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 5,
"y": 0,
"w": 90,
- "h": 97
+ "h": 95
},
"frame": {
"x": 0,
- "y": 97,
- "w": 90,
- "h": 97
- }
- },
- {
- "filename": "0074.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 5,
"y": 0,
"w": 90,
- "h": 97
- },
- "frame": {
- "x": 0,
- "y": 97,
- "w": 90,
- "h": 97
- }
- },
- {
- "filename": "0083.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 5,
- "w": 96,
- "h": 90
- },
- "frame": {
- "x": 183,
- "y": 0,
- "w": 96,
- "h": 90
- }
- },
- {
- "filename": "0084.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 5,
- "w": 96,
- "h": 90
- },
- "frame": {
- "x": 183,
- "y": 0,
- "w": 96,
- "h": 90
+ "h": 95
}
},
{
@@ -266,20 +140,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -287,20 +161,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -308,20 +182,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -329,20 +203,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -350,20 +224,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -371,20 +245,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -392,20 +266,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -413,20 +287,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -434,20 +308,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -455,20 +329,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -476,20 +350,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
+ "x": 0,
+ "y": 1,
"w": 90,
- "h": 95
+ "h": 94
},
"frame": {
"x": 0,
- "y": 194,
+ "y": 95,
"w": 90,
- "h": 95
+ "h": 94
}
},
{
@@ -497,272 +371,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 2,
- "w": 90,
+ "w": 91,
"h": 95
},
- "frame": {
+ "spriteSourceSize": {
"x": 0,
- "y": 194,
- "w": 90,
- "h": 95
- }
- },
- {
- "filename": "0120.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 2,
- "w": 90,
- "h": 95
- },
- "frame": {
- "x": 0,
- "y": 194,
- "w": 90,
- "h": 95
- }
- },
- {
- "filename": "0075.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 7,
"y": 1,
- "w": 89,
- "h": 95
+ "w": 90,
+ "h": 94
},
"frame": {
"x": 0,
- "y": 289,
- "w": 89,
- "h": 95
- }
- },
- {
- "filename": "0076.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 89,
- "h": 95
- },
- "frame": {
- "x": 0,
- "y": 289,
- "w": 89,
- "h": 95
- }
- },
- {
- "filename": "0079.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 4,
- "w": 92,
- "h": 92
- },
- "frame": {
- "x": 279,
- "y": 0,
- "w": 92,
- "h": 92
- }
- },
- {
- "filename": "0080.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 4,
- "w": 92,
- "h": 92
- },
- "frame": {
- "x": 279,
- "y": 0,
- "w": 92,
- "h": 92
- }
- },
- {
- "filename": "0089.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 24,
- "y": 16,
- "w": 50,
- "h": 54
- },
- "frame": {
- "x": 371,
- "y": 0,
- "w": 50,
- "h": 54
- }
- },
- {
- "filename": "0090.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 24,
- "y": 16,
- "w": 50,
- "h": 54
- },
- "frame": {
- "x": 371,
- "y": 0,
- "w": 50,
- "h": 54
- }
- },
- {
- "filename": "0111.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 24,
- "y": 16,
- "w": 50,
- "h": 54
- },
- "frame": {
- "x": 371,
- "y": 0,
- "w": 50,
- "h": 54
- }
- },
- {
- "filename": "0112.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 24,
- "y": 16,
- "w": 50,
- "h": 54
- },
- "frame": {
- "x": 371,
- "y": 0,
- "w": 50,
- "h": 54
- }
- },
- {
- "filename": "0117.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 92,
- "h": 92
- },
- "frame": {
- "x": 183,
- "y": 90,
- "w": 92,
- "h": 92
- }
- },
- {
- "filename": "0118.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 92,
- "h": 92
- },
- "frame": {
- "x": 183,
- "y": 90,
- "w": 92,
- "h": 92
- }
- },
- {
- "filename": "0119.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 92,
- "h": 92
- },
- "frame": {
- "x": 183,
- "y": 90,
- "w": 92,
- "h": 92
+ "y": 95,
+ "w": 90,
+ "h": 94
}
},
{
@@ -770,20 +392,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -791,20 +413,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -812,20 +434,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -833,20 +455,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -854,20 +476,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -875,20 +497,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -896,20 +518,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -917,20 +539,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -938,20 +560,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -959,20 +581,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -980,20 +602,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 275,
- "y": 92,
+ "x": 90,
+ "y": 0,
"w": 91,
- "h": 92
+ "h": 91
}
},
{
@@ -1001,272 +623,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
"w": 91,
- "h": 92
+ "h": 95
},
- "frame": {
- "x": 275,
- "y": 92,
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
"w": 91,
- "h": 92
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0063.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0064.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 89,
- "y": 289,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
+ "h": 91
},
"frame": {
"x": 90,
- "y": 97,
- "w": 89,
- "h": 93
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 89,
- "h": 93
- },
- "frame": {
- "x": 90,
- "y": 97,
- "w": 89,
- "h": 93
+ "y": 0,
+ "w": 91,
+ "h": 91
}
},
{
@@ -1274,20 +644,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1295,20 +665,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1316,20 +686,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1337,20 +707,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1358,20 +728,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1379,20 +749,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1400,20 +770,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1421,20 +791,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1442,20 +812,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1463,20 +833,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1484,20 +854,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 90,
- "y": 190,
+ "x": 181,
+ "y": 0,
"w": 90,
- "h": 92
+ "h": 91
}
},
{
@@ -1505,19 +875,229 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
+ "x": 0,
+ "y": 4,
"w": 90,
+ "h": 91
+ },
+ "frame": {
+ "x": 181,
+ "y": 0,
+ "w": 90,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
"h": 92
},
"frame": {
"x": 90,
- "y": 190,
- "w": 90,
+ "y": 91,
+ "w": 89,
+ "h": 92
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
+ },
+ "frame": {
+ "x": 90,
+ "y": 91,
+ "w": 89,
+ "h": 92
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
+ },
+ "frame": {
+ "x": 90,
+ "y": 91,
+ "w": 89,
+ "h": 92
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
+ },
+ "frame": {
+ "x": 90,
+ "y": 91,
+ "w": 89,
+ "h": 92
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
+ },
+ "frame": {
+ "x": 90,
+ "y": 91,
+ "w": 89,
+ "h": 92
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
+ },
+ "frame": {
+ "x": 90,
+ "y": 91,
+ "w": 89,
+ "h": 92
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
+ },
+ "frame": {
+ "x": 90,
+ "y": 91,
+ "w": 89,
+ "h": 92
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
+ },
+ "frame": {
+ "x": 90,
+ "y": 91,
+ "w": 89,
+ "h": 92
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
+ },
+ "frame": {
+ "x": 90,
+ "y": 91,
+ "w": 89,
+ "h": 92
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
+ },
+ "frame": {
+ "x": 90,
+ "y": 91,
+ "w": 89,
"h": 92
}
},
@@ -1526,20 +1106,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1547,20 +1127,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1568,20 +1148,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1589,20 +1169,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1610,20 +1190,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1631,20 +1211,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1652,20 +1232,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1673,20 +1253,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1694,20 +1274,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1715,20 +1295,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1736,20 +1316,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
"w": 89,
- "h": 92
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 90,
+ "y": 183,
"w": 89,
- "h": 92
+ "h": 91
}
},
{
@@ -1757,62 +1337,62 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 1,
+ "y": 4,
+ "w": 89,
+ "h": 91
+ },
+ "frame": {
+ "x": 90,
+ "y": 183,
+ "w": 89,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 91,
+ "h": 95
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
"w": 89,
"h": 92
},
"frame": {
- "x": 180,
- "y": 182,
+ "x": 179,
+ "y": 91,
"w": 89,
"h": 92
}
},
{
- "filename": "0077.png",
+ "filename": "0016.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 90,
- "h": 90
+ "x": 2,
+ "y": 3,
+ "w": 89,
+ "h": 92
},
"frame": {
- "x": 269,
- "y": 184,
- "w": 90,
- "h": 90
- }
- },
- {
- "filename": "0078.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 90,
- "h": 90
- },
- "frame": {
- "x": 269,
- "y": 184,
- "w": 90,
- "h": 90
+ "x": 179,
+ "y": 91,
+ "w": 89,
+ "h": 92
}
},
{
@@ -1820,20 +1400,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 88,
- "h": 92
+ "x": 4,
+ "y": 4,
+ "w": 87,
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 274,
- "w": 88,
- "h": 92
+ "x": 179,
+ "y": 183,
+ "w": 87,
+ "h": 91
}
},
{
@@ -1841,20 +1421,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 88,
- "h": 92
+ "x": 4,
+ "y": 4,
+ "w": 87,
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 274,
- "w": 88,
- "h": 92
+ "x": 179,
+ "y": 183,
+ "w": 87,
+ "h": 91
}
},
{
@@ -1862,20 +1442,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 88,
- "h": 92
+ "x": 4,
+ "y": 4,
+ "w": 87,
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 274,
- "w": 88,
- "h": 92
+ "x": 179,
+ "y": 183,
+ "w": 87,
+ "h": 91
}
},
{
@@ -1883,20 +1463,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 88,
- "h": 92
+ "x": 4,
+ "y": 4,
+ "w": 87,
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 274,
- "w": 88,
- "h": 92
+ "x": 179,
+ "y": 183,
+ "w": 87,
+ "h": 91
}
},
{
@@ -1904,20 +1484,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 88,
- "h": 92
+ "x": 4,
+ "y": 4,
+ "w": 87,
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 274,
- "w": 88,
- "h": 92
+ "x": 179,
+ "y": 183,
+ "w": 87,
+ "h": 91
}
},
{
@@ -1925,608 +1505,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 110,
- "h": 110
+ "w": 91,
+ "h": 95
},
"spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 88,
- "h": 92
+ "x": 4,
+ "y": 4,
+ "w": 87,
+ "h": 91
},
"frame": {
- "x": 180,
- "y": 274,
- "w": 88,
- "h": 92
- }
- },
- {
- "filename": "0085.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 7,
- "w": 79,
- "h": 86
- },
- "frame": {
- "x": 268,
- "y": 274,
- "w": 79,
- "h": 86
- }
- },
- {
- "filename": "0086.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 7,
- "w": 79,
- "h": 86
- },
- "frame": {
- "x": 268,
- "y": 274,
- "w": 79,
- "h": 86
- }
- },
- {
- "filename": "0116.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 10,
- "w": 79,
- "h": 83
- },
- "frame": {
- "x": 347,
- "y": 274,
- "w": 79,
- "h": 83
- }
- },
- {
- "filename": "0113.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 20,
- "y": 11,
- "w": 71,
- "h": 69
- },
- "frame": {
- "x": 347,
- "y": 357,
- "w": 71,
- "h": 69
- }
- },
- {
- "filename": "0114.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 20,
- "y": 11,
- "w": 71,
- "h": 69
- },
- "frame": {
- "x": 347,
- "y": 357,
- "w": 71,
- "h": 69
- }
- },
- {
- "filename": "0115.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 20,
- "y": 11,
- "w": 71,
- "h": 69
- },
- "frame": {
- "x": 347,
- "y": 357,
- "w": 71,
- "h": 69
- }
- },
- {
- "filename": "0087.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 20,
- "y": 12,
- "w": 59,
- "h": 70
- },
- "frame": {
- "x": 359,
- "y": 184,
- "w": 59,
- "h": 70
- }
- },
- {
- "filename": "0088.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 20,
- "y": 12,
- "w": 59,
- "h": 70
- },
- "frame": {
- "x": 359,
- "y": 184,
- "w": 59,
- "h": 70
- }
- },
- {
- "filename": "0091.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 35,
- "y": 23,
- "w": 27,
- "h": 33
- },
- "frame": {
- "x": 0,
- "y": 384,
- "w": 27,
- "h": 33
- }
- },
- {
- "filename": "0092.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 35,
- "y": 23,
- "w": 27,
- "h": 33
- },
- "frame": {
- "x": 371,
- "y": 54,
- "w": 27,
- "h": 33
- }
- },
- {
- "filename": "0093.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 42,
- "y": 26,
- "w": 19,
- "h": 23
- },
- "frame": {
- "x": 27,
- "y": 384,
- "w": 19,
- "h": 23
- }
- },
- {
- "filename": "0094.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 42,
- "y": 26,
- "w": 19,
- "h": 23
- },
- "frame": {
- "x": 27,
- "y": 384,
- "w": 19,
- "h": 23
- }
- },
- {
- "filename": "0095.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 42,
- "y": 35,
- "w": 14,
- "h": 10
- },
- "frame": {
- "x": 359,
- "y": 254,
- "w": 14,
- "h": 10
- }
- },
- {
- "filename": "0096.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 42,
- "y": 35,
- "w": 14,
- "h": 10
- },
- "frame": {
- "x": 359,
- "y": 254,
- "w": 14,
- "h": 10
- }
- },
- {
- "filename": "0097.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0098.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0099.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0100.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0101.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0102.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0103.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0104.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0105.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0106.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0107.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0108.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0109.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
- }
- },
- {
- "filename": "0110.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 110,
- "h": 110
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 3,
- "h": 3
- },
- "frame": {
- "x": 90,
- "y": 282,
- "w": 3,
- "h": 3
+ "x": 179,
+ "y": 183,
+ "w": 87,
+ "h": 91
}
}
]
@@ -2535,6 +1527,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:5fbe4aec02bf780bf0fca7dc7138bf7a:5d077386c518cf06786203ad5e3a3aba:5ea3e660bc9c2624f846675d5196db82$"
+ "smartupdate": "$TexturePacker:SmartUpdate:71a487dde0de6f6a7eb1b6e04018892f:49ee3dfe044ad986679a7ce34c28280d:5ea3e660bc9c2624f846675d5196db82$"
}
}
diff --git a/public/images/pokemon/exp/shiny/484-origin.png b/public/images/pokemon/exp/shiny/484-origin.png
index 69e95afe580..bea804ed677 100644
Binary files a/public/images/pokemon/exp/shiny/484-origin.png and b/public/images/pokemon/exp/shiny/484-origin.png differ
diff --git a/public/images/pokemon/exp/shiny/569-gigantamax.json b/public/images/pokemon/exp/shiny/569-gigantamax.json
new file mode 100644
index 00000000000..6cda2b0d79a
--- /dev/null
+++ b/public/images/pokemon/exp/shiny/569-gigantamax.json
@@ -0,0 +1,1478 @@
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0013.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0014.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0015.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0016.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0017.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0018.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0019.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0020.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0021.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0022.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0023.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0024.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0025.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0026.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0027.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0028.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0029.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0030.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0031.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0032.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0033.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0034.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0035.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0036.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0037.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0038.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0039.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0040.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0041.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0042.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0043.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0044.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0045.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0046.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0047.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0048.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0049.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0050.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0051.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0052.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0053.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0054.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0055.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0056.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0057.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0058.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0059.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0060.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0061.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0062.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0063.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0064.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0065.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0066.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0067.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0068.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0069.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0070.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0071.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0072.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0073.png",
+ "frame": { "x": 305, "y": 173, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0074.png",
+ "frame": { "x": 305, "y": 173, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0075.png",
+ "frame": { "x": 305, "y": 173, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0076.png",
+ "frame": { "x": 206, "y": 88, "w": 99, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 0, "w": 99, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0077.png",
+ "frame": { "x": 206, "y": 88, "w": 99, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 0, "w": 99, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0078.png",
+ "frame": { "x": 108, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0079.png",
+ "frame": { "x": 108, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0080.png",
+ "frame": { "x": 108, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0081.png",
+ "frame": { "x": 211, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0082.png",
+ "frame": { "x": 211, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0083.png",
+ "frame": { "x": 211, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0084.png",
+ "frame": { "x": 211, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0085.png",
+ "frame": { "x": 211, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0086.png",
+ "frame": { "x": 211, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0087.png",
+ "frame": { "x": 108, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0088.png",
+ "frame": { "x": 108, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0089.png",
+ "frame": { "x": 108, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0090.png",
+ "frame": { "x": 108, "y": 0, "w": 103, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 103, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0091.png",
+ "frame": { "x": 206, "y": 88, "w": 99, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 0, "w": 99, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0092.png",
+ "frame": { "x": 206, "y": 88, "w": 99, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 0, "w": 99, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0093.png",
+ "frame": { "x": 206, "y": 88, "w": 99, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 0, "w": 99, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0094.png",
+ "frame": { "x": 305, "y": 173, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0095.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0096.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0097.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0098.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0099.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0100.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0101.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0102.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0103.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0104.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0105.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0106.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0107.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0108.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0109.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0110.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0111.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0112.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0113.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0114.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0115.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0116.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0117.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0118.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0119.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0120.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0121.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0122.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0123.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0124.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0125.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0126.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0127.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0128.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0129.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0130.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0131.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0132.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0133.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0134.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0135.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0136.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0137.png",
+ "frame": { "x": 0, "y": 170, "w": 96, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 96, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0138.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0139.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0140.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0141.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0142.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0143.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0144.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0145.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0146.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0147.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0148.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0149.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0150.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0151.png",
+ "frame": { "x": 0, "y": 0, "w": 108, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 3, "w": 108, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0152.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0153.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0154.png",
+ "frame": { "x": 0, "y": 85, "w": 106, "h": 85 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 106, "h": 85 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0155.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0156.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0157.png",
+ "frame": { "x": 314, "y": 0, "w": 105, "h": 86 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 2, "w": 105, "h": 86 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0158.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0159.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0160.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0161.png",
+ "frame": { "x": 314, "y": 86, "w": 103, "h": 87 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 103, "h": 87 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0162.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ },
+ {
+ "filename": "0163.png",
+ "frame": { "x": 106, "y": 88, "w": 100, "h": 88 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 0, "w": 100, "h": 88 },
+ "sourceSize": { "w": 108, "h": 88 },
+ "duration": 60
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.13-x64",
+ "image": "569-gigantamax.png",
+ "format": "I8",
+ "size": { "w": 419, "h": 261 },
+ "scale": "1"
+ }
+}
diff --git a/public/images/pokemon/exp/shiny/569-gigantamax.png b/public/images/pokemon/exp/shiny/569-gigantamax.png
new file mode 100644
index 00000000000..fc15ecd4585
Binary files /dev/null and b/public/images/pokemon/exp/shiny/569-gigantamax.png differ
diff --git a/public/images/pokemon/exp/shiny/815-gigantamax.json b/public/images/pokemon/exp/shiny/815-gigantamax.json
new file mode 100644
index 00000000000..d8fb9d62e57
--- /dev/null
+++ b/public/images/pokemon/exp/shiny/815-gigantamax.json
@@ -0,0 +1,659 @@
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 343, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 357, "y": 1, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 177, "y": 194, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 4, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 179, "y": 1, "w": 87, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 87, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 85, "y": 292, "w": 82, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 4, "w": 82, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 252, "y": 482, "w": 81, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 81, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 258, "y": 290, "w": 83, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 5, "w": 83, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 416, "y": 484, "w": 79, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 4, "w": 79, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 426, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 3, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 445, "y": 1, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 179, "y": 97, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 1, "y": 1, "w": 87, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 2, "w": 87, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0013.png",
+ "frame": { "x": 523, "y": 195, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 2, "w": 82, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0014.png",
+ "frame": { "x": 509, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0015.png",
+ "frame": { "x": 89, "y": 195, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0016.png",
+ "frame": { "x": 531, "y": 98, "w": 79, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 79, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0017.png",
+ "frame": { "x": 343, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0018.png",
+ "frame": { "x": 357, "y": 1, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0019.png",
+ "frame": { "x": 177, "y": 194, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 4, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0020.png",
+ "frame": { "x": 179, "y": 1, "w": 87, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 87, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0021.png",
+ "frame": { "x": 85, "y": 292, "w": 82, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 4, "w": 82, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0022.png",
+ "frame": { "x": 252, "y": 482, "w": 81, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 81, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0023.png",
+ "frame": { "x": 258, "y": 290, "w": 83, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 5, "w": 83, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0024.png",
+ "frame": { "x": 416, "y": 484, "w": 79, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 4, "w": 79, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0025.png",
+ "frame": { "x": 426, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 3, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0026.png",
+ "frame": { "x": 445, "y": 1, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0027.png",
+ "frame": { "x": 179, "y": 97, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0028.png",
+ "frame": { "x": 1, "y": 1, "w": 87, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 2, "w": 87, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0029.png",
+ "frame": { "x": 523, "y": 195, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 2, "w": 82, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0030.png",
+ "frame": { "x": 509, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0031.png",
+ "frame": { "x": 89, "y": 195, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0032.png",
+ "frame": { "x": 531, "y": 98, "w": 79, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 79, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0033.png",
+ "frame": { "x": 343, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0034.png",
+ "frame": { "x": 357, "y": 1, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0035.png",
+ "frame": { "x": 177, "y": 194, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 4, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0036.png",
+ "frame": { "x": 179, "y": 1, "w": 87, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 87, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0037.png",
+ "frame": { "x": 85, "y": 292, "w": 82, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 4, "w": 82, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0038.png",
+ "frame": { "x": 252, "y": 482, "w": 81, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 81, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0039.png",
+ "frame": { "x": 258, "y": 290, "w": 83, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 5, "w": 83, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0040.png",
+ "frame": { "x": 416, "y": 484, "w": 79, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 4, "w": 79, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0041.png",
+ "frame": { "x": 426, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 3, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0042.png",
+ "frame": { "x": 445, "y": 1, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0043.png",
+ "frame": { "x": 179, "y": 97, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0044.png",
+ "frame": { "x": 1, "y": 1, "w": 87, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 2, "w": 87, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0045.png",
+ "frame": { "x": 523, "y": 195, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 2, "w": 82, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0046.png",
+ "frame": { "x": 509, "y": 292, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0047.png",
+ "frame": { "x": 89, "y": 195, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0048.png",
+ "frame": { "x": 531, "y": 98, "w": 79, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 79, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0049.png",
+ "frame": { "x": 258, "y": 385, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0050.png",
+ "frame": { "x": 267, "y": 97, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0051.png",
+ "frame": { "x": 1, "y": 98, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0052.png",
+ "frame": { "x": 268, "y": 1, "w": 87, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 3, "w": 87, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0053.png",
+ "frame": { "x": 426, "y": 389, "w": 82, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 82, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0054.png",
+ "frame": { "x": 1, "y": 484, "w": 81, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 6, "w": 81, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0055.png",
+ "frame": { "x": 341, "y": 389, "w": 83, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 7, "w": 83, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0056.png",
+ "frame": { "x": 84, "y": 485, "w": 79, "h": 91 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 9, "w": 79, "h": 91 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0057.png",
+ "frame": { "x": 167, "y": 484, "w": 81, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 7, "w": 81, "h": 92 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0058.png",
+ "frame": { "x": 1, "y": 195, "w": 86, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 5, "w": 86, "h": 93 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0059.png",
+ "frame": { "x": 265, "y": 194, "w": 86, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 3, "w": 86, "h": 94 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0060.png",
+ "frame": { "x": 89, "y": 98, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0061.png",
+ "frame": { "x": 1, "y": 290, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 82, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0062.png",
+ "frame": { "x": 1, "y": 387, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 1, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0063.png",
+ "frame": { "x": 353, "y": 195, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 0, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0064.png",
+ "frame": { "x": 510, "y": 389, "w": 80, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 1, "w": 80, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0065.png",
+ "frame": { "x": 169, "y": 387, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 13, "y": 1, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0066.png",
+ "frame": { "x": 355, "y": 98, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 1, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0067.png",
+ "frame": { "x": 443, "y": 98, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 2, "w": 86, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0068.png",
+ "frame": { "x": 90, "y": 1, "w": 87, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 3, "w": 87, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0069.png",
+ "frame": { "x": 174, "y": 290, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 5, "w": 82, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0070.png",
+ "frame": { "x": 84, "y": 388, "w": 81, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 4, "w": 81, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0071.png",
+ "frame": { "x": 438, "y": 195, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 3, "w": 83, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ },
+ {
+ "filename": "0072.png",
+ "frame": { "x": 335, "y": 483, "w": 79, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 2, "w": 79, "h": 95 },
+ "sourceSize": { "w": 100, "h": 100 },
+ "duration": 100
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.13-x64",
+ "image": "815-gigantamax.png",
+ "format": "I8",
+ "size": { "w": 611, "h": 579 },
+ "scale": "1"
+ }
+}
diff --git a/public/images/pokemon/exp/shiny/815-gigantamax.png b/public/images/pokemon/exp/shiny/815-gigantamax.png
new file mode 100644
index 00000000000..a299119e06f
Binary files /dev/null and b/public/images/pokemon/exp/shiny/815-gigantamax.png differ
diff --git a/public/images/pokemon/exp/shiny/839-gigantamax.json b/public/images/pokemon/exp/shiny/839-gigantamax.json
new file mode 100644
index 00000000000..15a7c122f5d
--- /dev/null
+++ b/public/images/pokemon/exp/shiny/839-gigantamax.json
@@ -0,0 +1,821 @@
+{ "frames": [
+ {
+ "filename": "0001.png",
+ "frame": { "x": 525, "y": 567, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0002.png",
+ "frame": { "x": 441, "y": 566, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0003.png",
+ "frame": { "x": 609, "y": 567, "w": 83, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 0, "w": 83, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0004.png",
+ "frame": { "x": 255, "y": 563, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0005.png",
+ "frame": { "x": 171, "y": 563, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0006.png",
+ "frame": { "x": 0, "y": 569, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 1, "w": 83, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0007.png",
+ "frame": { "x": 339, "y": 569, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 1, "w": 82, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0008.png",
+ "frame": { "x": 0, "y": 474, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 1, "w": 86, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0009.png",
+ "frame": { "x": 464, "y": 375, "w": 89, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 1, "w": 89, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0010.png",
+ "frame": { "x": 580, "y": 190, "w": 92, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 92, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0011.png",
+ "frame": { "x": 95, "y": 96, "w": 94, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 1, "w": 94, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0012.png",
+ "frame": { "x": 198, "y": 95, "w": 95, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 95, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0013.png",
+ "frame": { "x": 491, "y": 0, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 96, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0014.png",
+ "frame": { "x": 297, "y": 0, "w": 98, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 1, "y": 1, "w": 98, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0015.png",
+ "frame": { "x": 0, "y": 0, "w": 100, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 100, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0016.png",
+ "frame": { "x": 198, "y": 0, "w": 99, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 99, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0017.png",
+ "frame": { "x": 100, "y": 0, "w": 98, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 0, "w": 98, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0018.png",
+ "frame": { "x": 395, "y": 0, "w": 96, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 0, "w": 96, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0019.png",
+ "frame": { "x": 189, "y": 190, "w": 92, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 92, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0020.png",
+ "frame": { "x": 89, "y": 379, "w": 88, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 0, "w": 88, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0021.png",
+ "frame": { "x": 525, "y": 567, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0022.png",
+ "frame": { "x": 441, "y": 566, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0023.png",
+ "frame": { "x": 609, "y": 567, "w": 83, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 0, "w": 83, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0024.png",
+ "frame": { "x": 255, "y": 563, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0025.png",
+ "frame": { "x": 171, "y": 563, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0026.png",
+ "frame": { "x": 0, "y": 569, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 1, "w": 83, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0027.png",
+ "frame": { "x": 339, "y": 569, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 1, "w": 82, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0028.png",
+ "frame": { "x": 0, "y": 474, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 1, "w": 86, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0029.png",
+ "frame": { "x": 464, "y": 375, "w": 89, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 1, "w": 89, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0030.png",
+ "frame": { "x": 580, "y": 190, "w": 92, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 92, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0031.png",
+ "frame": { "x": 95, "y": 96, "w": 94, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 1, "w": 94, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0032.png",
+ "frame": { "x": 198, "y": 95, "w": 95, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 95, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0033.png",
+ "frame": { "x": 491, "y": 0, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 96, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0034.png",
+ "frame": { "x": 297, "y": 0, "w": 98, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 1, "y": 1, "w": 98, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0035.png",
+ "frame": { "x": 0, "y": 0, "w": 100, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 100, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0036.png",
+ "frame": { "x": 198, "y": 0, "w": 99, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 99, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0037.png",
+ "frame": { "x": 100, "y": 0, "w": 98, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 0, "w": 98, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0038.png",
+ "frame": { "x": 395, "y": 0, "w": 96, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 0, "w": 96, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0039.png",
+ "frame": { "x": 189, "y": 190, "w": 92, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 92, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0040.png",
+ "frame": { "x": 89, "y": 379, "w": 88, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 0, "w": 88, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0041.png",
+ "frame": { "x": 525, "y": 567, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0042.png",
+ "frame": { "x": 441, "y": 566, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0043.png",
+ "frame": { "x": 609, "y": 567, "w": 83, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 0, "w": 83, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0044.png",
+ "frame": { "x": 255, "y": 563, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0045.png",
+ "frame": { "x": 171, "y": 563, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0046.png",
+ "frame": { "x": 0, "y": 569, "w": 83, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 11, "y": 1, "w": 83, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0047.png",
+ "frame": { "x": 339, "y": 569, "w": 82, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 1, "w": 82, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0048.png",
+ "frame": { "x": 0, "y": 474, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 1, "w": 86, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0049.png",
+ "frame": { "x": 464, "y": 375, "w": 89, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 1, "w": 89, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0050.png",
+ "frame": { "x": 580, "y": 190, "w": 92, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 92, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0051.png",
+ "frame": { "x": 95, "y": 96, "w": 94, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 1, "w": 94, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0052.png",
+ "frame": { "x": 198, "y": 95, "w": 95, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 95, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0053.png",
+ "frame": { "x": 491, "y": 0, "w": 96, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 96, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0054.png",
+ "frame": { "x": 297, "y": 0, "w": 98, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 1, "y": 1, "w": 98, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0055.png",
+ "frame": { "x": 0, "y": 0, "w": 100, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 0, "y": 1, "w": 100, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0056.png",
+ "frame": { "x": 198, "y": 0, "w": 99, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 1, "w": 99, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0057.png",
+ "frame": { "x": 100, "y": 0, "w": 98, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 2, "y": 0, "w": 98, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0058.png",
+ "frame": { "x": 395, "y": 0, "w": 96, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 3, "y": 0, "w": 96, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0059.png",
+ "frame": { "x": 189, "y": 190, "w": 92, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 0, "w": 92, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0060.png",
+ "frame": { "x": 89, "y": 379, "w": 88, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 0, "w": 88, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0061.png",
+ "frame": { "x": 525, "y": 567, "w": 84, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 84, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0062.png",
+ "frame": { "x": 454, "y": 470, "w": 86, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 10, "y": 0, "w": 86, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0063.png",
+ "frame": { "x": 0, "y": 379, "w": 89, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 1, "w": 89, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0064.png",
+ "frame": { "x": 573, "y": 285, "w": 91, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 13, "y": 1, "w": 91, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0065.png",
+ "frame": { "x": 93, "y": 191, "w": 92, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 15, "y": 1, "w": 92, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0066.png",
+ "frame": { "x": 390, "y": 96, "w": 94, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 17, "y": 1, "w": 94, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0067.png",
+ "frame": { "x": 585, "y": 96, "w": 94, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 17, "y": 2, "w": 94, "h": 94 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0068.png",
+ "frame": { "x": 293, "y": 95, "w": 97, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 14, "y": 3, "w": 97, "h": 93 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0069.png",
+ "frame": { "x": 484, "y": 190, "w": 96, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 12, "y": 4, "w": 96, "h": 92 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0070.png",
+ "frame": { "x": 92, "y": 286, "w": 92, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 3, "w": 92, "h": 93 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0071.png",
+ "frame": { "x": 177, "y": 471, "w": 89, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 4, "w": 89, "h": 92 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0072.png",
+ "frame": { "x": 177, "y": 379, "w": 91, "h": 92 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 4, "w": 91, "h": 92 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0073.png",
+ "frame": { "x": 184, "y": 286, "w": 91, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 3, "w": 91, "h": 93 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0074.png",
+ "frame": { "x": 480, "y": 282, "w": 93, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 3, "w": 93, "h": 93 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0075.png",
+ "frame": { "x": 281, "y": 281, "w": 93, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 3, "w": 93, "h": 93 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0076.png",
+ "frame": { "x": 293, "y": 188, "w": 95, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 3, "w": 95, "h": 93 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0077.png",
+ "frame": { "x": 587, "y": 0, "w": 95, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 0, "w": 95, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0078.png",
+ "frame": { "x": 0, "y": 95, "w": 95, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 95, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0079.png",
+ "frame": { "x": 491, "y": 95, "w": 94, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 4, "y": 1, "w": 94, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0080.png",
+ "frame": { "x": 0, "y": 190, "w": 93, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 5, "y": 1, "w": 93, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0081.png",
+ "frame": { "x": 388, "y": 191, "w": 92, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 1, "w": 92, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0082.png",
+ "frame": { "x": 0, "y": 285, "w": 92, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 6, "y": 2, "w": 92, "h": 94 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0083.png",
+ "frame": { "x": 275, "y": 374, "w": 90, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 2, "w": 90, "h": 94 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0084.png",
+ "frame": { "x": 374, "y": 286, "w": 90, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 2, "w": 90, "h": 94 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0085.png",
+ "frame": { "x": 365, "y": 380, "w": 89, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 2, "w": 89, "h": 94 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0086.png",
+ "frame": { "x": 553, "y": 380, "w": 89, "h": 93 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 7, "y": 3, "w": 89, "h": 93 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0087.png",
+ "frame": { "x": 540, "y": 473, "w": 87, "h": 94 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 2, "w": 87, "h": 94 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0088.png",
+ "frame": { "x": 268, "y": 468, "w": 87, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 87, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0089.png",
+ "frame": { "x": 355, "y": 474, "w": 86, "h": 95 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 8, "y": 1, "w": 86, "h": 95 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ },
+ {
+ "filename": "0090.png",
+ "frame": { "x": 86, "y": 475, "w": 85, "h": 96 },
+ "rotated": false,
+ "trimmed": true,
+ "spriteSourceSize": { "x": 9, "y": 0, "w": 85, "h": 96 },
+ "sourceSize": { "w": 111, "h": 96 },
+ "duration": 100
+ }
+ ],
+ "meta": {
+ "app": "https://www.aseprite.org/",
+ "version": "1.3.13-x64",
+ "image": "839-gigantamax.png",
+ "format": "I8",
+ "size": { "w": 692, "h": 664 },
+ "scale": "1"
+ }
+}
diff --git a/public/images/pokemon/exp/shiny/839-gigantamax.png b/public/images/pokemon/exp/shiny/839-gigantamax.png
new file mode 100644
index 00000000000..f52de9357b1
Binary files /dev/null and b/public/images/pokemon/exp/shiny/839-gigantamax.png differ
diff --git a/public/images/pokemon/variant/656.json b/public/images/pokemon/variant/656.json
index 68743a4c9f1..5037f86f22a 100644
--- a/public/images/pokemon/variant/656.json
+++ b/public/images/pokemon/variant/656.json
@@ -3,12 +3,12 @@
"838394": "4d7dc5",
"62ace6": "8363af",
"7bcdff": "9c75c2",
- "ffec8c": "ddfff9",
+ "fdea88": "ddfff9",
"a1a1c4": "7ab7ec",
"c9b241": "97d6e2",
- "dfcf77": "bae7e8",
+ "ccbd70": "bae7e8",
"174592": "37408c",
- "fdfdfd": "b1e5ff",
+ "f8f8f8": "b1e5ff",
"9c9cc5": "5385c7",
"cdcde6": "7eb7e8",
"396a83": "362864",
@@ -18,12 +18,12 @@
"838394": "cc6845",
"62ace6": "c44848",
"7bcdff": "dd6155",
- "ffec8c": "ddfff9",
+ "fdea88": "ddfff9",
"a1a1c4": "f7c685",
"c9b241": "97d6e2",
- "dfcf77": "bae7e8",
+ "ccbd70": "bae7e8",
"174592": "198158",
- "fdfdfd": "fff4bd",
+ "f8f8f8": "fff4bd",
"9c9cc5": "c96a48",
"cdcde6": "f7b785",
"396a83": "5c0d33",
diff --git a/public/images/pokemon/variant/666-continental.json b/public/images/pokemon/variant/666-continental.json
index 67e25fc79b4..92614fb346c 100644
--- a/public/images/pokemon/variant/666-continental.json
+++ b/public/images/pokemon/variant/666-continental.json
@@ -2,6 +2,7 @@
"1": {
"101010": "101010",
"595959": "724b7a",
+ "555353": "724b7a",
"d18257": "d18257",
"f9bd55": "f9bd55",
"303030": "402746",
@@ -15,5 +16,23 @@
"c3c3c3": "ffeaff",
"811c1c": "811c1c",
"e08528": "e08528"
+ },
+ "2": {
+ "101010": "101010",
+ "595959": "8f551e",
+ "555353": "e99b44",
+ "d18257": "d18257",
+ "f9bd55": "f9bd55",
+ "303030": "6d2d0d",
+ "f8f05e": "f8f05e",
+ "d24c3e": "d24c3e",
+ "675220": "9c5c19",
+ "ceab62": "e99b44",
+ "707068": "e99b44",
+ "504a4a": "9c5c19",
+ "aa5844": "aa5844",
+ "c3c3c3": "f8f27f",
+ "811c1c": "811c1c",
+ "308528": "308528"
}
}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/666-continental_3.json b/public/images/pokemon/variant/666-continental_3.json
deleted file mode 100644
index ed0fee105bb..00000000000
--- a/public/images/pokemon/variant/666-continental_3.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "textures": [
- {
- "image": "666-continental_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 67,
- "h": 67
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 67,
- "h": 67
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 67
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 67
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:70eae64f87d7226958d0443e262bab16:5ea86607863e872365dc956f4d819752:23aaac2256d564b9d8a58d7de70397c3$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/666-continental_3.png b/public/images/pokemon/variant/666-continental_3.png
deleted file mode 100644
index 24e4c9ab37c..00000000000
Binary files a/public/images/pokemon/variant/666-continental_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/666-fancy.json b/public/images/pokemon/variant/666-fancy.json
new file mode 100644
index 00000000000..1f31ac6983d
--- /dev/null
+++ b/public/images/pokemon/variant/666-fancy.json
@@ -0,0 +1,38 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
+ "811c1c": "811c1c",
+ "de4040": "de4040",
+ "5faa3e": "5faa3e",
+ "ceab62": "d9edd4",
+ "b6d26d": "b6d26d",
+ "e9e052": "e9e052",
+ "cf7ef3": "cf7ef3",
+ "c3c3c3": "ffeaff",
+ "f2d4e3": "f2d4e3",
+ "ead2e3": "ffeaff"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "00771b",
+ "675220": "b9c05a",
+ "504a4a": "b9c05a",
+ "595959": "6f9f42",
+ "707068": "e3e982",
+ "811c1c": "811c1c",
+ "de4040": "de4040",
+ "5faa3e": "5faa3e",
+ "ceab62": "e3e982",
+ "b6d26d": "b6d26d",
+ "e9e052": "e9e052",
+ "cf7ef3": "cf7ef3",
+ "c3c3c3": "fcf1ff",
+ "f2d4e3": "f2d4e3",
+ "ead2e3": "fcf1ff"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/666-fancy_2.json b/public/images/pokemon/variant/666-fancy_2.json
deleted file mode 100644
index d2dd365d3ed..00000000000
--- a/public/images/pokemon/variant/666-fancy_2.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "textures": [
- {
- "image": "666-fancy_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 67,
- "h": 67
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 67,
- "h": 67
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 67
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 67
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:2d5276d8c199bae070dbaa73293fd554:a099f55391d8e4bbae565d4a170574c9:6d5edff9a806f43feff031c9919c9aca$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/666-fancy_2.png b/public/images/pokemon/variant/666-fancy_2.png
deleted file mode 100644
index 100ba90d7e4..00000000000
Binary files a/public/images/pokemon/variant/666-fancy_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/666-fancy_3.json b/public/images/pokemon/variant/666-fancy_3.json
deleted file mode 100644
index be0625b1360..00000000000
--- a/public/images/pokemon/variant/666-fancy_3.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "textures": [
- {
- "image": "666-fancy_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 67,
- "h": 67
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 67,
- "h": 67
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 67
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 67
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:2d5276d8c199bae070dbaa73293fd554:a099f55391d8e4bbae565d4a170574c9:6d5edff9a806f43feff031c9919c9aca$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/666-fancy_3.png b/public/images/pokemon/variant/666-fancy_3.png
deleted file mode 100644
index a8453d6cbce..00000000000
Binary files a/public/images/pokemon/variant/666-fancy_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/666-high-plains.json b/public/images/pokemon/variant/666-high-plains.json
index fd26a077f34..85a5eb24cc3 100644
--- a/public/images/pokemon/variant/666-high-plains.json
+++ b/public/images/pokemon/variant/666-high-plains.json
@@ -14,7 +14,8 @@
"c3c3c3": "ffeaff",
"811c1c": "811c1c",
"337543": "337543",
- "e8c815": "e8c815"
+ "e8c815": "e8c815",
+ "773d21": "773d21"
},
"2": {
"101010": "101010",
@@ -31,6 +32,7 @@
"c3c3c3": "edc67c",
"811c1c": "811c1c",
"337543": "337543",
- "e8c815": "e8c815"
+ "e8c815": "e8c815",
+ "773d21": "773d21"
}
}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/666-monsoon.json b/public/images/pokemon/variant/666-monsoon.json
index 8aaedab67ca..915d471b2b1 100644
--- a/public/images/pokemon/variant/666-monsoon.json
+++ b/public/images/pokemon/variant/666-monsoon.json
@@ -1,36 +1,33 @@
{
- "1": {
- "101010": "101010",
- "595959": "724b7a",
- "f0f0f8": "f0f0f8",
- "303030": "402746",
- "675220": "958c8a",
- "ceab62": "d9edd4",
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
"807676": "807676",
- "92f4f4": "92f4f4",
- "989898": "989898",
- "707068": "a97cbc",
- "504a4a": "7f6991",
- "4eccd6": "4eccd6",
+ "ceab62": "d9edd4",
"5676de": "5676de",
- "c3c3c3": "ffeaff",
- "811c1c": "811c1c"
- },
- "2": {
- "101010": "101010",
- "595959": "656565",
- "f0f0f8": "f0f0f8",
- "303030": "4f4645",
- "675220": "2c3593",
- "ceab62": "5857bc",
- "807676": "807676",
- "92f4f4": "92f4f4",
- "989898": "989898",
- "707068": "5857bc",
- "504a4a": "2c3593",
- "4eccd6": "4eccd6",
- "5676de": "5676de",
- "c3c3c3": "b8f9f9",
- "811c1c": "811c1c"
- }
+ "4eccd6": "4eccd6",
+ "989898": "989898",
+ "c3c3c3": "c3c3c3",
+ "f0f0f8": "f0f0f8"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "3d3231",
+ "675220": "2c3593",
+ "504a4a": "2c3593",
+ "595959": "4f4645",
+ "707068": "5857bc",
+ "807676": "807676",
+ "ceab62": "5857bc",
+ "5676de": "5676de",
+ "4eccd6": "4eccd6",
+ "989898": "989898",
+ "92f4f4": "92f4f4",
+ "c3c3c3": "b8f9f9",
+ "f0f0f8": "f0f0f8"
+ }
}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/666-ocean.json b/public/images/pokemon/variant/666-ocean.json
index 975602c6f9e..23f8d48c681 100644
--- a/public/images/pokemon/variant/666-ocean.json
+++ b/public/images/pokemon/variant/666-ocean.json
@@ -22,7 +22,7 @@
"e1384d": "e1384d",
"f4ad61": "f4ad61",
"f8ef6a": "f8ef6a",
- "303030": "b56208",
+ "303030": "b54908",
"675220": "bc601c",
"ceab62": "ea8742",
"707068": "ea8742",
diff --git a/public/images/pokemon/variant/666-poke-ball.json b/public/images/pokemon/variant/666-poke-ball.json
index e83072c51a5..fe6b42f6ef3 100644
--- a/public/images/pokemon/variant/666-poke-ball.json
+++ b/public/images/pokemon/variant/666-poke-ball.json
@@ -14,6 +14,25 @@
"504a4a": "7f6991",
"c3c3c3": "ffeaff",
"811c1c": "811c1c",
- "a9a99e": "a9a99e"
+ "a9a99e": "a9a99e",
+ "2c2b2b": "402746"
+ },
+ "2": {
+ "101010": "101010",
+ "f8f8f8": "00006d",
+ "303030": "ae001a",
+ "2c2b2b": "660000",
+ "504a4a": "a70038",
+ "595959": "df0036",
+ "c3c3c3": "f0a6bf",
+ "707068": "d5375a",
+ "a9a99e": "000050",
+ "811c1c": "811c1c",
+ "971d1d": "040046",
+ "b72c2c": "00005e",
+ "dc4b4b": "19007d",
+ "e97e7e": "2e2095",
+ "675220": "a70038",
+ "ceab62": "d5375a"
}
}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/666-poke-ball_3.json b/public/images/pokemon/variant/666-poke-ball_3.json
deleted file mode 100644
index d506cef780e..00000000000
--- a/public/images/pokemon/variant/666-poke-ball_3.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "textures": [
- {
- "image": "666-poke-ball_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 67,
- "h": 67
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 67,
- "h": 67
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 67
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 67
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:7ff5b539e59b71fa67f66f26bb0f2e9d:45bec6d118350401c25850e5f12a25af:8ec14f129d1691b8da504a13b661abed$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/666-poke-ball_3.png b/public/images/pokemon/variant/666-poke-ball_3.png
deleted file mode 100644
index e6056246fce..00000000000
Binary files a/public/images/pokemon/variant/666-poke-ball_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/666-river.json b/public/images/pokemon/variant/666-river.json
index 818e1ee3989..c7e5e288d05 100644
--- a/public/images/pokemon/variant/666-river.json
+++ b/public/images/pokemon/variant/666-river.json
@@ -1,19 +1,40 @@
{
- "2": {
- "101010": "101010",
- "595959": "8a5702",
- "ceab62": "d9a666",
- "303030": "7b2800",
- "625841": "625841",
- "bc813f": "bc813f",
- "9c9143": "9c9143",
- "675220": "ae7f41",
- "707068": "d9a666",
- "504a4a": "ae7f41",
- "c3c3c3": "e3c384",
- "811c1c": "811c1c",
- "279ec2": "279ec2",
- "59c9d3": "59c9d3",
- "1d726a": "1d726a"
- }
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "4a412c": "4a412c",
+ "675220": "958c8a",
+ "634d20": "634d20",
+ "1d726a": "1d726a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "625841": "625841",
+ "707068": "a97cbc",
+ "bc813f": "bc813f",
+ "9c9143": "9c9143",
+ "ceab62": "ceab62",
+ "279ec2": "279ec2",
+ "59c9d3": "59c9d3",
+ "c3c3c3": "c3c3c3",
+ "d2a862": "d9edd4"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "7b2800",
+ "4a412c": "4a412c",
+ "675220": "ae7f41",
+ "634d20": "634d20",
+ "1d726a": "1d726a",
+ "504a4a": "ae7f41",
+ "595959": "8a5702",
+ "625841": "625841",
+ "707068": "d9a666",
+ "bc813f": "bc813f",
+ "9c9143": "9c9143",
+ "ceab62": "ceab62",
+ "279ec2": "279ec2",
+ "59c9d3": "59c9d3",
+ "c3c3c3": "e3c384",
+ "d2a862": "d2a862"
+ }
}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/666-river_2.json b/public/images/pokemon/variant/666-river_2.json
deleted file mode 100644
index 0da0f00b0be..00000000000
--- a/public/images/pokemon/variant/666-river_2.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "textures": [
- {
- "image": "666-river_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 67,
- "h": 67
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 67,
- "h": 67
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 67
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 67
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:39f778a45b20cfcfded5a350ee1a02e9:5d7e7e891b7da588a2ebd23733da6c2d:fa23dc87fc53ba2cfa532cf440553cf5$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/666-river_2.png b/public/images/pokemon/variant/666-river_2.png
deleted file mode 100644
index a5a65f4933b..00000000000
Binary files a/public/images/pokemon/variant/666-river_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/669-red.json b/public/images/pokemon/variant/669-red.json
index 627fdbeb44f..145228a41c2 100644
--- a/public/images/pokemon/variant/669-red.json
+++ b/public/images/pokemon/variant/669-red.json
@@ -1,4 +1,22 @@
{
+ "1": {
+ "101010": "101010",
+ "3d6629": "094740",
+ "665a1f": "3e0547",
+ "595959": "595959",
+ "686868": "686868",
+ "802d2d": "55061c",
+ "d94c4c": "aa263c",
+ "e15455": "dc6295",
+ "ff7373": "cd4a4a",
+ "65a943": "e493a1",
+ "6bb347": "1d8057",
+ "ccb43d": "6a094f",
+ "ffe14c": "9c235f",
+ "bfbfbf": "bfbfbf",
+ "f8f8f8": "f8f8f8",
+ "fffbfb": "fffbfb"
+ },
"2": {
"665a1f": "393833",
"ffe14c": "fdfffb",
diff --git a/public/images/pokemon/variant/669-red_2.json b/public/images/pokemon/variant/669-red_2.json
deleted file mode 100644
index 33816135db6..00000000000
--- a/public/images/pokemon/variant/669-red_2.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "textures": [
- {
- "image": "669-red_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 46,
- "h": 46
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 43,
- "h": 46
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 46
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 46
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:30be9438b4a7afb54dfbdae88661c2ed:ba8475f09ea3d2213c2462b54bc4a3e0:9f8ada9cf46c4e29f954b2eb815bc4e5$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/669-red_2.png b/public/images/pokemon/variant/669-red_2.png
deleted file mode 100644
index 5d30b38b1d4..00000000000
Binary files a/public/images/pokemon/variant/669-red_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/_masterlist.json b/public/images/pokemon/variant/_masterlist.json
index 5c09931ecf2..6d2da0ed0ee 100644
--- a/public/images/pokemon/variant/_masterlist.json
+++ b/public/images/pokemon/variant/_masterlist.json
@@ -526,9 +526,9 @@
"664": [0, 1, 1],
"665": [0, 1, 1],
"666-archipelago": [0, 1, 1],
- "666-continental": [0, 1, 2],
+ "666-continental": [0, 1, 1],
"666-elegant": [0, 1, 1],
- "666-fancy": [0, 2, 2],
+ "666-fancy": [0, 1, 1],
"666-garden": [0, 1, 1],
"666-high-plains": [0, 1, 1],
"666-icy-snow": [0, 1, 1],
@@ -538,14 +538,14 @@
"666-modern": [0, 1, 1],
"666-monsoon": [0, 1, 1],
"666-ocean": [0, 1, 1],
- "666-poke-ball": [0, 1, 2],
+ "666-poke-ball": [0, 1, 1],
"666-polar": [0, 1, 1],
- "666-river": [0, 2, 1],
+ "666-river": [0, 1, 1],
"666-sandstorm": [0, 1, 1],
"666-savanna": [0, 1, 1],
"666-sun": [0, 1, 1],
"666-tundra": [0, 1, 1],
- "669-red": [0, 2, 1],
+ "669-red": [0, 1, 1],
"669-blue": [0, 2, 2],
"669-white": [0, 1, 1],
"669-yellow": [0, 2, 1],
@@ -1438,7 +1438,7 @@
"666-archipelago": [0, 1, 1],
"666-continental": [0, 1, 1],
"666-elegant": [0, 1, 1],
- "666-fancy": [0, 2, 2],
+ "666-fancy": [0, 1, 1],
"666-garden": [0, 1, 1],
"666-high-plains": [0, 1, 1],
"666-icy-snow": [0, 1, 1],
@@ -1450,7 +1450,7 @@
"666-ocean": [0, 1, 1],
"666-poke-ball": [0, 1, 1],
"666-polar": [0, 1, 1],
- "666-river": [0, 2, 1],
+ "666-river": [0, 1, 1],
"666-sandstorm": [0, 1, 1],
"666-savanna": [0, 1, 1],
"666-sun": [0, 1, 1],
@@ -1864,19 +1864,19 @@
"666-archipelago": [0, 1, 1],
"666-continental": [0, 1, 1],
"666-elegant": [0, 1, 1],
- "666-fancy": [0, 2, 2],
+ "666-fancy": [0, 1, 1],
"666-garden": [0, 1, 1],
"666-high-plains": [0, 1, 1],
"666-icy-snow": [0, 1, 1],
"666-jungle": [0, 1, 1],
"666-marine": [0, 1, 1],
- "666-meadow": [0, 2, 2],
+ "666-meadow": [0, 1, 1],
"666-modern": [0, 1, 1],
"666-monsoon": [0, 1, 1],
"666-ocean": [0, 1, 1],
- "666-poke-ball": [0, 1, 2],
+ "666-poke-ball": [0, 1, 1],
"666-polar": [0, 1, 1],
- "666-river": [0, 2, 1],
+ "666-river": [0, 1, 1],
"666-sandstorm": [0, 1, 1],
"666-savanna": [0, 1, 1],
"666-sun": [0, 1, 1],
@@ -2193,26 +2193,26 @@
"658-ash": [0, 1, 1],
"664": [0, 1, 1],
"665": [0, 1, 1],
- "666-archipelago": [0, 2, 2],
- "666-continental": [0, 2, 2],
- "666-elegant": [0, 2, 2],
- "666-fancy": [0, 2, 2],
- "666-garden": [0, 2, 2],
- "666-high-plains": [0, 2, 2],
- "666-icy-snow": [0, 2, 2],
- "666-jungle": [0, 2, 2],
- "666-marine": [0, 2, 2],
- "666-meadow": [0, 2, 2],
- "666-modern": [0, 2, 2],
- "666-monsoon": [0, 2, 2],
- "666-ocean": [0, 2, 2],
- "666-poke-ball": [0, 2, 2],
- "666-polar": [0, 2, 2],
- "666-river": [0, 2, 2],
- "666-sandstorm": [0, 2, 2],
- "666-savanna": [0, 2, 2],
- "666-sun": [0, 2, 2],
- "666-tundra": [0, 2, 2],
+ "666-archipelago": [0, 1, 1],
+ "666-continental": [0, 1, 1],
+ "666-elegant": [0, 1, 1],
+ "666-fancy": [0, 1, 1],
+ "666-garden": [0, 1, 1],
+ "666-high-plains": [0, 1, 1],
+ "666-icy-snow": [0, 1, 1],
+ "666-jungle": [0, 1, 1],
+ "666-marine": [0, 1, 1],
+ "666-meadow": [0, 1, 1],
+ "666-modern": [0, 1, 1],
+ "666-monsoon": [0, 1, 1],
+ "666-ocean": [0, 1, 1],
+ "666-poke-ball": [0, 1, 1],
+ "666-polar": [0, 1, 1],
+ "666-river": [0, 1, 1],
+ "666-sandstorm": [0, 1, 1],
+ "666-savanna": [0, 1, 1],
+ "666-sun": [0, 1, 1],
+ "666-tundra": [0, 1, 1],
"669-red": [0, 2, 2],
"669-blue": [0, 2, 2],
"669-white": [0, 2, 2],
@@ -2478,4 +2478,4 @@
}
}
}
-}
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/656.json b/public/images/pokemon/variant/back/656.json
index 34b11bfab78..f41398f3154 100644
--- a/public/images/pokemon/variant/back/656.json
+++ b/public/images/pokemon/variant/back/656.json
@@ -1,17 +1,17 @@
{
"1": {
- "838394": "4d7dc5",
+ "848496": "4d7dc5",
"7bcdff": "9c75c2",
"62ace6": "8363af",
"ffffff": "b1e5ff",
"396a83": "362864",
"9c9cc5": "5385c7",
"cdcde6": "7eb7e8",
- "174592": "198158",
+ "174592": "37408c",
"5a94cd": "7054a4"
},
"2": {
- "838394": "cc6845",
+ "848496": "cc6845",
"7bcdff": "dd6155",
"62ace6": "c44848",
"ffffff": "fff4bd",
diff --git a/public/images/pokemon/variant/back/666-fancy.json b/public/images/pokemon/variant/back/666-fancy.json
new file mode 100644
index 00000000000..5d368667ae3
--- /dev/null
+++ b/public/images/pokemon/variant/back/666-fancy.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
+ "de4040": "de4040",
+ "5faa3e": "5faa3e",
+ "ceab62": "d9edd4",
+ "b6d26d": "b6d26d",
+ "e9e052": "e9e052",
+ "cf7ef3": "cf7ef3",
+ "c3c3c3": "ffeaff",
+ "f2d4e3": "f2d4e3",
+ "ead2e3": "ffeaff"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "00771b",
+ "675220": "b9c05a",
+ "504a4a": "b9c05a",
+ "595959": "6f9f42",
+ "707068": "6f9f42",
+ "de4040": "de4040",
+ "5faa3e": "5faa3e",
+ "ceab62": "e3e982",
+ "b6d26d": "b6d26d",
+ "e9e052": "e9e052",
+ "cf7ef3": "cf7ef3",
+ "c3c3c3": "fcf1ff",
+ "f2d4e3": "f2d4e3",
+ "ead2e3": "fcf1ff"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/666-fancy_2.json b/public/images/pokemon/variant/back/666-fancy_2.json
deleted file mode 100644
index 49478186fd7..00000000000
--- a/public/images/pokemon/variant/back/666-fancy_2.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "textures": [
- {
- "image": "666-fancy_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 67,
- "h": 67
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 67,
- "h": 67
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 67
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 67
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:c0935d72f3dd919dfad1f00ce1550c3c:4c9a4c435b13a6c8dbd3fa6eacd260d8:6d5edff9a806f43feff031c9919c9aca$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/666-fancy_2.png b/public/images/pokemon/variant/back/666-fancy_2.png
deleted file mode 100644
index a1e23edd659..00000000000
Binary files a/public/images/pokemon/variant/back/666-fancy_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/back/666-fancy_3.json b/public/images/pokemon/variant/back/666-fancy_3.json
deleted file mode 100644
index f060b4b02c6..00000000000
--- a/public/images/pokemon/variant/back/666-fancy_3.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "textures": [
- {
- "image": "666-fancy_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 67,
- "h": 67
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 67,
- "h": 67
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 67
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 67
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:c0935d72f3dd919dfad1f00ce1550c3c:4c9a4c435b13a6c8dbd3fa6eacd260d8:6d5edff9a806f43feff031c9919c9aca$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/666-fancy_3.png b/public/images/pokemon/variant/back/666-fancy_3.png
deleted file mode 100644
index 6d15bc3f680..00000000000
Binary files a/public/images/pokemon/variant/back/666-fancy_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/back/666-high-plains.json b/public/images/pokemon/variant/back/666-high-plains.json
index acd62e863c1..6ee5c78e6ca 100644
--- a/public/images/pokemon/variant/back/666-high-plains.json
+++ b/public/images/pokemon/variant/back/666-high-plains.json
@@ -13,7 +13,8 @@
"504a4a": "7f6991",
"c3c3c3": "c3c3c3",
"337543": "337543",
- "e8c815": "e8c815"
+ "e8c815": "e8c815",
+ "773d21": "773d21"
},
"2": {
"101010": "101010",
@@ -29,6 +30,7 @@
"504a4a": "c97034",
"c3c3c3": "edc67c",
"337543": "337543",
- "e8c815": "e8c815"
+ "e8c815": "e8c815",
+ "773d21": "773d21"
}
}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/666-monsoon.json b/public/images/pokemon/variant/back/666-monsoon.json
index afb60e0f5ae..915d471b2b1 100644
--- a/public/images/pokemon/variant/back/666-monsoon.json
+++ b/public/images/pokemon/variant/back/666-monsoon.json
@@ -1,34 +1,33 @@
{
- "1": {
- "101010": "101010",
- "595959": "724b7a",
- "f0f0f8": "f0f0f8",
- "303030": "402746",
- "ceab62": "d9edd4",
- "675220": "958c8a",
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
"807676": "807676",
- "92f4f4": "92f4f4",
- "989898": "989898",
- "707068": "a97cbc",
+ "ceab62": "d9edd4",
"5676de": "5676de",
- "4eccd6": "4eccd6",
- "504a4a": "7f6991",
- "c3c3c3": "c3c3c3"
- },
- "2": {
- "101010": "101010",
- "595959": "656565",
- "f0f0f8": "f0f0f8",
- "303030": "4f4645",
- "ceab62": "5857bc",
- "675220": "2c3593",
- "807676": "807676",
- "92f4f4": "92f4f4",
- "989898": "989898",
- "707068": "5857bc",
- "5676de": "5676de",
- "4eccd6": "4eccd6",
- "504a4a": "2c3593",
- "c3c3c3": "b8f9f9"
- }
+ "4eccd6": "4eccd6",
+ "989898": "989898",
+ "c3c3c3": "c3c3c3",
+ "f0f0f8": "f0f0f8"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "3d3231",
+ "675220": "2c3593",
+ "504a4a": "2c3593",
+ "595959": "4f4645",
+ "707068": "5857bc",
+ "807676": "807676",
+ "ceab62": "5857bc",
+ "5676de": "5676de",
+ "4eccd6": "4eccd6",
+ "989898": "989898",
+ "92f4f4": "92f4f4",
+ "c3c3c3": "b8f9f9",
+ "f0f0f8": "f0f0f8"
+ }
}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/666-ocean.json b/public/images/pokemon/variant/back/666-ocean.json
index 51a99de1ea8..8b62b4a8072 100644
--- a/public/images/pokemon/variant/back/666-ocean.json
+++ b/public/images/pokemon/variant/back/666-ocean.json
@@ -21,7 +21,7 @@
"e1384d": "e1384d",
"f4ad61": "f4ad61",
"f8ef6a": "f8ef6a",
- "303030": "b56208",
+ "303030": "b54908",
"ceb362": "ea8742",
"675220": "bc601c",
"ebcf3f": "ebcf3f",
diff --git a/public/images/pokemon/variant/back/666-river.json b/public/images/pokemon/variant/back/666-river.json
index b3b9671ee75..c7e5e288d05 100644
--- a/public/images/pokemon/variant/back/666-river.json
+++ b/public/images/pokemon/variant/back/666-river.json
@@ -1,18 +1,40 @@
{
- "2": {
- "101010": "101010",
- "595959": "8a5702",
- "ceab62": "d9a666",
- "625841": "625841",
- "303030": "7b2800",
- "bc813f": "bc813f",
- "9c9143": "9c9143",
- "675220": "ae7f41",
- "707068": "d9a666",
- "504a4a": "ae7f41",
- "c3c3c3": "e3c384",
- "279ec2": "279ec2",
- "59c9d3": "59c9d3",
- "1d726a": "1d726a"
- }
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "4a412c": "4a412c",
+ "675220": "958c8a",
+ "634d20": "634d20",
+ "1d726a": "1d726a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "625841": "625841",
+ "707068": "a97cbc",
+ "bc813f": "bc813f",
+ "9c9143": "9c9143",
+ "ceab62": "ceab62",
+ "279ec2": "279ec2",
+ "59c9d3": "59c9d3",
+ "c3c3c3": "c3c3c3",
+ "d2a862": "d9edd4"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "7b2800",
+ "4a412c": "4a412c",
+ "675220": "ae7f41",
+ "634d20": "634d20",
+ "1d726a": "1d726a",
+ "504a4a": "ae7f41",
+ "595959": "8a5702",
+ "625841": "625841",
+ "707068": "d9a666",
+ "bc813f": "bc813f",
+ "9c9143": "9c9143",
+ "ceab62": "ceab62",
+ "279ec2": "279ec2",
+ "59c9d3": "59c9d3",
+ "c3c3c3": "e3c384",
+ "d2a862": "d2a862"
+ }
}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/666-river_2.json b/public/images/pokemon/variant/back/666-river_2.json
deleted file mode 100644
index 710513e4626..00000000000
--- a/public/images/pokemon/variant/back/666-river_2.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "textures": [
- {
- "image": "666-river_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 67,
- "h": 67
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 67,
- "h": 67
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 67
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 67
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:c5c96b8025cde94330c424121707d6d1:0eb4b25134091aa2435bee846468e099:fa23dc87fc53ba2cfa532cf440553cf5$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/666-river_2.png b/public/images/pokemon/variant/back/666-river_2.png
deleted file mode 100644
index 8d829e974f4..00000000000
Binary files a/public/images/pokemon/variant/back/666-river_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/666-fancy.json b/public/images/pokemon/variant/exp/666-fancy.json
new file mode 100644
index 00000000000..1f31ac6983d
--- /dev/null
+++ b/public/images/pokemon/variant/exp/666-fancy.json
@@ -0,0 +1,38 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
+ "811c1c": "811c1c",
+ "de4040": "de4040",
+ "5faa3e": "5faa3e",
+ "ceab62": "d9edd4",
+ "b6d26d": "b6d26d",
+ "e9e052": "e9e052",
+ "cf7ef3": "cf7ef3",
+ "c3c3c3": "ffeaff",
+ "f2d4e3": "f2d4e3",
+ "ead2e3": "ffeaff"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "00771b",
+ "675220": "b9c05a",
+ "504a4a": "b9c05a",
+ "595959": "6f9f42",
+ "707068": "e3e982",
+ "811c1c": "811c1c",
+ "de4040": "de4040",
+ "5faa3e": "5faa3e",
+ "ceab62": "e3e982",
+ "b6d26d": "b6d26d",
+ "e9e052": "e9e052",
+ "cf7ef3": "cf7ef3",
+ "c3c3c3": "fcf1ff",
+ "f2d4e3": "f2d4e3",
+ "ead2e3": "fcf1ff"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/666-fancy_2.json b/public/images/pokemon/variant/exp/666-fancy_2.json
deleted file mode 100644
index bcfde0b3dd4..00000000000
--- a/public/images/pokemon/variant/exp/666-fancy_2.json
+++ /dev/null
@@ -1,1280 +0,0 @@
-{
- "textures": [
- {
- "image": "666-fancy_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 346,
- "h": 346
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 138,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 207,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 276,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 201,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0053.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0057.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 138,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 207,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 134,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 134,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 134,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 201,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 240,
- "y": 138,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 138,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 138,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 206,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0054.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 206,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 206,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 240,
- "y": 207,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 275,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 275,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 240,
- "y": 276,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0058.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 207,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 276,
- "w": 53,
- "h": 69
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:370e4a87d9d988b8133d25e0b97db22c:d173344c5e41aaa90de937ec3e1b167f:6d5edff9a806f43feff031c9919c9aca$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/666-fancy_2.png b/public/images/pokemon/variant/exp/666-fancy_2.png
deleted file mode 100644
index 68af4d0a07a..00000000000
Binary files a/public/images/pokemon/variant/exp/666-fancy_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/666-fancy_3.json b/public/images/pokemon/variant/exp/666-fancy_3.json
deleted file mode 100644
index 60fd0634e79..00000000000
--- a/public/images/pokemon/variant/exp/666-fancy_3.json
+++ /dev/null
@@ -1,1280 +0,0 @@
-{
- "textures": [
- {
- "image": "666-fancy_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 346,
- "h": 346
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 138,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 207,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 276,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 201,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0053.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0057.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 138,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 207,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 134,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 134,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 134,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 201,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 240,
- "y": 138,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 138,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 138,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 206,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0054.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 206,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 206,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 240,
- "y": 207,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 275,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 275,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 240,
- "y": 276,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0058.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 207,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 276,
- "w": 53,
- "h": 69
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:370e4a87d9d988b8133d25e0b97db22c:d173344c5e41aaa90de937ec3e1b167f:6d5edff9a806f43feff031c9919c9aca$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/666-fancy_3.png b/public/images/pokemon/variant/exp/666-fancy_3.png
deleted file mode 100644
index a8e39976f2a..00000000000
Binary files a/public/images/pokemon/variant/exp/666-fancy_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/666-high-plains.json b/public/images/pokemon/variant/exp/666-high-plains.json
index 330d1c39772..f63bb4f81f3 100644
--- a/public/images/pokemon/variant/exp/666-high-plains.json
+++ b/public/images/pokemon/variant/exp/666-high-plains.json
@@ -14,7 +14,8 @@
"c3c3c3": "ffeaff",
"811c1c": "811c1c",
"337543": "337543",
- "e8c815": "e8c815"
+ "e8c815": "e8c815",
+ "773d21": "773d21"
},
"2": {
"101010": "101010",
@@ -31,6 +32,7 @@
"c3c3c3": "edc67c",
"811c1c": "811c1c",
"337543": "337543",
- "e8c815": "e8c815"
+ "e8c815": "e8c815",
+ "773d21": "773d21"
}
}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/666-icy-snow.json b/public/images/pokemon/variant/exp/666-icy-snow.json
index 9cae71418ce..d69d48d89e9 100644
--- a/public/images/pokemon/variant/exp/666-icy-snow.json
+++ b/public/images/pokemon/variant/exp/666-icy-snow.json
@@ -6,12 +6,13 @@
"303030": "402746",
"cfd9cf": "cfd9cf",
"c5c5da": "c5c5da",
- "ceab62": "d9edd4",
"675220": "958c8a",
- "504a4a": "7f6991",
+ "ceab62": "d9edd4",
"707068": "a97cbc",
+ "504a4a": "7f6991",
"c3c3c3": "ffeaff",
"acacc2": "acacc2",
+ "95a1a1": "95a1a1",
"811c1c": "811c1c"
},
"2": {
@@ -21,12 +22,13 @@
"303030": "364051",
"cfd9cf": "cfd9cf",
"c5c5da": "c5c5da",
- "ceab62": "8c91a4",
"675220": "666b7d",
- "504a4a": "666b7d",
+ "ceab62": "8c91a4",
"707068": "8c91a4",
+ "504a4a": "666b7d",
"c3c3c3": "fefeff",
"acacc2": "acacc2",
+ "95a1a1": "95a1a1",
"811c1c": "811c1c"
}
}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/666-meadow.json b/public/images/pokemon/variant/exp/666-meadow.json
new file mode 100644
index 00000000000..c766325427b
--- /dev/null
+++ b/public/images/pokemon/variant/exp/666-meadow.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
+ "811c1c": "811c1c",
+ "b4295a": "b4295a",
+ "da6b7e": "da6b7e",
+ "ceab62": "d9edd4",
+ "e66fad": "e66fad",
+ "2d9b9b": "2d9b9b",
+ "f3a0ca": "f3a0ca",
+ "c3c3c3": "ffeaff",
+ "f2f2f2": "f2f2f2"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "770921",
+ "675220": "a2275e",
+ "504a4a": "a2275e",
+ "595959": "9e3941",
+ "707068": "ce5283",
+ "811c1c": "811c1c",
+ "b4295a": "b4295a",
+ "da6b7e": "da6b7e",
+ "ceab62": "ce5283",
+ "e66fad": "e66fad",
+ "2d9b9b": "2d9b9b",
+ "f3a0ca": "f3a0ca",
+ "c3c3c3": "f4c2ec",
+ "f2f2f2": "f2f2f2"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/666-meadow_2.json b/public/images/pokemon/variant/exp/666-meadow_2.json
deleted file mode 100644
index 4d4d4d16147..00000000000
--- a/public/images/pokemon/variant/exp/666-meadow_2.json
+++ /dev/null
@@ -1,1280 +0,0 @@
-{
- "textures": [
- {
- "image": "666-meadow_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 346,
- "h": 346
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 138,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 207,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 276,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 201,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0053.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0057.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 138,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 207,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 134,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 134,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 134,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 201,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 240,
- "y": 138,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 138,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 138,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 206,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0054.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 206,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 206,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 240,
- "y": 207,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 275,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 275,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 240,
- "y": 276,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0058.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 207,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 276,
- "w": 53,
- "h": 69
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:223ce33721ef8da9ff40286099c20de4:b82acd304c2a8b8cebeda2043a3e1f96:f8ac4807b4d6eef2256fa1b93e0f89ba$"
- }
-}
diff --git a/public/images/pokemon/variant/exp/666-meadow_2.png b/public/images/pokemon/variant/exp/666-meadow_2.png
deleted file mode 100644
index 8aada72636f..00000000000
Binary files a/public/images/pokemon/variant/exp/666-meadow_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/666-meadow_3.json b/public/images/pokemon/variant/exp/666-meadow_3.json
deleted file mode 100644
index 8af56626a35..00000000000
--- a/public/images/pokemon/variant/exp/666-meadow_3.json
+++ /dev/null
@@ -1,1280 +0,0 @@
-{
- "textures": [
- {
- "image": "666-meadow_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 346,
- "h": 346
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 138,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 207,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 276,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 201,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0053.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0057.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 138,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 207,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 134,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 134,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 134,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 201,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 240,
- "y": 138,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 138,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 138,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 206,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0054.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 206,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 206,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 240,
- "y": 207,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 275,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 275,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 240,
- "y": 276,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0058.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 207,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 276,
- "w": 53,
- "h": 69
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:223ce33721ef8da9ff40286099c20de4:b82acd304c2a8b8cebeda2043a3e1f96:f8ac4807b4d6eef2256fa1b93e0f89ba$"
- }
-}
diff --git a/public/images/pokemon/variant/exp/666-meadow_3.png b/public/images/pokemon/variant/exp/666-meadow_3.png
deleted file mode 100644
index 146ea5e2ba9..00000000000
Binary files a/public/images/pokemon/variant/exp/666-meadow_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/666-monsoon.json b/public/images/pokemon/variant/exp/666-monsoon.json
index edc2e86427e..915d471b2b1 100644
--- a/public/images/pokemon/variant/exp/666-monsoon.json
+++ b/public/images/pokemon/variant/exp/666-monsoon.json
@@ -1,36 +1,33 @@
{
- "1": {
- "101010": "101010",
- "595959": "724b7a",
- "f0f0f8": "f0f0f8",
- "303030": "402746",
- "ceab62": "d9edd4",
- "675220": "958c8a",
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
"807676": "807676",
- "92f4f4": "92f4f4",
- "989898": "989898",
- "504a4a": "7f6991",
- "707068": "a97cbc",
- "4eccd6": "4eccd6",
+ "ceab62": "d9edd4",
"5676de": "5676de",
- "c3c3c3": "ffeaff",
- "811c1c": "811c1c"
- },
- "2": {
- "101010": "101010",
- "595959": "656565",
- "f0f0f8": "f0f0f8",
- "303030": "4f4645",
- "ceab62": "5857bc",
- "675220": "2c3593",
- "807676": "807676",
- "92f4f4": "92f4f4",
- "989898": "989898",
- "504a4a": "2c3593",
- "707068": "5857bc",
- "4eccd6": "4eccd6",
- "5676de": "5676de",
- "c3c3c3": "b8f9f9",
- "811c1c": "811c1c"
- }
+ "4eccd6": "4eccd6",
+ "989898": "989898",
+ "c3c3c3": "c3c3c3",
+ "f0f0f8": "f0f0f8"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "3d3231",
+ "675220": "2c3593",
+ "504a4a": "2c3593",
+ "595959": "4f4645",
+ "707068": "5857bc",
+ "807676": "807676",
+ "ceab62": "5857bc",
+ "5676de": "5676de",
+ "4eccd6": "4eccd6",
+ "989898": "989898",
+ "92f4f4": "92f4f4",
+ "c3c3c3": "b8f9f9",
+ "f0f0f8": "f0f0f8"
+ }
}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/666-ocean.json b/public/images/pokemon/variant/exp/666-ocean.json
index 26a38bad7a8..c468bbcbf1e 100644
--- a/public/images/pokemon/variant/exp/666-ocean.json
+++ b/public/images/pokemon/variant/exp/666-ocean.json
@@ -22,7 +22,7 @@
"e1384d": "e1384d",
"f3a861": "f3a861",
"fcf372": "fcf372",
- "303030": "b56208",
+ "303030": "b54908",
"ceab62": "ea8742",
"675220": "bc601c",
"504a4a": "bc601c",
diff --git a/public/images/pokemon/variant/exp/666-poke-ball.json b/public/images/pokemon/variant/exp/666-poke-ball.json
index 36cd38b95f0..fe6b42f6ef3 100644
--- a/public/images/pokemon/variant/exp/666-poke-ball.json
+++ b/public/images/pokemon/variant/exp/666-poke-ball.json
@@ -3,17 +3,36 @@
"101010": "101010",
"595959": "724b7a",
"b72c2c": "b72c2c",
- "303030": "402746",
"dc4b4b": "dc4b4b",
- "ceab62": "d9edd4",
+ "303030": "402746",
"675220": "958c8a",
+ "ceab62": "d9edd4",
"e97e7e": "e97e7e",
"971d1d": "971d1d",
"f8f8f8": "f8f8f8",
- "504a4a": "7f6991",
"707068": "a97cbc",
+ "504a4a": "7f6991",
"c3c3c3": "ffeaff",
"811c1c": "811c1c",
- "a9a99e": "a9a99e"
+ "a9a99e": "a9a99e",
+ "2c2b2b": "402746"
+ },
+ "2": {
+ "101010": "101010",
+ "f8f8f8": "00006d",
+ "303030": "ae001a",
+ "2c2b2b": "660000",
+ "504a4a": "a70038",
+ "595959": "df0036",
+ "c3c3c3": "f0a6bf",
+ "707068": "d5375a",
+ "a9a99e": "000050",
+ "811c1c": "811c1c",
+ "971d1d": "040046",
+ "b72c2c": "00005e",
+ "dc4b4b": "19007d",
+ "e97e7e": "2e2095",
+ "675220": "a70038",
+ "ceab62": "d5375a"
}
}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/666-poke-ball_3.json b/public/images/pokemon/variant/exp/666-poke-ball_3.json
deleted file mode 100644
index 3d133124358..00000000000
--- a/public/images/pokemon/variant/exp/666-poke-ball_3.json
+++ /dev/null
@@ -1,1280 +0,0 @@
-{
- "textures": [
- {
- "image": "666-poke-ball_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 346,
- "h": 346
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 138,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 207,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 276,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 201,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0053.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0057.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 138,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 207,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 134,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 134,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 134,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 201,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 240,
- "y": 138,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 138,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 138,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 206,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0054.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 206,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 206,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 240,
- "y": 207,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 275,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 275,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 240,
- "y": 276,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0058.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 207,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 276,
- "w": 53,
- "h": 69
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:9b0791af9130022168ad784a59e299ce:b180b141bed2ea965d6f07d9e2cd7ecc:8ec14f129d1691b8da504a13b661abed$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/666-poke-ball_3.png b/public/images/pokemon/variant/exp/666-poke-ball_3.png
deleted file mode 100644
index 767a55ab849..00000000000
Binary files a/public/images/pokemon/variant/exp/666-poke-ball_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/666-river.json b/public/images/pokemon/variant/exp/666-river.json
index df10a73d783..c7e5e288d05 100644
--- a/public/images/pokemon/variant/exp/666-river.json
+++ b/public/images/pokemon/variant/exp/666-river.json
@@ -1,19 +1,40 @@
{
- "2": {
- "101010": "101010",
- "595959": "8a5702",
- "ceab62": "d9a666",
- "303030": "7b2800",
- "625843": "625843",
- "bc813f": "bc813f",
- "9c9143": "9c9143",
- "675220": "ae7f41",
- "504a4a": "ae7f41",
- "707068": "d9a666",
- "c3c3c3": "e3c384",
- "811c1c": "811c1c",
- "59c9d3": "59c9d3",
- "279ec2": "279ec2",
- "1d726a": "1d726a"
- }
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "4a412c": "4a412c",
+ "675220": "958c8a",
+ "634d20": "634d20",
+ "1d726a": "1d726a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "625841": "625841",
+ "707068": "a97cbc",
+ "bc813f": "bc813f",
+ "9c9143": "9c9143",
+ "ceab62": "ceab62",
+ "279ec2": "279ec2",
+ "59c9d3": "59c9d3",
+ "c3c3c3": "c3c3c3",
+ "d2a862": "d9edd4"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "7b2800",
+ "4a412c": "4a412c",
+ "675220": "ae7f41",
+ "634d20": "634d20",
+ "1d726a": "1d726a",
+ "504a4a": "ae7f41",
+ "595959": "8a5702",
+ "625841": "625841",
+ "707068": "d9a666",
+ "bc813f": "bc813f",
+ "9c9143": "9c9143",
+ "ceab62": "ceab62",
+ "279ec2": "279ec2",
+ "59c9d3": "59c9d3",
+ "c3c3c3": "e3c384",
+ "d2a862": "d2a862"
+ }
}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/666-river_2.json b/public/images/pokemon/variant/exp/666-river_2.json
deleted file mode 100644
index f840b39ccfd..00000000000
--- a/public/images/pokemon/variant/exp/666-river_2.json
+++ /dev/null
@@ -1,1280 +0,0 @@
-{
- "textures": [
- {
- "image": "666-river_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 346,
- "h": 346
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 138,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 207,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 276,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 201,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0053.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 0,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 69,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0057.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 138,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 207,
- "w": 67,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 276,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 134,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 134,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 134,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 201,
- "y": 69,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 268,
- "y": 69,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 137,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 240,
- "y": 138,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 138,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 138,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 206,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0054.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 206,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 206,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 240,
- "y": 207,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 134,
- "y": 275,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 187,
- "y": 275,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 240,
- "y": 276,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0058.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 207,
- "w": 53,
- "h": 69
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 74
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 53,
- "h": 69
- },
- "frame": {
- "x": 293,
- "y": 276,
- "w": 53,
- "h": 69
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:3ecaf6e3ae563f3da9598e7b18b87b05:e4ece90a3e9880c6499c363b000de8dd:fa23dc87fc53ba2cfa532cf440553cf5$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/666-river_2.png b/public/images/pokemon/variant/exp/666-river_2.png
deleted file mode 100644
index 863acbbdc76..00000000000
Binary files a/public/images/pokemon/variant/exp/666-river_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-archipelago.json b/public/images/pokemon/variant/exp/back/666-archipelago.json
new file mode 100644
index 00000000000..6386464b74e
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-archipelago.json
@@ -0,0 +1,35 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
+ "c8373c": "c8373c",
+ "a2523b": "a2523b",
+ "c27351": "c27351",
+ "30c171": "30c171",
+ "b28e67": "b28e67",
+ "ceab62": "d9edd4",
+ "d2bf96": "d2bf96",
+ "c3c3c3": "c3c3c3"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "642703",
+ "675220": "741300",
+ "504a4a": "741300",
+ "595959": "824719",
+ "707068": "a22414",
+ "c8373c": "c8373c",
+ "a2523b": "a2523b",
+ "c27351": "c27351",
+ "30c171": "30c171",
+ "b28e67": "b28e67",
+ "ceab62": "a22414",
+ "d2bf96": "d2bf96",
+ "c3c3c3": "e7caa5"
+
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-archipelago_2.json b/public/images/pokemon/variant/exp/back/666-archipelago_2.json
deleted file mode 100644
index 8c6fd7bcb91..00000000000
--- a/public/images/pokemon/variant/exp/back/666-archipelago_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-archipelago_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:223e2a75aa192f3fb67e18f7f0d6c4c7:ba854fe0d08f005e9aa52e55cdc7eb4e:80cdb6dd219378a41ccf5c2acc7e7786$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-archipelago_2.png b/public/images/pokemon/variant/exp/back/666-archipelago_2.png
deleted file mode 100644
index 86e17e33f11..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-archipelago_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-archipelago_3.json b/public/images/pokemon/variant/exp/back/666-archipelago_3.json
deleted file mode 100644
index 3f9c86ecd75..00000000000
--- a/public/images/pokemon/variant/exp/back/666-archipelago_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-archipelago_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:223e2a75aa192f3fb67e18f7f0d6c4c7:ba854fe0d08f005e9aa52e55cdc7eb4e:80cdb6dd219378a41ccf5c2acc7e7786$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-archipelago_3.png b/public/images/pokemon/variant/exp/back/666-archipelago_3.png
deleted file mode 100644
index 7028f550d45..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-archipelago_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-continental.json b/public/images/pokemon/variant/exp/back/666-continental.json
new file mode 100644
index 00000000000..92614fb346c
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-continental.json
@@ -0,0 +1,38 @@
+{
+ "1": {
+ "101010": "101010",
+ "595959": "724b7a",
+ "555353": "724b7a",
+ "d18257": "d18257",
+ "f9bd55": "f9bd55",
+ "303030": "402746",
+ "f8f05e": "f8f05e",
+ "d24c3e": "d24c3e",
+ "675220": "958c8a",
+ "ceab62": "d9edd4",
+ "707068": "a97cbc",
+ "504a4a": "7f6991",
+ "aa5844": "aa5844",
+ "c3c3c3": "ffeaff",
+ "811c1c": "811c1c",
+ "e08528": "e08528"
+ },
+ "2": {
+ "101010": "101010",
+ "595959": "8f551e",
+ "555353": "e99b44",
+ "d18257": "d18257",
+ "f9bd55": "f9bd55",
+ "303030": "6d2d0d",
+ "f8f05e": "f8f05e",
+ "d24c3e": "d24c3e",
+ "675220": "9c5c19",
+ "ceab62": "e99b44",
+ "707068": "e99b44",
+ "504a4a": "9c5c19",
+ "aa5844": "aa5844",
+ "c3c3c3": "f8f27f",
+ "811c1c": "811c1c",
+ "308528": "308528"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-continental_2.json b/public/images/pokemon/variant/exp/back/666-continental_2.json
deleted file mode 100644
index 371e157ff8a..00000000000
--- a/public/images/pokemon/variant/exp/back/666-continental_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-continental_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 1,
- "w": 46,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 46,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 1,
- "w": 46,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 46,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 46,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 46,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:89725e18f2e4d97217076ac82b40230b:c83c3d03ad1200fc71d95ecafb54bc03:23aaac2256d564b9d8a58d7de70397c3$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-continental_2.png b/public/images/pokemon/variant/exp/back/666-continental_2.png
deleted file mode 100644
index 3b9a31469af..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-continental_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-continental_3.json b/public/images/pokemon/variant/exp/back/666-continental_3.json
deleted file mode 100644
index ec9c98e6312..00000000000
--- a/public/images/pokemon/variant/exp/back/666-continental_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-continental_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 1,
- "w": 46,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 46,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 1,
- "w": 46,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 46,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 46,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 46,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:89725e18f2e4d97217076ac82b40230b:c83c3d03ad1200fc71d95ecafb54bc03:23aaac2256d564b9d8a58d7de70397c3$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-continental_3.png b/public/images/pokemon/variant/exp/back/666-continental_3.png
deleted file mode 100644
index b61b16538eb..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-continental_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-elegant.json b/public/images/pokemon/variant/exp/back/666-elegant.json
new file mode 100644
index 00000000000..1b7b9838005
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-elegant.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
+ "de4040": "de4040",
+ "f8de3f": "f8de3f",
+ "ceab62": "d9edd4",
+ "56479d": "56479d",
+ "875fb5": "875fb5",
+ "cf7ef3": "cf7ef3",
+ "c3c3c3": "c3c3c3",
+ "e6ddf8": "e6ddf8"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "351262",
+ "675220": "7d1083",
+ "504a4a": "7d1083",
+ "595959": "612776",
+ "707068": "a73fab",
+ "de4040": "de4040",
+ "f8de3f": "f8de3f",
+ "ceab62": "a73fab",
+ "56479d": "56479d",
+ "875fb5": "875fb5",
+ "cf7ef3": "cf7ef3",
+ "c3c3c3": "f0ecff",
+ "e6ddf8": "e6ddf8"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-elegant_2.json b/public/images/pokemon/variant/exp/back/666-elegant_2.json
deleted file mode 100644
index 0894ba3672b..00000000000
--- a/public/images/pokemon/variant/exp/back/666-elegant_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-elegant_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 44,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 44,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 44,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 44,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:bbba66d69955866664e782205a4af88d:66e99814147be780756a4d4ccd8b31dc:d6b035048c66474f6236a3bc923faa7b$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-elegant_2.png b/public/images/pokemon/variant/exp/back/666-elegant_2.png
deleted file mode 100644
index 315b2fe859d..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-elegant_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-elegant_3.json b/public/images/pokemon/variant/exp/back/666-elegant_3.json
deleted file mode 100644
index 20501609416..00000000000
--- a/public/images/pokemon/variant/exp/back/666-elegant_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-elegant_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 44,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 44,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 44,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 44,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:bbba66d69955866664e782205a4af88d:66e99814147be780756a4d4ccd8b31dc:d6b035048c66474f6236a3bc923faa7b$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-elegant_3.png b/public/images/pokemon/variant/exp/back/666-elegant_3.png
deleted file mode 100644
index 490bbb5951c..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-elegant_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-fancy.json b/public/images/pokemon/variant/exp/back/666-fancy.json
new file mode 100644
index 00000000000..5d368667ae3
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-fancy.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
+ "de4040": "de4040",
+ "5faa3e": "5faa3e",
+ "ceab62": "d9edd4",
+ "b6d26d": "b6d26d",
+ "e9e052": "e9e052",
+ "cf7ef3": "cf7ef3",
+ "c3c3c3": "ffeaff",
+ "f2d4e3": "f2d4e3",
+ "ead2e3": "ffeaff"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "00771b",
+ "675220": "b9c05a",
+ "504a4a": "b9c05a",
+ "595959": "6f9f42",
+ "707068": "6f9f42",
+ "de4040": "de4040",
+ "5faa3e": "5faa3e",
+ "ceab62": "e3e982",
+ "b6d26d": "b6d26d",
+ "e9e052": "e9e052",
+ "cf7ef3": "cf7ef3",
+ "c3c3c3": "fcf1ff",
+ "f2d4e3": "f2d4e3",
+ "ead2e3": "fcf1ff"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-fancy_2.json b/public/images/pokemon/variant/exp/back/666-fancy_2.json
deleted file mode 100644
index 5f8f29308d3..00000000000
--- a/public/images/pokemon/variant/exp/back/666-fancy_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-fancy_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:570d1bf9b987c1bf5ebfe39e485464dd:a3c8bebd39c1c84b1bf0fdf600026ea5:6d5edff9a806f43feff031c9919c9aca$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-fancy_2.png b/public/images/pokemon/variant/exp/back/666-fancy_2.png
deleted file mode 100644
index a92f1e7eecf..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-fancy_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-fancy_3.json b/public/images/pokemon/variant/exp/back/666-fancy_3.json
deleted file mode 100644
index c1c35bf083a..00000000000
--- a/public/images/pokemon/variant/exp/back/666-fancy_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-fancy_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:570d1bf9b987c1bf5ebfe39e485464dd:a3c8bebd39c1c84b1bf0fdf600026ea5:6d5edff9a806f43feff031c9919c9aca$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-fancy_3.png b/public/images/pokemon/variant/exp/back/666-fancy_3.png
deleted file mode 100644
index 7a54e9bb6cd..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-fancy_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-garden.json b/public/images/pokemon/variant/exp/back/666-garden.json
new file mode 100644
index 00000000000..16fec8bc537
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-garden.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
+ "de4040": "de4040",
+ "398351": "398351",
+ "ceab62": "d9edd4",
+ "88d254": "88d254",
+ "3f919a": "3f919a",
+ "3dba96": "3dba96",
+ "c3c3c3": "c3c3c3"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "044553",
+ "675220": "055160",
+ "504a4a": "055160",
+ "595959": "006b55",
+ "707068": "227687",
+ "de4040": "de4040",
+ "398351": "398351",
+ "ceab62": "227687",
+ "88d254": "88d254",
+ "3f919a": "3f919a",
+ "3dba96": "3dba96",
+ "c3c3c3": "72d0a3"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-garden_2.json b/public/images/pokemon/variant/exp/back/666-garden_2.json
deleted file mode 100644
index 1c3840b900c..00000000000
--- a/public/images/pokemon/variant/exp/back/666-garden_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-garden_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:4b2ac69ef7a99f6cef35d3fd38c74d01:8a4c29615f3bf20e9c5d0bb372a5b210:f13a1a8fa0a411aa91fccb833ac8719c$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-garden_2.png b/public/images/pokemon/variant/exp/back/666-garden_2.png
deleted file mode 100644
index c56ff652c7d..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-garden_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-garden_3.json b/public/images/pokemon/variant/exp/back/666-garden_3.json
deleted file mode 100644
index 5fbdd2097fd..00000000000
--- a/public/images/pokemon/variant/exp/back/666-garden_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-garden_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:4b2ac69ef7a99f6cef35d3fd38c74d01:8a4c29615f3bf20e9c5d0bb372a5b210:f13a1a8fa0a411aa91fccb833ac8719c$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-garden_3.png b/public/images/pokemon/variant/exp/back/666-garden_3.png
deleted file mode 100644
index 60c7f5b7d01..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-garden_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-high-plains.json b/public/images/pokemon/variant/exp/back/666-high-plains.json
new file mode 100644
index 00000000000..984055b6a24
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-high-plains.json
@@ -0,0 +1,38 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "337543": "337543",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "7d4428": "7d4428",
+ "707068": "a97cbc",
+ "9a5a3b": "9a5a3b",
+ "aa4343": "aa4343",
+ "e1764e": "e1764e",
+ "e8c815": "e8c815",
+ "ceab62": "d9edd4",
+ "f3a861": "f3a861",
+ "c3c3c3": "c3c3c3",
+ "773d21": "773d21"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "8f1d19",
+ "675220": "c97034",
+ "337543": "337543",
+ "504a4a": "c97034",
+ "595959": "a55422",
+ "7d4428": "7d4428",
+ "707068": "f2975a",
+ "9a5a3b": "9a5a3b",
+ "aa4343": "aa4343",
+ "e1764e": "e1764e",
+ "e8c815": "e8c815",
+ "ceab62": "f2975a",
+ "f3a861": "f3a861",
+ "c3c3c3": "edc67c",
+ "773d21": "773d21"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-high-plains_2.json b/public/images/pokemon/variant/exp/back/666-high-plains_2.json
deleted file mode 100644
index 405f2657c8a..00000000000
--- a/public/images/pokemon/variant/exp/back/666-high-plains_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-high-plains_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:410c759185f779797422e8f2ce55db4f:6afd0d04b6138fdd57d12681e967b48c:2abdb5d19b2754e3daa24b6ff3ed2c2c$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-high-plains_2.png b/public/images/pokemon/variant/exp/back/666-high-plains_2.png
deleted file mode 100644
index d53634ed092..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-high-plains_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-high-plains_3.json b/public/images/pokemon/variant/exp/back/666-high-plains_3.json
deleted file mode 100644
index 4c91b8fb5a0..00000000000
--- a/public/images/pokemon/variant/exp/back/666-high-plains_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-high-plains_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:410c759185f779797422e8f2ce55db4f:6afd0d04b6138fdd57d12681e967b48c:2abdb5d19b2754e3daa24b6ff3ed2c2c$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-high-plains_3.png b/public/images/pokemon/variant/exp/back/666-high-plains_3.png
deleted file mode 100644
index d6c577be131..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-high-plains_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-icy-snow.json b/public/images/pokemon/variant/exp/back/666-icy-snow.json
new file mode 100644
index 00000000000..ec52af1302a
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-icy-snow.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
+ "ceab62": "d9edd4",
+ "95a1a1": "95a1a1",
+ "acacc2": "acacc2",
+ "c3c3c3": "c3c3c3",
+ "cfd9cf": "cfd9cf",
+ "c5c5da": "c5c5da",
+ "ffffff": "ffffff"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "364051",
+ "675220": "666b7d",
+ "504a4a": "666b7d",
+ "595959": "60646a",
+ "707068": "8c91a4",
+ "ceab62": "8c91a4",
+ "95a1a1": "95a1a1",
+ "acacc2": "acacc2",
+ "c3c3c3": "c3c3c3",
+ "cfd9cf": "cfd9cf",
+ "c5c5da": "c5c5da",
+ "ffffff": "ffffff"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-icy-snow_2.json b/public/images/pokemon/variant/exp/back/666-icy-snow_2.json
deleted file mode 100644
index a456b34be45..00000000000
--- a/public/images/pokemon/variant/exp/back/666-icy-snow_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-icy-snow_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:9f47e6de00b727163c2ffb6870af9c6b:16bfd68007c3798294c7d690e075f679:fb1e8b97806dc5c60ac6adf0ae48199b$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-icy-snow_2.png b/public/images/pokemon/variant/exp/back/666-icy-snow_2.png
deleted file mode 100644
index 02e7e2e61af..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-icy-snow_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-icy-snow_3.json b/public/images/pokemon/variant/exp/back/666-icy-snow_3.json
deleted file mode 100644
index c1b2ff5791d..00000000000
--- a/public/images/pokemon/variant/exp/back/666-icy-snow_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-icy-snow_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:9f47e6de00b727163c2ffb6870af9c6b:16bfd68007c3798294c7d690e075f679:fb1e8b97806dc5c60ac6adf0ae48199b$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-icy-snow_3.png b/public/images/pokemon/variant/exp/back/666-icy-snow_3.png
deleted file mode 100644
index 3c247e0d43a..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-icy-snow_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-jungle.json b/public/images/pokemon/variant/exp/back/666-jungle.json
new file mode 100644
index 00000000000..63b998e284e
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-jungle.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "724e28": "724e28",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "567456": "567456",
+ "707068": "a97cbc",
+ "9a653e": "9a653e",
+ "638c63": "638c63",
+ "c29566": "c29566",
+ "ceab62": "d9edd4",
+ "7cc48b": "7cc48b",
+ "c3c3c3": "c3c3c3"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "20452e",
+ "724e28": "724e28",
+ "675220": "153922",
+ "504a4a": "153922",
+ "595959": "285b3b",
+ "567456": "567456",
+ "707068": "385c43",
+ "9a653e": "9a653e",
+ "638c63": "638c63",
+ "c29566": "c29566",
+ "ceab62": "385c43",
+ "7cc48b": "7cc48b",
+ "c3c3c3": "a9d9a0"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-jungle_2.json b/public/images/pokemon/variant/exp/back/666-jungle_2.json
deleted file mode 100644
index e941cffbb5e..00000000000
--- a/public/images/pokemon/variant/exp/back/666-jungle_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-jungle_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:4d8913bd65ce0b63c5354717532a7d60:39392afb8d9fb30f37b8d68b6cd368ad:c8686bcc5493911384853d54c85bfea1$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-jungle_2.png b/public/images/pokemon/variant/exp/back/666-jungle_2.png
deleted file mode 100644
index d6023a6500f..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-jungle_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-jungle_3.json b/public/images/pokemon/variant/exp/back/666-jungle_3.json
deleted file mode 100644
index 8bbc5571373..00000000000
--- a/public/images/pokemon/variant/exp/back/666-jungle_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-jungle_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:4d8913bd65ce0b63c5354717532a7d60:39392afb8d9fb30f37b8d68b6cd368ad:c8686bcc5493911384853d54c85bfea1$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-jungle_3.png b/public/images/pokemon/variant/exp/back/666-jungle_3.png
deleted file mode 100644
index 0f4ca358601..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-jungle_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-marine.json b/public/images/pokemon/variant/exp/back/666-marine.json
new file mode 100644
index 00000000000..0bae2c2067e
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-marine.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
+ "ceab62": "d9edd4",
+ "315382": "315382",
+ "367cb9": "367cb9",
+ "2f8dc9": "2f8dc9",
+ "5acdf1": "5acdf1",
+ "c3c3c3": "c3c3c3",
+ "f2f2f2": "f2f2f2"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "16244f",
+ "675220": "264c85",
+ "504a4a": "264c85",
+ "595959": "2a5894",
+ "707068": "3070af",
+ "ceab62": "3070af",
+ "315382": "315382",
+ "367cb9": "367cb9",
+ "2f8dc9": "2f8dc9",
+ "5acdf1": "5acdf1",
+ "c3c3c3": "3070af",
+ "f2f2f2": "f2f2f2"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-marine_2.json b/public/images/pokemon/variant/exp/back/666-marine_2.json
deleted file mode 100644
index 7f85f0176f9..00000000000
--- a/public/images/pokemon/variant/exp/back/666-marine_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-marine_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:b061fec5d665439da49159647e0a7d71:7cac8aa51d4531fbcf0f9ea9bf644452:dc240f0acbf3d56fe8729dd1f703009f$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-marine_2.png b/public/images/pokemon/variant/exp/back/666-marine_2.png
deleted file mode 100644
index ffa21823012..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-marine_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-marine_3.json b/public/images/pokemon/variant/exp/back/666-marine_3.json
deleted file mode 100644
index f61b5ed14a9..00000000000
--- a/public/images/pokemon/variant/exp/back/666-marine_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-marine_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:b061fec5d665439da49159647e0a7d71:7cac8aa51d4531fbcf0f9ea9bf644452:dc240f0acbf3d56fe8729dd1f703009f$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-marine_3.png b/public/images/pokemon/variant/exp/back/666-marine_3.png
deleted file mode 100644
index ee4c51543ee..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-marine_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-meadow.json b/public/images/pokemon/variant/exp/back/666-meadow.json
new file mode 100644
index 00000000000..4f567cb29ee
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-meadow.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "101010": "101010",
+ "f2f2f2": "f2f2f2",
+ "303030": "402746",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "c3c3c3": "c3c3c3",
+ "707068": "a97cbc",
+ "675220": "958c8a",
+ "ceab62": "d9edd4",
+ "2d9b9b": "2d9b9b",
+ "e66fad": "e66fad",
+ "b4295a": "b4295a",
+ "f3a0ca": "f3a0ca",
+ "da6b7e": "da6b7e"
+ },
+ "2": {
+ "101010": "101010",
+ "f2f2f2": "f2f2f2",
+ "303030": "770921",
+ "504a4a": "a2275e",
+ "595959": "9e3941",
+ "c3c3c3": "f4c2ec",
+ "707068": "ce5283",
+ "675220": "a2275e",
+ "ceab62": "ce5283",
+ "2d9b9b": "2d9b9b",
+ "e66fad": "e66fad",
+ "b4295a": "b4295a",
+ "f3a0ca": "f3a0ca",
+ "da6b7e": "da6b7e"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-meadow_2.json b/public/images/pokemon/variant/exp/back/666-meadow_2.json
deleted file mode 100644
index 7c2cbd58134..00000000000
--- a/public/images/pokemon/variant/exp/back/666-meadow_2.json
+++ /dev/null
@@ -1,524 +0,0 @@
-{
- "textures": [
- {
- "image": "666-meadow_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 234,
- "h": 234
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 78,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 78,
- "h": 87
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 78,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 78,
- "h": 87
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 78,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 78,
- "h": 87
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 78,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 78,
- "h": 87
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 70,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 87,
- "w": 70,
- "h": 87
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 70,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 87,
- "w": 70,
- "h": 87
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 70,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 87,
- "w": 70,
- "h": 87
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 70,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 87,
- "w": 70,
- "h": 87
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 2,
- "w": 63,
- "h": 87
- },
- "frame": {
- "x": 70,
- "y": 87,
- "w": 63,
- "h": 87
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 2,
- "w": 63,
- "h": 87
- },
- "frame": {
- "x": 70,
- "y": 87,
- "w": 63,
- "h": 87
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 2,
- "w": 63,
- "h": 87
- },
- "frame": {
- "x": 70,
- "y": 87,
- "w": 63,
- "h": 87
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 2,
- "w": 63,
- "h": 87
- },
- "frame": {
- "x": 70,
- "y": 87,
- "w": 63,
- "h": 87
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 57,
- "h": 87
- },
- "frame": {
- "x": 78,
- "y": 0,
- "w": 57,
- "h": 87
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 57,
- "h": 87
- },
- "frame": {
- "x": 78,
- "y": 0,
- "w": 57,
- "h": 87
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 57,
- "h": 87
- },
- "frame": {
- "x": 78,
- "y": 0,
- "w": 57,
- "h": 87
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 57,
- "h": 87
- },
- "frame": {
- "x": 78,
- "y": 0,
- "w": 57,
- "h": 87
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 84,
- "h": 86
- },
- "frame": {
- "x": 135,
- "y": 0,
- "w": 84,
- "h": 86
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 84,
- "h": 86
- },
- "frame": {
- "x": 135,
- "y": 0,
- "w": 84,
- "h": 86
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 52,
- "h": 87
- },
- "frame": {
- "x": 135,
- "y": 86,
- "w": 52,
- "h": 87
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 52,
- "h": 87
- },
- "frame": {
- "x": 135,
- "y": 86,
- "w": 52,
- "h": 87
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 52,
- "h": 87
- },
- "frame": {
- "x": 135,
- "y": 86,
- "w": 52,
- "h": 87
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 52,
- "h": 87
- },
- "frame": {
- "x": 135,
- "y": 86,
- "w": 52,
- "h": 87
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 20,
- "y": 0,
- "w": 47,
- "h": 85
- },
- "frame": {
- "x": 187,
- "y": 86,
- "w": 47,
- "h": 85
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 20,
- "y": 0,
- "w": 47,
- "h": 85
- },
- "frame": {
- "x": 187,
- "y": 86,
- "w": 47,
- "h": 85
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:49698fe6f96ff24d2fe1c7a365f79f1b:f15ccef05dfd7ebb03ac6c66ae05dcef:f8ac4807b4d6eef2256fa1b93e0f89ba$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-meadow_2.png b/public/images/pokemon/variant/exp/back/666-meadow_2.png
deleted file mode 100644
index bb54cac34cd..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-meadow_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-meadow_3.json b/public/images/pokemon/variant/exp/back/666-meadow_3.json
deleted file mode 100644
index 6dcce66c44e..00000000000
--- a/public/images/pokemon/variant/exp/back/666-meadow_3.json
+++ /dev/null
@@ -1,524 +0,0 @@
-{
- "textures": [
- {
- "image": "666-meadow_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 234,
- "h": 234
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 78,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 78,
- "h": 87
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 78,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 78,
- "h": 87
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 78,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 78,
- "h": 87
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 78,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 78,
- "h": 87
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 70,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 87,
- "w": 70,
- "h": 87
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 70,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 87,
- "w": 70,
- "h": 87
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 70,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 87,
- "w": 70,
- "h": 87
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 70,
- "h": 87
- },
- "frame": {
- "x": 0,
- "y": 87,
- "w": 70,
- "h": 87
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 2,
- "w": 63,
- "h": 87
- },
- "frame": {
- "x": 70,
- "y": 87,
- "w": 63,
- "h": 87
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 2,
- "w": 63,
- "h": 87
- },
- "frame": {
- "x": 70,
- "y": 87,
- "w": 63,
- "h": 87
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 2,
- "w": 63,
- "h": 87
- },
- "frame": {
- "x": 70,
- "y": 87,
- "w": 63,
- "h": 87
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 2,
- "w": 63,
- "h": 87
- },
- "frame": {
- "x": 70,
- "y": 87,
- "w": 63,
- "h": 87
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 57,
- "h": 87
- },
- "frame": {
- "x": 78,
- "y": 0,
- "w": 57,
- "h": 87
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 57,
- "h": 87
- },
- "frame": {
- "x": 78,
- "y": 0,
- "w": 57,
- "h": 87
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 57,
- "h": 87
- },
- "frame": {
- "x": 78,
- "y": 0,
- "w": 57,
- "h": 87
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 57,
- "h": 87
- },
- "frame": {
- "x": 78,
- "y": 0,
- "w": 57,
- "h": 87
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 84,
- "h": 86
- },
- "frame": {
- "x": 135,
- "y": 0,
- "w": 84,
- "h": 86
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 84,
- "h": 86
- },
- "frame": {
- "x": 135,
- "y": 0,
- "w": 84,
- "h": 86
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 52,
- "h": 87
- },
- "frame": {
- "x": 135,
- "y": 86,
- "w": 52,
- "h": 87
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 52,
- "h": 87
- },
- "frame": {
- "x": 135,
- "y": 86,
- "w": 52,
- "h": 87
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 52,
- "h": 87
- },
- "frame": {
- "x": 135,
- "y": 86,
- "w": 52,
- "h": 87
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 52,
- "h": 87
- },
- "frame": {
- "x": 135,
- "y": 86,
- "w": 52,
- "h": 87
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 20,
- "y": 0,
- "w": 47,
- "h": 85
- },
- "frame": {
- "x": 187,
- "y": 86,
- "w": 47,
- "h": 85
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 84,
- "h": 91
- },
- "spriteSourceSize": {
- "x": 20,
- "y": 0,
- "w": 47,
- "h": 85
- },
- "frame": {
- "x": 187,
- "y": 86,
- "w": 47,
- "h": 85
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:49698fe6f96ff24d2fe1c7a365f79f1b:f15ccef05dfd7ebb03ac6c66ae05dcef:f8ac4807b4d6eef2256fa1b93e0f89ba$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-meadow_3.png b/public/images/pokemon/variant/exp/back/666-meadow_3.png
deleted file mode 100644
index 865e404c1cd..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-meadow_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-modern.json b/public/images/pokemon/variant/exp/back/666-modern.json
new file mode 100644
index 00000000000..5572a58bfa9
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-modern.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
+ "b83c3c": "b83c3c",
+ "f44f4f": "f44f4f",
+ "ceab62": "d9edd4",
+ "3b6cbb": "3b6cbb",
+ "405793": "405793",
+ "c3c3c3": "c3c3c3",
+ "cfc5d9": "cfc5d9"
+ },
+ "2":{
+ "101010": "101010",
+ "303030": "4e0000",
+ "675220": "801521",
+ "504a4a": "801521",
+ "595959": "830012",
+ "707068": "ad2640",
+ "b83c3c": "b83c3c",
+ "f44f4f": "f44f4f",
+ "ceab62": "ad2640",
+ "3b6cbb": "3b6cbb",
+ "405793": "405793",
+ "c3c3c3": "ffeae8",
+ "cfc5d9": "cfc5d9"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-modern_2.json b/public/images/pokemon/variant/exp/back/666-modern_2.json
deleted file mode 100644
index 4b0ef1a8a59..00000000000
--- a/public/images/pokemon/variant/exp/back/666-modern_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-modern_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:deb5b8b4295c15b4c8718bf2ed9791d1:bbe309a34a59a4e2f74eeba5769476f4:5fc0e8f9a0750c2f3cfb5d6e7eca0d45$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-modern_2.png b/public/images/pokemon/variant/exp/back/666-modern_2.png
deleted file mode 100644
index 4cd5d770881..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-modern_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-modern_3.json b/public/images/pokemon/variant/exp/back/666-modern_3.json
deleted file mode 100644
index 78c496fc208..00000000000
--- a/public/images/pokemon/variant/exp/back/666-modern_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-modern_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:deb5b8b4295c15b4c8718bf2ed9791d1:bbe309a34a59a4e2f74eeba5769476f4:5fc0e8f9a0750c2f3cfb5d6e7eca0d45$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-modern_3.png b/public/images/pokemon/variant/exp/back/666-modern_3.png
deleted file mode 100644
index 5795174404f..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-modern_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-monsoon.json b/public/images/pokemon/variant/exp/back/666-monsoon.json
new file mode 100644
index 00000000000..915d471b2b1
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-monsoon.json
@@ -0,0 +1,33 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
+ "807676": "807676",
+ "ceab62": "d9edd4",
+ "5676de": "5676de",
+ "4eccd6": "4eccd6",
+ "989898": "989898",
+ "c3c3c3": "c3c3c3",
+ "f0f0f8": "f0f0f8"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "3d3231",
+ "675220": "2c3593",
+ "504a4a": "2c3593",
+ "595959": "4f4645",
+ "707068": "5857bc",
+ "807676": "807676",
+ "ceab62": "5857bc",
+ "5676de": "5676de",
+ "4eccd6": "4eccd6",
+ "989898": "989898",
+ "92f4f4": "92f4f4",
+ "c3c3c3": "b8f9f9",
+ "f0f0f8": "f0f0f8"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-monsoon_2.json b/public/images/pokemon/variant/exp/back/666-monsoon_2.json
deleted file mode 100644
index 344344ec0b2..00000000000
--- a/public/images/pokemon/variant/exp/back/666-monsoon_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-monsoon_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:71a24b11bc54be921b67b4376d798e05:f5358aac113e1f7af7eddf984d9692b3:637bea52b465abfb8e5a576310b4dacc$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-monsoon_2.png b/public/images/pokemon/variant/exp/back/666-monsoon_2.png
deleted file mode 100644
index 8f091f4d1de..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-monsoon_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-monsoon_3.json b/public/images/pokemon/variant/exp/back/666-monsoon_3.json
deleted file mode 100644
index 4f7304f6c0c..00000000000
--- a/public/images/pokemon/variant/exp/back/666-monsoon_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-monsoon_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 42,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 42,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 42,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:71a24b11bc54be921b67b4376d798e05:f5358aac113e1f7af7eddf984d9692b3:637bea52b465abfb8e5a576310b4dacc$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-monsoon_3.png b/public/images/pokemon/variant/exp/back/666-monsoon_3.png
deleted file mode 100644
index f216010ca99..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-monsoon_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-ocean.json b/public/images/pokemon/variant/exp/back/666-ocean.json
new file mode 100644
index 00000000000..70e7a51c21f
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-ocean.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
+ "e1384d": "e1384d",
+ "ebcf3f": "ebcf3f",
+ "ceab62": "d9edd4",
+ "f4ad61": "f4ad61",
+ "f8ef6a": "f8ef6a",
+ "4482c9": "4482c9",
+ "6bb2e9": "6bb2e9",
+ "c3c3c3": "c3c3c3"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "b54908",
+ "675220": "bc601c",
+ "504a4a": "bc601c",
+ "595959": "e99a26",
+ "707068": "ea8742",
+ "e1384d": "e1384d",
+ "ebcf3f": "ebcf3f",
+ "ceab62": "ea8742",
+ "f4ad61": "f4ad61",
+ "f8ef6a": "f8ef6a",
+ "4482c9": "4482c9",
+ "6bb2e9": "6bb2e9",
+ "c3c3c3": "f3c86b"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-ocean_2.json b/public/images/pokemon/variant/exp/back/666-ocean_2.json
deleted file mode 100644
index d5bb27bf592..00000000000
--- a/public/images/pokemon/variant/exp/back/666-ocean_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-ocean_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:a1a0079c64e9d91336d227b1380cd9d2:cf159e4653ad9208c0f4633a498a6cd1:e7a0e68eab89c2013a3eb7f3b6fc0b33$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-ocean_2.png b/public/images/pokemon/variant/exp/back/666-ocean_2.png
deleted file mode 100644
index 6f4fefc99f8..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-ocean_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-ocean_3.json b/public/images/pokemon/variant/exp/back/666-ocean_3.json
deleted file mode 100644
index 4ca1832c359..00000000000
--- a/public/images/pokemon/variant/exp/back/666-ocean_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-ocean_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:a1a0079c64e9d91336d227b1380cd9d2:cf159e4653ad9208c0f4633a498a6cd1:e7a0e68eab89c2013a3eb7f3b6fc0b33$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-ocean_3.png b/public/images/pokemon/variant/exp/back/666-ocean_3.png
deleted file mode 100644
index 554fcb7b510..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-ocean_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-poke-ball.json b/public/images/pokemon/variant/exp/back/666-poke-ball.json
new file mode 100644
index 00000000000..e21ba03fc1e
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-poke-ball.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
+ "971d1d": "971d1d",
+ "b72c2c": "b72c2c",
+ "dc4b4b": "dc4b4b",
+ "e97e7e": "e97e7e",
+ "ceab62": "d9edd4",
+ "a9a99e": "a9a99e",
+ "c3c3c3": "c3c3c3",
+ "f8f8f8": "f8f8f8"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "ae001a",
+ "675220": "a70038",
+ "504a4a": "a70038",
+ "595959": "df0036",
+ "707068": "d5375a",
+ "971d1d": "040046",
+ "b72c2c": "00005e",
+ "dc4b4b": "19007d",
+ "e97e7e": "2e2095",
+ "ceab62": "d5375a",
+ "a9a99e": "000050",
+ "c3c3c3": "f0a6bf",
+ "f8f8f8": "00006d"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-poke-ball_2.json b/public/images/pokemon/variant/exp/back/666-poke-ball_2.json
deleted file mode 100644
index 99da9b9ac29..00000000000
--- a/public/images/pokemon/variant/exp/back/666-poke-ball_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-poke-ball_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:e744396a3b647429d050d678017c05ce:ec812f719dffcd362f0481d7d83c3476:8ec14f129d1691b8da504a13b661abed$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-poke-ball_2.png b/public/images/pokemon/variant/exp/back/666-poke-ball_2.png
deleted file mode 100644
index a1bd953a1b3..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-poke-ball_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-poke-ball_3.json b/public/images/pokemon/variant/exp/back/666-poke-ball_3.json
deleted file mode 100644
index de222894738..00000000000
--- a/public/images/pokemon/variant/exp/back/666-poke-ball_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-poke-ball_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:e744396a3b647429d050d678017c05ce:ec812f719dffcd362f0481d7d83c3476:8ec14f129d1691b8da504a13b661abed$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-poke-ball_3.png b/public/images/pokemon/variant/exp/back/666-poke-ball_3.png
deleted file mode 100644
index 9e7ff12912d..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-poke-ball_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-polar.json b/public/images/pokemon/variant/exp/back/666-polar.json
new file mode 100644
index 00000000000..f86b4df3dcc
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-polar.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "2d2d61": "2d2d61",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
+ "ceab62": "d9edd4",
+ "3b4b8a": "3b4b8a",
+ "4d6cc1": "4d6cc1",
+ "6aa2dc": "6aa2dc",
+ "bfbfbf": "bfbfbf",
+ "c3c3c3": "c3c3c3",
+ "f0f0f8": "f0f0f8"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "191b54",
+ "675220": "366098",
+ "2d2d61": "2d2d61",
+ "504a4a": "366098",
+ "595959": "2f3887",
+ "707068": "5f85c1",
+ "ceab62": "5f85c1",
+ "3b4b8a": "3b4b8a",
+ "4d6cc1": "4d6cc1",
+ "6aa2dc": "6aa2dc",
+ "bfbfbf": "bfbfbf",
+ "c3c3c3": "ffffff",
+ "f0f0f8": "f0f0f8"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-polar_2.json b/public/images/pokemon/variant/exp/back/666-polar_2.json
deleted file mode 100644
index e30095c2299..00000000000
--- a/public/images/pokemon/variant/exp/back/666-polar_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-polar_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 45,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 45,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 45,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 45,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:a3b0453f2d03b9c62472f57a438298a4:81a5a3455ae0c378bdb1dbe3c3323463:eb7086e98f867c6592e4b161835da18b$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-polar_2.png b/public/images/pokemon/variant/exp/back/666-polar_2.png
deleted file mode 100644
index b66daac7d2c..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-polar_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-polar_3.json b/public/images/pokemon/variant/exp/back/666-polar_3.json
deleted file mode 100644
index 76df03f7d08..00000000000
--- a/public/images/pokemon/variant/exp/back/666-polar_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-polar_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 45,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 1,
- "w": 45,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 45,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 45,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:a3b0453f2d03b9c62472f57a438298a4:81a5a3455ae0c378bdb1dbe3c3323463:eb7086e98f867c6592e4b161835da18b$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-polar_3.png b/public/images/pokemon/variant/exp/back/666-polar_3.png
deleted file mode 100644
index cab4822a306..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-polar_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-river.json b/public/images/pokemon/variant/exp/back/666-river.json
new file mode 100644
index 00000000000..c7e5e288d05
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-river.json
@@ -0,0 +1,40 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "4a412c": "4a412c",
+ "675220": "958c8a",
+ "634d20": "634d20",
+ "1d726a": "1d726a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "625841": "625841",
+ "707068": "a97cbc",
+ "bc813f": "bc813f",
+ "9c9143": "9c9143",
+ "ceab62": "ceab62",
+ "279ec2": "279ec2",
+ "59c9d3": "59c9d3",
+ "c3c3c3": "c3c3c3",
+ "d2a862": "d9edd4"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "7b2800",
+ "4a412c": "4a412c",
+ "675220": "ae7f41",
+ "634d20": "634d20",
+ "1d726a": "1d726a",
+ "504a4a": "ae7f41",
+ "595959": "8a5702",
+ "625841": "625841",
+ "707068": "d9a666",
+ "bc813f": "bc813f",
+ "9c9143": "9c9143",
+ "ceab62": "ceab62",
+ "279ec2": "279ec2",
+ "59c9d3": "59c9d3",
+ "c3c3c3": "e3c384",
+ "d2a862": "d2a862"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-river_2.json b/public/images/pokemon/variant/exp/back/666-river_2.json
deleted file mode 100644
index 4edb4a188f8..00000000000
--- a/public/images/pokemon/variant/exp/back/666-river_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-river_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:2bb6d375761e6690eba12cf4d2bc99c9:9db30ec1cf68fe8c1026c243086573f3:fa23dc87fc53ba2cfa532cf440553cf5$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-river_2.png b/public/images/pokemon/variant/exp/back/666-river_2.png
deleted file mode 100644
index c689a6c7150..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-river_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-river_3.json b/public/images/pokemon/variant/exp/back/666-river_3.json
deleted file mode 100644
index 69623e13034..00000000000
--- a/public/images/pokemon/variant/exp/back/666-river_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-river_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:2bb6d375761e6690eba12cf4d2bc99c9:9db30ec1cf68fe8c1026c243086573f3:fa23dc87fc53ba2cfa532cf440553cf5$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-river_3.png b/public/images/pokemon/variant/exp/back/666-river_3.png
deleted file mode 100644
index a163e179d0e..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-river_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-sandstorm.json b/public/images/pokemon/variant/exp/back/666-sandstorm.json
new file mode 100644
index 00000000000..6bc91afb34d
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-sandstorm.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "625843": "625843",
+ "72604d": "72604d",
+ "707068": "a97cbc",
+ "9b9148": "9b9148",
+ "ba8d68": "ba8d68",
+ "ceab62": "d9edd4",
+ "d9b674": "d9b674",
+ "f1d69e": "f1d69e",
+ "c3c3c3": "c3c3c3"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "443123",
+ "675220": "9c703b",
+ "504a4a": "9c703b",
+ "595959": "88583e",
+ "625843": "625843",
+ "72604d": "72604d",
+ "707068": "c6975f",
+ "9b9148": "9b9148",
+ "ba8d68": "ba8d68",
+ "ceab62": "c6975f",
+ "d9b674": "d9b674",
+ "f1d69e": "f1d69e",
+ "c3c3c3": "ece1a9"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-sandstorm_2.json b/public/images/pokemon/variant/exp/back/666-sandstorm_2.json
deleted file mode 100644
index 5651485f6d0..00000000000
--- a/public/images/pokemon/variant/exp/back/666-sandstorm_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-sandstorm_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 2,
- "w": 40,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 40,
- "h": 68
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 2,
- "w": 40,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 68,
- "w": 40,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:e35abed8cd9d0bbf1556fa684995d930:8d765a06a769bbf3d1639f361548cd6f:12f47e779927411662912d6094a9782d$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-sandstorm_2.png b/public/images/pokemon/variant/exp/back/666-sandstorm_2.png
deleted file mode 100644
index 534e96bee13..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-sandstorm_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-sandstorm_3.json b/public/images/pokemon/variant/exp/back/666-sandstorm_3.json
deleted file mode 100644
index d43381578cb..00000000000
--- a/public/images/pokemon/variant/exp/back/666-sandstorm_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-sandstorm_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 2,
- "w": 40,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 40,
- "h": 68
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 2,
- "w": 40,
- "h": 68
- },
- "frame": {
- "x": 67,
- "y": 68,
- "w": 40,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:e35abed8cd9d0bbf1556fa684995d930:8d765a06a769bbf3d1639f361548cd6f:12f47e779927411662912d6094a9782d$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-sandstorm_3.png b/public/images/pokemon/variant/exp/back/666-sandstorm_3.png
deleted file mode 100644
index 649fa83e025..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-sandstorm_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-savanna.json b/public/images/pokemon/variant/exp/back/666-savanna.json
new file mode 100644
index 00000000000..c261f52dced
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-savanna.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
+ "dcc433": "dcc433",
+ "ceab62": "d9edd4",
+ "3b67ac": "3b67ac",
+ "61a0f5": "61a0f5",
+ "55d3d9": "55d3d9",
+ "6cc6c6": "6cc6c6",
+ "fffd77": "fffd77",
+ "c3c3c3": "c3c3c3"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "183576",
+ "675220": "1d828b",
+ "504a4a": "1d828b",
+ "595959": "4168bb",
+ "707068": "4faab3",
+ "dcc433": "dcc433",
+ "ceab62": "4faab3",
+ "fffd77": "fffd77",
+ "3b67ac": "3b67ac",
+ "61a0f5": "61a0f5",
+ "55d3d9": "55d3d9",
+ "6cc6c6": "6cc6c6",
+ "c3c3c3": "81e7e1"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-savanna_2.json b/public/images/pokemon/variant/exp/back/666-savanna_2.json
deleted file mode 100644
index c1f73f6efc7..00000000000
--- a/public/images/pokemon/variant/exp/back/666-savanna_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-savanna_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:1ad0c7c841409c3fd4cb50b399d6e13c:b9406b41d37bc72c57260f9a01a352c8:625a4f0dc001069326a75c6a381f93e6$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-savanna_2.png b/public/images/pokemon/variant/exp/back/666-savanna_2.png
deleted file mode 100644
index b4b8ecedb9e..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-savanna_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-savanna_3.json b/public/images/pokemon/variant/exp/back/666-savanna_3.json
deleted file mode 100644
index 49ab66f6855..00000000000
--- a/public/images/pokemon/variant/exp/back/666-savanna_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-savanna_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:1ad0c7c841409c3fd4cb50b399d6e13c:b9406b41d37bc72c57260f9a01a352c8:625a4f0dc001069326a75c6a381f93e6$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-savanna_3.png b/public/images/pokemon/variant/exp/back/666-savanna_3.png
deleted file mode 100644
index 6bc0a0b8363..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-savanna_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-sun.json b/public/images/pokemon/variant/exp/back/666-sun.json
new file mode 100644
index 00000000000..21cf5787ba4
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-sun.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
+ "c94971": "c94971",
+ "e18248": "e18248",
+ "ceab62": "d9edd4",
+ "f1a26a": "f1a26a",
+ "f0ce44": "f0ce44",
+ "fcf372": "fcf372",
+ "f47491": "f47491",
+ "c3c3c3": "c3c3c3"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "640000",
+ "675220": "8c1850",
+ "504a4a": "8c1850",
+ "595959": "750500",
+ "707068": "b83b74",
+ "c94971": "c94971",
+ "e18248": "e18248",
+ "ceab62": "b83b74",
+ "f1a26a": "f1a26a",
+ "f0ce44": "f0ce44",
+ "fcf372": "fcf372",
+ "f47491": "f47491",
+ "c3c3c3": "fee3e7"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-sun_2.json b/public/images/pokemon/variant/exp/back/666-sun_2.json
deleted file mode 100644
index d7c995a1bc0..00000000000
--- a/public/images/pokemon/variant/exp/back/666-sun_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-sun_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:1d3a140bac5951725915aa0b64d1fdc6:e322510cf8386dcc7834a05d57e5368e:8f5fdd0a698701f5391c5a3f67e303d6$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-sun_2.png b/public/images/pokemon/variant/exp/back/666-sun_2.png
deleted file mode 100644
index c9168d5a1c5..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-sun_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-sun_3.json b/public/images/pokemon/variant/exp/back/666-sun_3.json
deleted file mode 100644
index a3f755a4e7c..00000000000
--- a/public/images/pokemon/variant/exp/back/666-sun_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-sun_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 137,
- "h": 137
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 1,
- "w": 43,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 68,
- "w": 43,
- "h": 69
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 43,
- "y": 69,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:1d3a140bac5951725915aa0b64d1fdc6:e322510cf8386dcc7834a05d57e5368e:8f5fdd0a698701f5391c5a3f67e303d6$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-sun_3.png b/public/images/pokemon/variant/exp/back/666-sun_3.png
deleted file mode 100644
index 1a36299851e..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-sun_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-tundra.json b/public/images/pokemon/variant/exp/back/666-tundra.json
new file mode 100644
index 00000000000..b098f776c00
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/666-tundra.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "101010": "101010",
+ "303030": "402746",
+ "675220": "958c8a",
+ "504a4a": "7f6991",
+ "595959": "724b7a",
+ "707068": "a97cbc",
+ "ceab62": "d9edd4",
+ "539ad9": "539ad9",
+ "74bbe9": "74bbe9",
+ "a3def1": "a3def1",
+ "c3c3c3": "c3c3c3",
+ "d0d0d0": "d0d0d0",
+ "f0f0f8": "f0f0f8"
+ },
+ "2": {
+ "101010": "101010",
+ "303030": "003d69",
+ "675220": "3a76a7",
+ "504a4a": "3a76a7",
+ "595959": "225b72",
+ "707068": "659dd0",
+ "ceab62": "659dd0",
+ "539ad9": "539ad9",
+ "74bbe9": "74bbe9",
+ "a3def1": "a3def1",
+ "c3c3c3": "cbfbfb",
+ "d0d0d0": "d0d0d0",
+ "f0f0f8": "f0f0f8"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-tundra_2.json b/public/images/pokemon/variant/exp/back/666-tundra_2.json
deleted file mode 100644
index 3d8ae45a641..00000000000
--- a/public/images/pokemon/variant/exp/back/666-tundra_2.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-tundra_2.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 1,
- "w": 46,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 46,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 1,
- "w": 46,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 46,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 46,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 46,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:40f74f8757cb0f5a2ab7b5f68ea979a0:d062f67571674668b47f6fab68361105:9779ed3adebc298af537dd64dc25fe00$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-tundra_2.png b/public/images/pokemon/variant/exp/back/666-tundra_2.png
deleted file mode 100644
index 49325397d8a..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-tundra_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/back/666-tundra_3.json b/public/images/pokemon/variant/exp/back/666-tundra_3.json
deleted file mode 100644
index 65be2910a02..00000000000
--- a/public/images/pokemon/variant/exp/back/666-tundra_3.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "textures": [
- {
- "image": "666-tundra_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 136,
- "h": 136
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 1,
- "w": 46,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 46,
- "h": 69
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 1,
- "w": 46,
- "h": 69
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 46,
- "h": 69
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 46,
- "y": 0,
- "w": 67,
- "h": 68
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 67,
- "h": 71
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 67,
- "h": 68
- },
- "frame": {
- "x": 46,
- "y": 68,
- "w": 67,
- "h": 68
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:40f74f8757cb0f5a2ab7b5f68ea979a0:d062f67571674668b47f6fab68361105:9779ed3adebc298af537dd64dc25fe00$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/666-tundra_3.png b/public/images/pokemon/variant/exp/back/666-tundra_3.png
deleted file mode 100644
index 3284e1e637b..00000000000
Binary files a/public/images/pokemon/variant/exp/back/666-tundra_3.png and /dev/null differ
diff --git a/public/images/statuses_es-ES.png b/public/images/statuses_es-ES.png
index d372b989be9..dc845d6fb1f 100644
Binary files a/public/images/statuses_es-ES.png and b/public/images/statuses_es-ES.png differ
diff --git a/public/images/ui/cursor_tera.png b/public/images/ui/cursor_tera.png
new file mode 100644
index 00000000000..34cbe095895
Binary files /dev/null and b/public/images/ui/cursor_tera.png differ
diff --git a/public/images/ui/legacy/cursor_tera.png b/public/images/ui/legacy/cursor_tera.png
new file mode 100644
index 00000000000..f2e77046137
Binary files /dev/null and b/public/images/ui/legacy/cursor_tera.png differ
diff --git a/public/locales b/public/locales
index ef43efffe5f..6b3f37cb351 160000
--- a/public/locales
+++ b/public/locales
@@ -1 +1 @@
-Subproject commit ef43efffe5fe454862c350f1b9393c3ad755bcc2
+Subproject commit 6b3f37cb351552721232f4dabefa17bddb5b9004
diff --git a/scripts/find_sprite_variant_mismatches.py b/scripts/find_sprite_variant_mismatches.py
new file mode 100644
index 00000000000..483695fdb66
--- /dev/null
+++ b/scripts/find_sprite_variant_mismatches.py
@@ -0,0 +1,98 @@
+"""
+Validates the contents of the variant's masterlist file and identifies
+any mismatched entries for the sprite of the same key between front, back, exp, exp back, and female.
+
+This will create a csv file that contains all of the entries with mismatches.
+
+An empty entry means that there was not a mismatch for that version of the sprite (meaning it matches front).
+"""
+
+import sys
+
+if sys.version_info < (3, 7):
+ msg = "This script requires Python 3.7+"
+ raise RuntimeError(msg)
+
+import json
+import os
+import csv
+from dataclasses import dataclass, field
+from typing import Literal as L
+
+MASTERLIST_PATH = os.path.join(
+ os.path.dirname(os.path.dirname(__file__)), "public", "images", "pokemon", "variant", "_masterlist.json"
+)
+DEFAULT_OUTPUT_PATH = "sprite-mismatches.csv"
+
+
+@dataclass(order=True)
+class Sprite:
+ key: str = field(compare=False)
+ front: list[int] = field(default_factory=list, compare=False)
+ back: list[int] = field(default_factory=list, compare=False)
+ female: list[int] = field(default_factory=list, compare=False)
+ exp: list[int] = field(default_factory=list, compare=False)
+ expback: list[int] = field(default_factory=list, compare=False)
+ sortedKey: tuple[int] | tuple[int, str] = field(init=False, repr=False, compare=True)
+
+ def as_row(self) -> tuple[str, list[int] | L[""], list[int] | L[""], list[int] | L[""], list[int] | L[""], list[int] | L[""]]:
+ """return sprite information as a tuple for csv writing"""
+ return (self.key, self.front or "", self.back or "", self.exp or "", self.expback or "", self.female or "")
+
+ def is_mismatch(self) -> bool:
+ """return True if the female, back, or exp sprites do not match the front"""
+ for val in [self.back, self.exp, self.expback, self.female]:
+ if val != [] and val != self.front:
+ return True
+ return False
+
+ def __post_init__(self):
+ split = self.key.split("-", maxsplit=1)
+ self.sortedKey = (int(split[0]), split[1]) if len(split) == 2 else (int(split[0]),)
+
+
+def make_mismatch_sprite_list(path):
+ with open(path, "r") as f:
+ masterlist: dict = json.load(f)
+
+ # Go through the keys in "front" and "back" and make sure they match the masterlist
+ back_data: dict[str, list[int]] = masterlist.pop("back", {})
+ exp_data: dict[str, list[int]] = masterlist.pop("exp", {})
+ exp_back_data: dict[str, list[int]] = exp_data.get("back", [])
+ female_data: dict[str, list[int]] = masterlist.pop("female", {})
+
+ sprites: list[Sprite] = []
+
+ for key, item in masterlist.items():
+ sprite = Sprite(
+ key, front=item, back=back_data.get(key, []), exp=exp_data.get(key, []), expback=exp_back_data.get(key, []), female=female_data.get(key, [])
+ )
+ if sprite.is_mismatch():
+ sprites.append(sprite)
+
+ return sprites
+
+
+def write_mismatch_csv(filename: str, mismatches: list[Sprite]):
+ with open(filename, "w", newline="") as csvfile:
+ writer = csv.writer(csvfile)
+ writer.writerow(["key", "front", "back", "exp", "expback", "female"])
+ for sprite in sorted(mismatches):
+ writer.writerow(sprite.as_row())
+
+
+if __name__ == "__main__":
+ import argparse
+
+ p = argparse.ArgumentParser("find_sprite_variant_mismatches", description=__doc__)
+
+ p.add_argument(
+ "-o",
+ "--output",
+ default=DEFAULT_OUTPUT_PATH,
+ help=f"The path to a file to save the output file. If not specified, will write to {DEFAULT_OUTPUT_PATH}.",
+ )
+ p.add_argument("--masterlist", default=MASTERLIST_PATH, help=f"The path to the masterlist file to validate. Defaults to {MASTERLIST_PATH}.")
+ args = p.parse_args()
+ mismatches = make_mismatch_sprite_list(args.masterlist)
+ write_mismatch_csv(args.output, mismatches)
diff --git a/src/account.ts b/src/account.ts
index 4c86595a5e6..96ce32714bb 100644
--- a/src/account.ts
+++ b/src/account.ts
@@ -8,13 +8,25 @@ export let loggedInUser: UserInfo | null = null;
export const clientSessionId = Utils.randomString(32);
export function initLoggedInUser(): void {
- loggedInUser = { username: "Guest", lastSessionSlot: -1, discordId: "", googleId: "", hasAdminRole: false };
+ loggedInUser = {
+ username: "Guest",
+ lastSessionSlot: -1,
+ discordId: "",
+ googleId: "",
+ hasAdminRole: false,
+ };
}
export function updateUserInfo(): Promise<[boolean, number]> {
return new Promise<[boolean, number]>(resolve => {
if (bypassLogin) {
- loggedInUser = { username: "Guest", lastSessionSlot: -1, discordId: "", googleId: "", hasAdminRole: false };
+ loggedInUser = {
+ username: "Guest",
+ lastSessionSlot: -1,
+ discordId: "",
+ googleId: "",
+ hasAdminRole: false,
+ };
let lastSessionSlot = -1;
for (let s = 0; s < 5; s++) {
if (localStorage.getItem(`sessionData${s ? s : ""}_${loggedInUser.username}`)) {
@@ -24,7 +36,7 @@ export function updateUserInfo(): Promise<[boolean, number]> {
}
loggedInUser.lastSessionSlot = lastSessionSlot;
// Migrate old data from before the username was appended
- [ "data", "sessionData", "sessionData1", "sessionData2", "sessionData3", "sessionData4" ].map(d => {
+ ["data", "sessionData", "sessionData1", "sessionData2", "sessionData3", "sessionData4"].map(d => {
const lsItem = localStorage.getItem(d);
if (lsItem && !!loggedInUser?.username) {
const lsUserItem = localStorage.getItem(`${d}_${loggedInUser.username}`);
@@ -35,16 +47,15 @@ export function updateUserInfo(): Promise<[boolean, number]> {
localStorage.removeItem(d);
}
});
- return resolve([ true, 200 ]);
+ return resolve([true, 200]);
}
- pokerogueApi.account.getInfo().then(([ accountInfo, status ]) => {
+ pokerogueApi.account.getInfo().then(([accountInfo, status]) => {
if (!accountInfo) {
- resolve([ false, status ]);
+ resolve([false, status]);
return;
- } else {
- loggedInUser = accountInfo;
- resolve([ true, 200 ]);
}
+ loggedInUser = accountInfo;
+ resolve([true, 200]);
});
});
}
diff --git a/src/battle-scene.ts b/src/battle-scene.ts
index 962b9c8ca91..1712cf9236f 100644
--- a/src/battle-scene.ts
+++ b/src/battle-scene.ts
@@ -8,11 +8,7 @@ import { allSpecies, getPokemonSpecies } from "#app/data/pokemon-species";
import type { Constructor } from "#app/utils";
import { isNullOrUndefined, randSeedInt } from "#app/utils";
import * as Utils from "#app/utils";
-import type {
- Modifier,
- ModifierPredicate,
- TurnHeldItemTransferModifier,
-} from "./modifier/modifier";
+import type { Modifier, ModifierPredicate, TurnHeldItemTransferModifier } from "./modifier/modifier";
import {
ConsumableModifier,
ConsumablePokemonModifier,
@@ -44,7 +40,7 @@ import { initGameSpeed } from "#app/system/game-speed";
import { Arena, ArenaBase } from "#app/field/arena";
import { GameData } from "#app/system/game-data";
import { addTextObject, getTextColor, TextStyle } from "#app/ui/text";
-import { allMoves } from "#app/data/move";
+import { allMoves } from "#app/data/moves/move";
import { MusicPreference } from "#app/system/settings/settings";
import {
getDefaultModifierTypeForTier,
@@ -93,10 +89,7 @@ import type UIPlugin from "phaser3-rex-plugins/templates/ui/ui-plugin";
import { addUiThemeOverrides } from "#app/ui/ui-theme";
import type PokemonData from "#app/system/pokemon-data";
import { Nature } from "#enums/nature";
-import type {
- SpeciesFormChange,
- SpeciesFormChangeTrigger,
-} from "#app/data/pokemon-forms";
+import type { SpeciesFormChange, SpeciesFormChangeTrigger } from "#app/data/pokemon-forms";
import {
FormChangeItem,
pokemonFormChanges,
@@ -105,7 +98,7 @@ import {
} from "#app/data/pokemon-forms";
import { FormChangePhase } from "#app/phases/form-change-phase";
import { getTypeRgb } from "#app/data/type";
-import { Type } from "#enums/type";
+import { PokemonType } from "#enums/pokemon-type";
import PokemonSpriteSparkleHandler from "#app/field/pokemon-sprite-sparkle-handler";
import CharSprite from "#app/ui/char-sprite";
import DamageNumberHandler from "#app/field/damage-number-handler";
@@ -181,10 +174,8 @@ export const bypassLogin = import.meta.env.VITE_BYPASS_LOGIN === "1";
const DEBUG_RNG = false;
const OPP_IVS_OVERRIDE_VALIDATED: number[] = (
- Array.isArray(Overrides.OPP_IVS_OVERRIDE)
- ? Overrides.OPP_IVS_OVERRIDE
- : new Array(6).fill(Overrides.OPP_IVS_OVERRIDE)
-).map((iv) => (isNaN(iv) || iv === null || iv > 31 ? -1 : iv));
+ Array.isArray(Overrides.OPP_IVS_OVERRIDE) ? Overrides.OPP_IVS_OVERRIDE : new Array(6).fill(Overrides.OPP_IVS_OVERRIDE)
+).map(iv => (Number.isNaN(iv) || iv === null || iv > 31 ? -1 : iv));
export const startingWave = Overrides.STARTING_WAVE_OVERRIDE || 1;
@@ -199,10 +190,7 @@ export interface PokeballCounts {
[pb: string]: number;
}
-export type AnySound =
- | Phaser.Sound.WebAudioSound
- | Phaser.Sound.HTML5AudioSound
- | Phaser.Sound.NoAudioSound;
+export type AnySound = Phaser.Sound.WebAudioSound | Phaser.Sound.HTML5AudioSound | Phaser.Sound.NoAudioSound;
export interface InfoToggle {
toggleInfo(force?: boolean): void;
@@ -216,55 +204,54 @@ export default class BattleScene extends SceneBase {
public sessionPlayTime: number | null = null;
public lastSavePlayTime: number | null = null;
- public masterVolume: number = 0.5;
- public bgmVolume: number = 1;
- public fieldVolume: number = 1;
- public seVolume: number = 1;
- public uiVolume: number = 1;
- public gameSpeed: number = 1;
- public damageNumbersMode: number = 0;
- public reroll: boolean = false;
+ public masterVolume = 0.5;
+ public bgmVolume = 1;
+ public fieldVolume = 1;
+ public seVolume = 1;
+ public uiVolume = 1;
+ public gameSpeed = 1;
+ public damageNumbersMode = 0;
+ public reroll = false;
public shopCursorTarget: number = ShopCursorTarget.REWARDS;
- public commandCursorMemory: boolean = false;
- public dexForDevs: boolean = false;
- public showMovesetFlyout: boolean = true;
- public showArenaFlyout: boolean = true;
- public showTimeOfDayWidget: boolean = true;
+ public commandCursorMemory = false;
+ public dexForDevs = false;
+ public showMovesetFlyout = true;
+ public showArenaFlyout = true;
+ public showTimeOfDayWidget = true;
public timeOfDayAnimation: EaseType = EaseType.NONE;
- public showLevelUpStats: boolean = true;
- public enableTutorials: boolean =
- import.meta.env.VITE_BYPASS_TUTORIAL === "1";
- public enableMoveInfo: boolean = true;
- public enableRetries: boolean = false;
- public hideIvs: boolean = false;
+ public showLevelUpStats = true;
+ public enableTutorials: boolean = import.meta.env.VITE_BYPASS_TUTORIAL === "1";
+ public enableMoveInfo = true;
+ public enableRetries = false;
+ public hideIvs = false;
/**
* Determines the condition for a notification should be shown for Candy Upgrades
* - 0 = 'Off'
* - 1 = 'Passives Only'
* - 2 = 'On'
*/
- public candyUpgradeNotification: number = 0;
+ public candyUpgradeNotification = 0;
/**
* Determines what type of notification is used for Candy Upgrades
* - 0 = 'Icon'
* - 1 = 'Animation'
*/
- public candyUpgradeDisplay: number = 0;
+ public candyUpgradeDisplay = 0;
public moneyFormat: MoneyFormat = MoneyFormat.NORMAL;
public uiTheme: UiTheme = UiTheme.DEFAULT;
- public windowType: number = 0;
- public experimentalSprites: boolean = false;
+ public windowType = 0;
+ public experimentalSprites = false;
public musicPreference: number = MusicPreference.ALLGENS;
- public moveAnimations: boolean = true;
+ public moveAnimations = true;
public expGainsSpeed: ExpGainsSpeed = ExpGainsSpeed.DEFAULT;
- public skipSeenDialogues: boolean = false;
+ public skipSeenDialogues = false;
/**
* Determines if the egg hatching animation should be skipped
* - 0 = Never (never skip animation)
* - 1 = Ask (ask to skip animation when hatching 2 or more eggs)
* - 2 = Always (automatically skip animation when hatching 2 or more eggs)
*/
- public eggSkipPreference: number = 0;
+ public eggSkipPreference = 0;
/**
* Defines the experience gain display mode.
@@ -279,11 +266,11 @@ export default class BattleScene extends SceneBase {
* @default 0 - Uses the default normal experience gain display.
*/
public expParty: ExpNotification = 0;
- public hpBarSpeed: number = 0;
- public fusionPaletteSwaps: boolean = true;
- public enableTouchControls: boolean = false;
- public enableVibration: boolean = false;
- public showBgmBar: boolean = true;
+ public hpBarSpeed = 0;
+ public fusionPaletteSwaps = true;
+ public enableTouchControls = false;
+ public enableVibration = false;
+ public showBgmBar = true;
/**
* Determines the selected battle style.
@@ -297,9 +284,9 @@ export default class BattleScene extends SceneBase {
* - true: No hints
* - false: Show hints for moves
*/
- public typeHints: boolean = false;
+ public typeHints = false;
- public disableMenu: boolean = false;
+ public disableMenu = false;
public gameData: GameData;
public sessionSlotId: number;
@@ -342,8 +329,7 @@ export default class BattleScene extends SceneBase {
public pokemonInfoContainer: PokemonInfoContainer;
private party: PlayerPokemon[];
/** Session save data that pertains to Mystery Encounters */
- public mysteryEncounterSaveData: MysteryEncounterSaveData =
- new MysteryEncounterSaveData();
+ public mysteryEncounterSaveData: MysteryEncounterSaveData = new MysteryEncounterSaveData();
/** If the previous wave was a MysteryEncounter, tracks the object with this variable. Mostly used for visual object cleanup */
public lastMysteryEncounter?: MysteryEncounter;
/** Combined Biome and Wave count text */
@@ -358,8 +344,8 @@ export default class BattleScene extends SceneBase {
private fieldOverlay: Phaser.GameObjects.Rectangle;
private shopOverlay: Phaser.GameObjects.Rectangle;
- private shopOverlayShown: boolean = false;
- private shopOverlayOpacity: number = 0.8;
+ private shopOverlayShown = false;
+ private shopOverlayOpacity = 0.8;
public modifiers: PersistentModifier[];
private enemyModifiers: PersistentModifier[];
@@ -382,9 +368,9 @@ export default class BattleScene extends SceneBase {
private bgmCache: Set
= new Set();
private playTimeTimer: Phaser.Time.TimerEvent;
- public rngCounter: number = 0;
- public rngSeedOverride: string = "";
- public rngOffset: number = 0;
+ public rngCounter = 0;
+ public rngSeedOverride = "";
+ public rngOffset = 0;
public inputMethod: string;
private infoToggles: InfoToggle[] = [];
@@ -435,30 +421,23 @@ export default class BattleScene extends SceneBase {
/**
* Load the variant assets for the given sprite and stores them in {@linkcode variantColorCache}
*/
- public async loadPokemonVariantAssets(
- spriteKey: string,
- fileRoot: string,
- variant?: Variant,
- ): Promise {
- const useExpSprite =
- this.experimentalSprites && this.hasExpSprite(spriteKey);
+ public async loadPokemonVariantAssets(spriteKey: string, fileRoot: string, variant?: Variant): Promise {
+ const useExpSprite = this.experimentalSprites && this.hasExpSprite(spriteKey);
if (useExpSprite) {
fileRoot = `exp/${fileRoot}`;
}
let variantConfig = variantData;
- fileRoot
- .split("/")
- .map((p) => (variantConfig ? (variantConfig = variantConfig[p]) : null));
+ fileRoot.split("/").map(p => (variantConfig ? (variantConfig = variantConfig[p]) : null));
const variantSet = variantConfig as VariantSet;
- return new Promise((resolve) => {
+ return new Promise(resolve => {
if (variantSet && variant !== undefined && variantSet[variant] === 1) {
if (variantColorCache.hasOwnProperty(spriteKey)) {
return resolve();
}
this.cachedFetch(`./images/pokemon/variant/${fileRoot}.json`)
- .then((res) => res.json())
- .then((c) => {
+ .then(res => res.json())
+ .then(c => {
variantColorCache[spriteKey] = c;
resolve();
});
@@ -471,20 +450,10 @@ export default class BattleScene extends SceneBase {
async preload() {
if (DEBUG_RNG) {
const originalRealInRange = Phaser.Math.RND.realInRange;
- Phaser.Math.RND.realInRange = function (
- min: number,
- max: number,
- ): number {
- const ret = originalRealInRange.apply(this, [ min, max ]);
- const args = [
- "RNG",
- ++this.rngCounter,
- ret / (max - min),
- `min: ${min} / max: ${max}`,
- ];
- args.push(
- `seed: ${this.rngSeedOverride || this.waveSeed || this.seed}`,
- );
+ Phaser.Math.RND.realInRange = function (min: number, max: number): number {
+ const ret = originalRealInRange.apply(this, [min, max]);
+ const args = ["RNG", ++this.rngCounter, ret / (max - min), `min: ${min} / max: ${max}`];
+ args.push(`seed: ${this.rngSeedOverride || this.waveSeed || this.seed}`);
if (this.rngOffset) {
args.push(`offset: ${this.rngOffset}`);
}
@@ -511,16 +480,10 @@ export default class BattleScene extends SceneBase {
this.load.setBaseURL();
this.spritePipeline = new SpritePipeline(this.game);
- (this.renderer as Phaser.Renderer.WebGL.WebGLRenderer).pipelines.add(
- "Sprite",
- this.spritePipeline,
- );
+ (this.renderer as Phaser.Renderer.WebGL.WebGLRenderer).pipelines.add("Sprite", this.spritePipeline);
this.fieldSpritePipeline = new FieldSpritePipeline(this.game);
- (this.renderer as Phaser.Renderer.WebGL.WebGLRenderer).pipelines.add(
- "FieldSprite",
- this.fieldSpritePipeline,
- );
+ (this.renderer as Phaser.Renderer.WebGL.WebGLRenderer).pipelines.add("FieldSprite", this.fieldSpritePipeline);
this.launchBattle();
}
@@ -535,12 +498,12 @@ export default class BattleScene extends SceneBase {
this.arenaBgTransition = this.add.sprite(0, 0, "plains_bg");
this.arenaBgTransition.setName("sprite-arena-bg-transition");
- [ this.arenaBgTransition, this.arenaBg ].forEach((a) => {
+ for (const a of [this.arenaBgTransition, this.arenaBg]) {
a.setPipeline(this.fieldSpritePipeline);
a.setScale(6);
a.setOrigin(0);
a.setSize(320, 240);
- });
+ }
const field = this.add.container(0, 0);
field.setName("field");
@@ -587,25 +550,13 @@ export default class BattleScene extends SceneBase {
const overlayWidth = this.game.canvas.width / 6;
const overlayHeight = this.game.canvas.height / 6 - 48;
- this.fieldOverlay = this.add.rectangle(
- 0,
- overlayHeight * -1 - 48,
- overlayWidth,
- overlayHeight,
- 0x424242,
- );
+ this.fieldOverlay = this.add.rectangle(0, overlayHeight * -1 - 48, overlayWidth, overlayHeight, 0x424242);
this.fieldOverlay.setName("rect-field-overlay");
this.fieldOverlay.setOrigin(0, 0);
this.fieldOverlay.setAlpha(0);
this.fieldUI.add(this.fieldOverlay);
- this.shopOverlay = this.add.rectangle(
- 0,
- overlayHeight * -1 - 48,
- overlayWidth,
- overlayHeight,
- 0x070707,
- );
+ this.shopOverlay = this.add.rectangle(0, overlayHeight * -1 - 48, overlayWidth, overlayHeight, 0x070707);
this.shopOverlay.setName("rect-shop-overlay");
this.shopOverlay.setOrigin(0, 0);
this.shopOverlay.setAlpha(0);
@@ -666,34 +617,17 @@ export default class BattleScene extends SceneBase {
this.biomeWaveText.setOrigin(1, 0.5);
this.fieldUI.add(this.biomeWaveText);
- this.moneyText = addTextObject(
- this.game.canvas.width / 6 - 2,
- 0,
- "",
- TextStyle.MONEY,
- );
+ this.moneyText = addTextObject(this.game.canvas.width / 6 - 2, 0, "", TextStyle.MONEY);
this.moneyText.setName("text-money");
this.moneyText.setOrigin(1, 0.5);
this.fieldUI.add(this.moneyText);
- this.scoreText = addTextObject(
- this.game.canvas.width / 6 - 2,
- 0,
- "",
- TextStyle.PARTY,
- { fontSize: "54px" },
- );
+ this.scoreText = addTextObject(this.game.canvas.width / 6 - 2, 0, "", TextStyle.PARTY, { fontSize: "54px" });
this.scoreText.setName("text-score");
this.scoreText.setOrigin(1, 0.5);
this.fieldUI.add(this.scoreText);
- this.luckText = addTextObject(
- this.game.canvas.width / 6 - 2,
- 0,
- "",
- TextStyle.PARTY,
- { fontSize: "54px" },
- );
+ this.luckText = addTextObject(this.game.canvas.width / 6 - 2, 0, "", TextStyle.PARTY, { fontSize: "54px" });
this.luckText.setName("text-luck");
this.luckText.setOrigin(1, 0.5);
this.luckText.setVisible(false);
@@ -713,10 +647,7 @@ export default class BattleScene extends SceneBase {
this.arenaFlyout = new ArenaFlyout();
this.fieldUI.add(this.arenaFlyout);
- this.fieldUI.moveBelow(
- this.arenaFlyout,
- this.fieldOverlay,
- );
+ this.fieldUI.moveBelow(this.arenaFlyout, this.fieldOverlay);
this.updateUIPositions();
@@ -750,17 +681,12 @@ export default class BattleScene extends SceneBase {
this.arenaPlayerTransition.setVisible(false);
this.arenaNextEnemy.setVisible(false);
- [
- this.arenaPlayer,
- this.arenaPlayerTransition,
- this.arenaEnemy,
- this.arenaNextEnemy,
- ].forEach((a) => {
+ for (const a of [this.arenaPlayer, this.arenaPlayerTransition, this.arenaEnemy, this.arenaNextEnemy]) {
if (a instanceof Phaser.GameObjects.Sprite) {
a.setOrigin(0, 0);
}
field.add(a);
- });
+ }
const trainer = this.addFieldSprite(
0,
@@ -803,21 +729,14 @@ export default class BattleScene extends SceneBase {
ui.setup();
- const defaultMoves = [
- Moves.TACKLE,
- Moves.TAIL_WHIP,
- Moves.FOCUS_ENERGY,
- Moves.STRUGGLE,
- ];
+ const defaultMoves = [Moves.TACKLE, Moves.TAIL_WHIP, Moves.FOCUS_ENERGY, Moves.STRUGGLE];
Promise.all([
Promise.all(loadPokemonAssets),
initCommonAnims().then(() => loadCommonAnimAssets(true)),
- Promise.all(
- [ Moves.TACKLE, Moves.TAIL_WHIP, Moves.FOCUS_ENERGY, Moves.STRUGGLE ].map(
- (m) => initMoveAnim(m),
- ),
- ).then(() => loadMoveAnimAssets(defaultMoves, true)),
+ Promise.all([Moves.TACKLE, Moves.TAIL_WHIP, Moves.FOCUS_ENERGY, Moves.STRUGGLE].map(m => initMoveAnim(m))).then(
+ () => loadMoveAnimAssets(defaultMoves, true),
+ ),
this.initStarterColors(),
]).then(() => {
this.pushPhase(new LoginPhase());
@@ -865,8 +784,8 @@ export default class BattleScene extends SceneBase {
return;
}
this.cachedFetch("./exp-sprites.json")
- .then((res) => res.json())
- .then((keys) => {
+ .then(res => res.json())
+ .then(keys => {
if (Array.isArray(keys)) {
expSpriteKeys.push(...keys);
}
@@ -875,11 +794,15 @@ export default class BattleScene extends SceneBase {
}
async initVariantData(): Promise {
- Object.keys(variantData).forEach((key) => delete variantData[key]);
+ for (const key of Object.keys(variantData)) {
+ delete variantData[key];
+ }
await this.cachedFetch("./images/pokemon/variant/_masterlist.json")
- .then((res) => res.json())
- .then((v) => {
- Object.keys(v).forEach((k) => (variantData[k] = v[k]));
+ .then(res => res.json())
+ .then(v => {
+ for (const k of Object.keys(v)) {
+ variantData[k] = v[k];
+ }
if (this.experimentalSprites) {
const expVariantData = variantData["exp"];
const traverseVariantData = (keys: string[]) => {
@@ -889,11 +812,8 @@ export default class BattleScene extends SceneBase {
if (i < keys.length - 1) {
variantTree = variantTree[k];
expTree = expTree[k];
- } else if (
- variantTree.hasOwnProperty(k) &&
- expTree.hasOwnProperty(k)
- ) {
- if ([ "back", "female" ].includes(k)) {
+ } else if (variantTree.hasOwnProperty(k) && expTree.hasOwnProperty(k)) {
+ if (["back", "female"].includes(k)) {
traverseVariantData(keys.concat(k));
} else {
variantTree[k] = expTree[k];
@@ -901,9 +821,9 @@ export default class BattleScene extends SceneBase {
}
});
};
- Object.keys(expVariantData).forEach((ek) =>
- traverseVariantData([ ek ]),
- );
+ for (const ek of Object.keys(expVariantData)) {
+ traverseVariantData([ek]);
+ }
}
Promise.resolve();
});
@@ -921,40 +841,18 @@ export default class BattleScene extends SceneBase {
}
initStarterColors(): Promise {
- return new Promise((resolve) => {
+ return new Promise(resolve => {
if (starterColors) {
return resolve();
}
this.cachedFetch("./starter-colors.json")
- .then((res) => res.json())
- .then((sc) => {
+ .then(res => res.json())
+ .then(sc => {
starterColors = {};
- Object.keys(sc).forEach((key) => {
+ for (const key of Object.keys(sc)) {
starterColors[key] = sc[key];
- });
-
- /*const loadPokemonAssets: Promise[] = [];
-
- for (let s of Object.keys(speciesStarters)) {
- const species = getPokemonSpecies(parseInt(s));
- loadPokemonAssets.push(species.loadAssets(this, false, 0, false));
- }
-
- Promise.all(loadPokemonAssets).then(() => {
- const starterCandyColors = {};
- const rgbaToHexFunc = (r, g, b) => [r, g, b].map(x => x.toString(16).padStart(2, '0')).join('');
-
- for (let s of Object.keys(speciesStarters)) {
- const species = getPokemonSpecies(parseInt(s));
-
- starterCandyColors[species.speciesId] = species.generateCandyColors(this).map(c => rgbaToHexFunc(c[0], c[1], c[2]));
- }
-
- console.log(JSON.stringify(starterCandyColors));
-
- resolve();
- });*/
+ }
resolve();
});
@@ -962,10 +860,7 @@ export default class BattleScene extends SceneBase {
}
hasExpSprite(key: string): boolean {
- const keyMatch =
- /^pkmn__?(back__)?(shiny__)?(female__)?(\d+)(\-.*?)?(?:_[1-3])?$/g.exec(
- key,
- );
+ const keyMatch = /^pkmn__?(back__)?(shiny__)?(female__)?(\d+)(\-.*?)?(?:_[1-3])?$/g.exec(key);
if (!keyMatch) {
return false;
}
@@ -998,7 +893,7 @@ export default class BattleScene extends SceneBase {
* that are {@linkcode Pokemon.isAllowedInBattle | allowed in battle}.
*/
public getPokemonAllowedInBattle(): PlayerPokemon[] {
- return this.getPlayerParty().filter((p) => p.isAllowedInBattle());
+ return this.getPlayerParty().filter(p => p.isAllowedInBattle());
}
/**
@@ -1008,12 +903,8 @@ export default class BattleScene extends SceneBase {
* or `undefined` if there are no valid pokemon
* @param includeSwitching Whether a pokemon that is currently switching out is valid, default `true`
*/
- public getPlayerPokemon(
- includeSwitching: boolean = true,
- ): PlayerPokemon | undefined {
- return this.getPlayerField().find(
- (p) => p.isActive() && (includeSwitching || p.switchOutStatus === false),
- );
+ public getPlayerPokemon(includeSwitching = true): PlayerPokemon | undefined {
+ return this.getPlayerField().find(p => p.isActive() && (includeSwitching || p.switchOutStatus === false));
}
/**
@@ -1023,10 +914,7 @@ export default class BattleScene extends SceneBase {
*/
public getPlayerField(): PlayerPokemon[] {
const party = this.getPlayerParty();
- return party.slice(
- 0,
- Math.min(party.length, this.currentBattle?.double ? 2 : 1),
- );
+ return party.slice(0, Math.min(party.length, this.currentBattle?.double ? 2 : 1));
}
public getEnemyParty(): EnemyPokemon[] {
@@ -1040,12 +928,8 @@ export default class BattleScene extends SceneBase {
* or `undefined` if there are no valid pokemon
* @param includeSwitching Whether a pokemon that is currently switching out is valid, default `true`
*/
- public getEnemyPokemon(
- includeSwitching: boolean = true,
- ): EnemyPokemon | undefined {
- return this.getEnemyField().find(
- (p) => p.isActive() && (includeSwitching || p.switchOutStatus === false),
- );
+ public getEnemyPokemon(includeSwitching = true): EnemyPokemon | undefined {
+ return this.getEnemyField().find(p => p.isActive() && (includeSwitching || p.switchOutStatus === false));
}
/**
@@ -1055,10 +939,7 @@ export default class BattleScene extends SceneBase {
*/
public getEnemyField(): EnemyPokemon[] {
const party = this.getEnemyParty();
- return party.slice(
- 0,
- Math.min(party.length, this.currentBattle?.double ? 2 : 1),
- );
+ return party.slice(0, Math.min(party.length, this.currentBattle?.double ? 2 : 1));
}
/**
@@ -1067,13 +948,13 @@ export default class BattleScene extends SceneBase {
* @param activeOnly Whether to consider only active pokemon
* @returns array of {@linkcode Pokemon}
*/
- public getField(activeOnly: boolean = false): Pokemon[] {
+ public getField(activeOnly = false): Pokemon[] {
const ret = new Array(4).fill(null);
const playerField = this.getPlayerField();
const enemyField = this.getEnemyField();
ret.splice(0, playerField.length, ...playerField);
ret.splice(2, enemyField.length, ...enemyField);
- return activeOnly ? ret.filter((p) => p?.isActive()) : ret;
+ return activeOnly ? ret.filter(p => p?.isActive()) : ret;
}
/**
@@ -1090,16 +971,13 @@ export default class BattleScene extends SceneBase {
let targetingMovePhase: MovePhase;
do {
targetingMovePhase = this.findPhase(
- (mp) =>
+ mp =>
mp instanceof MovePhase &&
mp.targets.length === 1 &&
mp.targets[0] === removedPokemon.getBattlerIndex() &&
mp.pokemon.isPlayer() !== allyPokemon.isPlayer(),
) as MovePhase;
- if (
- targetingMovePhase &&
- targetingMovePhase.targets[0] !== allyPokemon.getBattlerIndex()
- ) {
+ if (targetingMovePhase && targetingMovePhase.targets[0] !== allyPokemon.getBattlerIndex()) {
targetingMovePhase.targets[0] = allyPokemon.getBattlerIndex();
}
} while (targetingMovePhase);
@@ -1121,20 +999,13 @@ export default class BattleScene extends SceneBase {
}
// return the stored info toggles; used by ui-inputs
- getInfoToggles(activeOnly: boolean = false): InfoToggle[] {
- return activeOnly
- ? this.infoToggles.filter((t) => t?.isActive())
- : this.infoToggles;
+ getInfoToggles(activeOnly = false): InfoToggle[] {
+ return activeOnly ? this.infoToggles.filter(t => t?.isActive()) : this.infoToggles;
}
getPokemonById(pokemonId: number): Pokemon | null {
- const findInParty = (party: Pokemon[]) =>
- party.find((p) => p.id === pokemonId);
- return (
- (findInParty(this.getPlayerParty()) ||
- findInParty(this.getEnemyParty())) ??
- null
- );
+ const findInParty = (party: Pokemon[]) => party.find(p => p.id === pokemonId);
+ return (findInParty(this.getPlayerParty()) || findInParty(this.getEnemyParty())) ?? null;
}
addPlayerPokemon(
@@ -1173,8 +1044,8 @@ export default class BattleScene extends SceneBase {
species: PokemonSpecies,
level: number,
trainerSlot: TrainerSlot,
- boss: boolean = false,
- shinyLock: boolean = false,
+ boss = false,
+ shinyLock = false,
dataSource?: PokemonData,
postProcess?: (enemyPokemon: EnemyPokemon) => void,
): EnemyPokemon {
@@ -1184,22 +1055,10 @@ export default class BattleScene extends SceneBase {
if (Overrides.OPP_SPECIES_OVERRIDE) {
species = getPokemonSpecies(Overrides.OPP_SPECIES_OVERRIDE);
// The fact that a Pokemon is a boss or not can change based on its Species and level
- boss =
- this.getEncounterBossSegments(
- this.currentBattle.waveIndex,
- level,
- species,
- ) > 1;
+ boss = this.getEncounterBossSegments(this.currentBattle.waveIndex, level, species) > 1;
}
- const pokemon = new EnemyPokemon(
- species,
- level,
- trainerSlot,
- boss,
- shinyLock,
- dataSource,
- );
+ const pokemon = new EnemyPokemon(species, level, trainerSlot, boss, shinyLock, dataSource);
if (Overrides.OPP_FUSION_OVERRIDE) {
pokemon.generateFusionSpecies();
}
@@ -1237,10 +1096,7 @@ export default class BattleScene extends SceneBase {
* @param pokemon
* @param destroy Default true. If true, will destroy the {@linkcode PlayerPokemon} after removing
*/
- removePokemonFromPlayerParty(
- pokemon: PlayerPokemon,
- destroy: boolean = true,
- ) {
+ removePokemonFromPlayerParty(pokemon: PlayerPokemon, destroy = true) {
if (!pokemon) {
return;
}
@@ -1258,9 +1114,9 @@ export default class BattleScene extends SceneBase {
pokemon: Pokemon,
x: number,
y: number,
- originX: number = 0.5,
- originY: number = 0.5,
- ignoreOverride: boolean = false,
+ originX = 0.5,
+ originY = 0.5,
+ ignoreOverride = false,
): Phaser.GameObjects.Container {
const container = this.add.container(x, y);
container.setName(`${pokemon.name}-icon`);
@@ -1270,9 +1126,7 @@ export default class BattleScene extends SceneBase {
icon.setFrame(pokemon.getIconId(true));
// Temporary fix to show pokemon's default icon if variant icon doesn't exist
if (icon.frame.name !== pokemon.getIconId(true)) {
- console.log(
- `${pokemon.name}'s variant icon does not exist. Replacing with default.`,
- );
+ console.log(`${pokemon.name}'s variant icon does not exist. Replacing with default.`);
const temp = pokemon.shiny;
pokemon.shiny = false;
icon.setTexture(pokemon.getIconAtlasKey(ignoreOverride));
@@ -1284,11 +1138,7 @@ export default class BattleScene extends SceneBase {
container.add(icon);
if (pokemon.isFusion()) {
- const fusionIcon = this.add.sprite(
- 0,
- 0,
- pokemon.getFusionIconAtlasKey(ignoreOverride),
- );
+ const fusionIcon = this.add.sprite(0, 0, pokemon.getFusionIconAtlasKey(ignoreOverride));
fusionIcon.setName("sprite-fusion-icon");
fusionIcon.setOrigin(0.5, 0);
fusionIcon.setFrame(pokemon.getFusionIconId(true));
@@ -1297,11 +1147,9 @@ export default class BattleScene extends SceneBase {
const originalHeight = icon.height;
const originalFrame = icon.frame;
- const iconHeight = (
- icon.frame.cutHeight <= fusionIcon.frame.cutHeight
- ? Math.ceil
- : Math.floor
- )((icon.frame.cutHeight + fusionIcon.frame.cutHeight) / 4);
+ const iconHeight = (icon.frame.cutHeight <= fusionIcon.frame.cutHeight ? Math.ceil : Math.floor)(
+ (icon.frame.cutHeight + fusionIcon.frame.cutHeight) / 4,
+ );
// Inefficient, but for some reason didn't work with only the unique properties as part of the name
const iconFrameId = `${icon.frame.name}f${fusionIcon.frame.name}`;
@@ -1324,8 +1172,7 @@ export default class BattleScene extends SceneBase {
const originalFusionFrame = fusionIcon.frame;
const fusionIconY = fusionIcon.frame.cutY + icon.frame.cutHeight;
- const fusionIconHeight =
- fusionIcon.frame.cutHeight - icon.frame.cutHeight;
+ const fusionIconHeight = fusionIcon.frame.cutHeight - icon.frame.cutHeight;
// Inefficient, but for some reason didn't work with only the unique properties as part of the name
const fusionIconFrameId = `${fusionIcon.frame.name}f${icon.frame.name}`;
@@ -1382,15 +1229,11 @@ export default class BattleScene extends SceneBase {
* @param min The minimum integer to pick, default `0`
* @returns A random integer between {@linkcode min} and ({@linkcode min} + {@linkcode range} - 1)
*/
- randBattleSeedInt(range: number, min: number = 0): number {
+ randBattleSeedInt(range: number, min = 0): number {
return this.currentBattle?.randSeedInt(range, min);
}
- reset(
- clearScene: boolean = false,
- clearData: boolean = false,
- reloadI18n: boolean = false,
- ): void {
+ reset(clearScene = false, clearData = false, reloadI18n = false): void {
if (clearData) {
this.gameData = new GameData();
}
@@ -1406,8 +1249,8 @@ export default class BattleScene extends SceneBase {
this.pokeballCounts = Object.fromEntries(
Utils.getEnumValues(PokeballType)
- .filter((p) => p <= PokeballType.MASTER_BALL)
- .map((t) => [ t, 0 ]),
+ .filter(p => p <= PokeballType.MASTER_BALL)
+ .map(t => [t, 0]),
);
this.pokeballCounts[PokeballType.POKEBALL] += 5;
if (Overrides.POKEBALL_OVERRIDE.active) {
@@ -1429,10 +1272,7 @@ export default class BattleScene extends SceneBase {
// If this is a ME, clear any residual visual sprites before reloading
if (this.currentBattle?.mysteryEncounter?.introVisuals) {
- this.field.remove(
- this.currentBattle.mysteryEncounter?.introVisuals,
- true,
- );
+ this.field.remove(this.currentBattle.mysteryEncounter?.introVisuals, true);
}
//@ts-ignore - allowing `null` for currentBattle causes a lot of trouble
@@ -1453,7 +1293,7 @@ export default class BattleScene extends SceneBase {
this.updateScoreText();
this.scoreText.setVisible(false);
- [ this.luckLabelText, this.luckText ].map((t) => t.setVisible(false));
+ [this.luckLabelText, this.luckText].map(t => t.setVisible(false));
this.newArena(Overrides.STARTING_BIOME_OVERRIDE || Biome.TOWN);
@@ -1462,16 +1302,13 @@ export default class BattleScene extends SceneBase {
this.arenaBgTransition.setPosition(0, 0);
this.arenaPlayer.setPosition(300, 0);
this.arenaPlayerTransition.setPosition(0, 0);
- [ this.arenaEnemy, this.arenaNextEnemy ].forEach((a) =>
- a.setPosition(-280, 0),
- );
+ this.arenaEnemy.setPosition(-280, 0);
+ this.arenaNextEnemy.setPosition(-280, 0);
this.arenaNextEnemy.setVisible(false);
this.arena.init();
- this.trainer.setTexture(
- `trainer_${this.gameData.gender === PlayerGender.FEMALE ? "f" : "m"}_back`,
- );
+ this.trainer.setTexture(`trainer_${this.gameData.gender === PlayerGender.FEMALE ? "f" : "m"}_back`);
this.trainer.setPosition(406, 186);
this.trainer.setVisible(true);
@@ -1485,15 +1322,14 @@ export default class BattleScene extends SceneBase {
...allMoves,
...allAbilities,
...Utils.getEnumValues(ModifierPoolType)
- .map((mpt) => getModifierPoolForType(mpt))
- .map((mp) =>
+ .map(mpt => getModifierPoolForType(mpt))
+ .flatMap(mp =>
Object.values(mp)
.flat()
- .map((mt) => mt.modifierType)
- .filter((mt) => "localize" in mt)
- .map((lpb) => lpb as unknown as Localizable),
- )
- .flat(),
+ .map(mt => mt.modifierType)
+ .filter(mt => "localize" in mt)
+ .map(lpb => lpb as unknown as Localizable),
+ ),
];
for (const item of localizable) {
item.localize();
@@ -1506,7 +1342,7 @@ export default class BattleScene extends SceneBase {
this.fadeOutBgm(250, false);
this.tweens.add({
- targets: [ this.uiContainer ],
+ targets: [this.uiContainer],
alpha: 0,
duration: 250,
ease: "Sine.easeInOut",
@@ -1525,13 +1361,11 @@ export default class BattleScene extends SceneBase {
}
getDoubleBattleChance(newWaveIndex: number, playerField: PlayerPokemon[]) {
- const doubleChance = new Utils.NumberHolder(
- newWaveIndex % 10 === 0 ? 32 : 8,
- );
+ const doubleChance = new Utils.NumberHolder(newWaveIndex % 10 === 0 ? 32 : 8);
this.applyModifiers(DoubleBattleChanceBoosterModifier, true, doubleChance);
- playerField.forEach((p) =>
- applyAbAttrs(DoubleBattleChanceAbAttr, p, null, false, doubleChance),
- );
+ for (const p of playerField) {
+ applyAbAttrs(DoubleBattleChanceAbAttr, p, null, false, doubleChance);
+ }
return Math.max(doubleChance.value, 1);
}
@@ -1543,8 +1377,7 @@ export default class BattleScene extends SceneBase {
mysteryEncounterType?: MysteryEncounterType,
): Battle | null {
const _startingWave = Overrides.STARTING_WAVE_OVERRIDE || startingWave;
- const newWaveIndex =
- waveIndex || (this.currentBattle?.waveIndex || _startingWave - 1) + 1;
+ const newWaveIndex = waveIndex || (this.currentBattle?.waveIndex || _startingWave - 1) + 1;
let newDouble: boolean | undefined;
let newBattleType: BattleType;
let newTrainer: Trainer | undefined;
@@ -1555,10 +1388,7 @@ export default class BattleScene extends SceneBase {
const playerField = this.getPlayerField();
- if (
- this.gameMode.isFixedBattle(newWaveIndex) &&
- trainerData === undefined
- ) {
+ if (this.gameMode.isFixedBattle(newWaveIndex) && trainerData === undefined) {
battleConfig = this.gameMode.getFixedBattle(newWaveIndex);
newDouble = battleConfig.double;
newBattleType = battleConfig.battleType;
@@ -1573,9 +1403,7 @@ export default class BattleScene extends SceneBase {
if (!this.gameMode.hasTrainers) {
newBattleType = BattleType.WILD;
} else if (battleType === undefined) {
- newBattleType = this.gameMode.isWaveTrainer(newWaveIndex, this.arena)
- ? BattleType.TRAINER
- : BattleType.WILD;
+ newBattleType = this.gameMode.isWaveTrainer(newWaveIndex, this.arena) ? BattleType.TRAINER : BattleType.WILD;
} else {
newBattleType = battleType;
}
@@ -1586,13 +1414,11 @@ export default class BattleScene extends SceneBase {
if (trainerConfigs[trainerType].doubleOnly) {
doubleTrainer = true;
} else if (trainerConfigs[trainerType].hasDouble) {
- doubleTrainer = !Utils.randSeedInt(
- this.getDoubleBattleChance(newWaveIndex, playerField),
- );
+ doubleTrainer = !Utils.randSeedInt(this.getDoubleBattleChance(newWaveIndex, playerField));
// Add a check that special trainers can't be double except for tate and liza - they should use the normal double chance
if (
trainerConfigs[trainerType].trainerTypeDouble &&
- ![ TrainerType.TATE, TrainerType.LIZA ].includes(trainerType)
+ ![TrainerType.TATE, TrainerType.LIZA].includes(trainerType)
) {
doubleTrainer = false;
}
@@ -1602,34 +1428,22 @@ export default class BattleScene extends SceneBase {
: Utils.randSeedInt(2)
? TrainerVariant.FEMALE
: TrainerVariant.DEFAULT;
- newTrainer =
- trainerData !== undefined
- ? trainerData.toTrainer()
- : new Trainer(trainerType, variant);
+ newTrainer = trainerData !== undefined ? trainerData.toTrainer() : new Trainer(trainerType, variant);
this.field.add(newTrainer);
}
// Check for mystery encounter
// Can only occur in place of a standard (non-boss) wild battle, waves 10-180
- if (
- this.isWaveMysteryEncounter(newBattleType, newWaveIndex) ||
- newBattleType === BattleType.MYSTERY_ENCOUNTER
- ) {
+ if (this.isWaveMysteryEncounter(newBattleType, newWaveIndex) || newBattleType === BattleType.MYSTERY_ENCOUNTER) {
newBattleType = BattleType.MYSTERY_ENCOUNTER;
// Reset to base spawn weight
- this.mysteryEncounterSaveData.encounterSpawnChance =
- BASE_MYSTERY_ENCOUNTER_SPAWN_WEIGHT;
+ this.mysteryEncounterSaveData.encounterSpawnChance = BASE_MYSTERY_ENCOUNTER_SPAWN_WEIGHT;
}
}
if (double === undefined && newWaveIndex > 1) {
- if (
- newBattleType === BattleType.WILD &&
- !this.gameMode.isWaveFinal(newWaveIndex)
- ) {
- newDouble = !Utils.randSeedInt(
- this.getDoubleBattleChance(newWaveIndex, playerField),
- );
+ if (newBattleType === BattleType.WILD && !this.gameMode.isWaveFinal(newWaveIndex)) {
+ newDouble = !Utils.randSeedInt(this.getDoubleBattleChance(newWaveIndex, playerField));
} else if (newBattleType === BattleType.TRAINER) {
newDouble = newTrainer?.variant === TrainerVariant.DOUBLE;
}
@@ -1667,10 +1481,7 @@ export default class BattleScene extends SceneBase {
* Override battles into single only if not fighting with trainers.
* @see {@link https://github.com/pagefaultgames/pokerogue/issues/1948 | GitHub Issue #1948}
*/
- if (
- newBattleType !== BattleType.TRAINER &&
- doubleOverrideForWave === "single"
- ) {
+ if (newBattleType !== BattleType.TRAINER && doubleOverrideForWave === "single") {
newDouble = false;
}
}
@@ -1688,21 +1499,15 @@ export default class BattleScene extends SceneBase {
}
if (lastBattle?.double && !newDouble) {
- this.tryRemovePhase((p) => p instanceof SwitchPhase);
- this.getPlayerField().forEach((p) =>
- p.lapseTag(BattlerTagType.COMMANDED),
- );
+ this.tryRemovePhase(p => p instanceof SwitchPhase);
+ for (const p of this.getPlayerField()) {
+ p.lapseTag(BattlerTagType.COMMANDED);
+ }
}
this.executeWithSeedOffset(
() => {
- this.currentBattle = new Battle(
- this.gameMode,
- newWaveIndex,
- newBattleType,
- newTrainer,
- newDouble,
- );
+ this.currentBattle = new Battle(this.gameMode, newWaveIndex, newBattleType, newTrainer, newDouble);
},
newWaveIndex << 3,
this.waveSeed,
@@ -1718,23 +1523,18 @@ export default class BattleScene extends SceneBase {
if (!waveIndex && lastBattle) {
const isWaveIndexMultipleOfTen = !(lastBattle.waveIndex % 10);
- const isEndlessOrDaily =
- this.gameMode.hasShortBiomes || this.gameMode.isDaily;
- const isEndlessFifthWave =
- this.gameMode.hasShortBiomes && lastBattle.waveIndex % 5 === 0;
- const isWaveIndexMultipleOfFiftyMinusOne =
- lastBattle.waveIndex % 50 === 49;
+ const isEndlessOrDaily = this.gameMode.hasShortBiomes || this.gameMode.isDaily;
+ const isEndlessFifthWave = this.gameMode.hasShortBiomes && lastBattle.waveIndex % 5 === 0;
+ const isWaveIndexMultipleOfFiftyMinusOne = lastBattle.waveIndex % 50 === 49;
const isNewBiome =
- isWaveIndexMultipleOfTen ||
- isEndlessFifthWave ||
- (isEndlessOrDaily && isWaveIndexMultipleOfFiftyMinusOne);
+ isWaveIndexMultipleOfTen || isEndlessFifthWave || (isEndlessOrDaily && isWaveIndexMultipleOfFiftyMinusOne);
const resetArenaState =
isNewBiome ||
- [ BattleType.TRAINER, BattleType.MYSTERY_ENCOUNTER ].includes(
- this.currentBattle.battleType,
- ) ||
+ [BattleType.TRAINER, BattleType.MYSTERY_ENCOUNTER].includes(this.currentBattle.battleType) ||
this.currentBattle.battleSpec === BattleSpec.FINAL_BOSS;
- this.getEnemyParty().forEach((enemyPokemon) => enemyPokemon.destroy());
+ for (const enemyPokemon of this.getEnemyParty()) {
+ enemyPokemon.destroy();
+ }
this.trySpreadPokerus();
if (!isNewBiome && newWaveIndex % 10 === 5) {
this.arena.updatePoolsForTimeOfDay();
@@ -1742,9 +1542,9 @@ export default class BattleScene extends SceneBase {
if (resetArenaState) {
this.arena.resetArenaEffects();
- playerField.forEach((pokemon) =>
- pokemon.lapseTag(BattlerTagType.COMMANDED),
- );
+ for (const pokemon of playerField) {
+ pokemon.lapseTag(BattlerTagType.COMMANDED);
+ }
playerField.forEach((pokemon, p) => {
if (pokemon.isOnField()) {
@@ -1758,9 +1558,7 @@ export default class BattleScene extends SceneBase {
applyPostBattleInitAbAttrs(PostBattleInitAbAttr, pokemon);
if (
pokemon.hasSpecies(Species.TERAPAGOS) ||
- (this.gameMode.isClassic &&
- this.currentBattle.waveIndex > 180 &&
- this.currentBattle.waveIndex <= 190)
+ (this.gameMode.isClassic && this.currentBattle.waveIndex > 180 && this.currentBattle.waveIndex <= 190)
) {
this.arena.playerTerasUsed = 0;
}
@@ -1772,10 +1570,7 @@ export default class BattleScene extends SceneBase {
}
for (const pokemon of this.getPlayerParty()) {
- this.triggerPokemonFormChange(
- pokemon,
- SpeciesFormChangeTimeOfDayTrigger,
- );
+ this.triggerPokemonFormChange(pokemon, SpeciesFormChangeTimeOfDayTrigger);
}
if (!this.gameMode.hasRandomBiomes && !isNewBiome) {
@@ -1806,18 +1601,14 @@ export default class BattleScene extends SceneBase {
}
updateFieldScale(): Promise {
- return new Promise((resolve) => {
+ return new Promise(resolve => {
const fieldScale =
Math.floor(
Math.pow(
1 /
this.getField(true)
- .map((p) => p.getSpriteScale())
- .reduce(
- (highestScale: number, scale: number) =>
- (highestScale = Math.max(scale, highestScale)),
- 0,
- ),
+ .map(p => p.getSpriteScale())
+ .reduce((highestScale: number, scale: number) => (highestScale = Math.max(scale, highestScale)), 0),
0.7,
) * 40,
) / 40;
@@ -1825,8 +1616,8 @@ export default class BattleScene extends SceneBase {
});
}
- setFieldScale(scale: number, instant: boolean = false): Promise {
- return new Promise((resolve) => {
+ setFieldScale(scale: number, instant = false): Promise {
+ return new Promise(resolve => {
scale *= 6;
if (this.field.scale === scale) {
return resolve();
@@ -1842,29 +1633,81 @@ export default class BattleScene extends SceneBase {
scale: scale,
x: (defaultWidth - scaledWidth) / 2,
y: defaultHeight - scaledHeight,
- duration: !instant
- ? Utils.fixedInt(Math.abs(this.field.scale - scale) * 200)
- : 0,
+ duration: !instant ? Utils.fixedInt(Math.abs(this.field.scale - scale) * 200) : 0,
ease: "Sine.easeInOut",
onComplete: () => resolve(),
});
});
}
- getSpeciesFormIndex(
- species: PokemonSpecies,
- gender?: Gender,
- nature?: Nature,
- ignoreArena?: boolean,
- ): number {
+ getSpeciesFormIndex(species: PokemonSpecies, gender?: Gender, nature?: Nature, ignoreArena?: boolean): number {
if (!species.forms?.length) {
return 0;
}
- const isEggPhase: boolean = [ "EggLapsePhase", "EggHatchPhase" ].includes(
+ const isEggPhase: boolean = ["EggLapsePhase", "EggHatchPhase"].includes(
this.getCurrentPhase()?.constructor.name ?? "",
);
+ if (
+ // Give trainers with specialty types an appropriately-typed form for Wormadam, Rotom, Arceus, Oricorio, Silvally, or Paldean Tauros.
+ !isEggPhase &&
+ this.currentBattle?.battleType === BattleType.TRAINER &&
+ !isNullOrUndefined(this.currentBattle.trainer) &&
+ this.currentBattle.trainer.config.hasSpecialtyType()
+ ) {
+ if (species.speciesId === Species.WORMADAM) {
+ switch (this.currentBattle.trainer.config.specialtyType) {
+ case PokemonType.GROUND:
+ return 1; // Sandy Cloak
+ case PokemonType.STEEL:
+ return 2; // Trash Cloak
+ case PokemonType.GRASS:
+ return 0; // Plant Cloak
+ }
+ }
+ if (species.speciesId === Species.ROTOM) {
+ switch (this.currentBattle.trainer.config.specialtyType) {
+ case PokemonType.FLYING:
+ return 4; // Fan Rotom
+ case PokemonType.GHOST:
+ return 0; // Lightbulb Rotom
+ case PokemonType.FIRE:
+ return 1; // Heat Rotom
+ case PokemonType.GRASS:
+ return 5; // Mow Rotom
+ case PokemonType.WATER:
+ return 2; // Wash Rotom
+ case PokemonType.ICE:
+ return 3; // Frost Rotom
+ }
+ }
+ if (species.speciesId === Species.ORICORIO) {
+ switch (this.currentBattle.trainer.config.specialtyType) {
+ case PokemonType.GHOST:
+ return 3; // Sensu Style
+ case PokemonType.FIRE:
+ return 0; // Baile Style
+ case PokemonType.ELECTRIC:
+ return 1; // Pom-Pom Style
+ case PokemonType.PSYCHIC:
+ return 2; // Pa'u Style
+ }
+ }
+ if (species.speciesId === Species.PALDEA_TAUROS) {
+ switch (this.currentBattle.trainer.config.specialtyType) {
+ case PokemonType.FIRE:
+ return 1; // Blaze Breed
+ case PokemonType.WATER:
+ return 2; // Aqua Breed
+ }
+ }
+ if (species.speciesId === Species.SILVALLY || species.speciesId === Species.ARCEUS) {
+ // Would probably never happen, but might as well
+ return this.currentBattle.trainer.config.specialtyType;
+ }
+ }
+
switch (species.speciesId) {
case Species.UNOWN:
case Species.SHELLOS:
@@ -1872,8 +1715,6 @@ export default class BattleScene extends SceneBase {
case Species.BASCULIN:
case Species.DEERLING:
case Species.SAWSBUCK:
- case Species.FROAKIE:
- case Species.FROGADIER:
case Species.SCATTERBUG:
case Species.SPEWPA:
case Species.VIVILLON:
@@ -1891,10 +1732,7 @@ export default class BattleScene extends SceneBase {
case Species.PALDEA_TAUROS:
return Utils.randSeedInt(species.forms.length);
case Species.PIKACHU:
- if (
- this.currentBattle?.battleType === BattleType.TRAINER &&
- this.currentBattle?.waveIndex < 30
- ) {
+ if (this.currentBattle?.battleType === BattleType.TRAINER && this.currentBattle?.waveIndex < 30) {
return 0; // Ban Cosplay and Partner Pika from Trainers before wave 30
}
return Utils.randSeedInt(8);
@@ -1907,9 +1745,11 @@ export default class BattleScene extends SceneBase {
return 0; // No Partner Eevee for Wave 12 Preschoolers
}
return Utils.randSeedInt(2);
+ case Species.FROAKIE:
+ case Species.FROGADIER:
case Species.GRENINJA:
- if (this.currentBattle?.battleType === BattleType.TRAINER) {
- return 0; // Don't give trainers Battle Bond Greninja
+ if (this.currentBattle?.battleType === BattleType.TRAINER && !isEggPhase) {
+ return 0; // Don't give trainers Battle Bond Greninja, Froakie or Frogadier
}
return Utils.randSeedInt(2);
case Species.URSHIFU:
@@ -1925,7 +1765,7 @@ export default class BattleScene extends SceneBase {
case Species.BASCULEGION:
case Species.OINKOLOGNE:
return gender === Gender.FEMALE ? 1 : 0;
- case Species.TOXTRICITY:
+ case Species.TOXTRICITY: {
const lowkeyNatures = [
Nature.LONELY,
Nature.BOLD,
@@ -1944,13 +1784,13 @@ export default class BattleScene extends SceneBase {
return 1;
}
return 0;
+ }
case Species.GIMMIGHOUL:
// Chest form can only be found in Mysterious Chest Encounter, if this is a game mode with MEs
if (this.gameMode.hasMysteryEncounters && !isEggPhase) {
return 1; // Wandering form
- } else {
- return Utils.randSeedInt(species.forms.length);
}
+ return Utils.randSeedInt(species.forms.length);
}
if (ignoreArena) {
@@ -1991,15 +1831,11 @@ export default class BattleScene extends SceneBase {
return ret;
}
- getEncounterBossSegments(
- waveIndex: number,
- level: number,
- species?: PokemonSpecies,
- forceBoss: boolean = false,
- ): number {
+ getEncounterBossSegments(waveIndex: number, level: number, species?: PokemonSpecies, forceBoss = false): number {
if (Overrides.OPP_HEALTH_SEGMENTS_OVERRIDE > 1) {
return Overrides.OPP_HEALTH_SEGMENTS_OVERRIDE;
- } else if (Overrides.OPP_HEALTH_SEGMENTS_OVERRIDE === 1) {
+ }
+ if (Overrides.OPP_HEALTH_SEGMENTS_OVERRIDE === 1) {
// The rest of the code expects to be returned 0 and not 1 if the enemy is not a boss
return 0;
}
@@ -2009,26 +1845,21 @@ export default class BattleScene extends SceneBase {
}
let isBoss: boolean | undefined;
- if (
- forceBoss ||
- (species &&
- (species.subLegendary || species.legendary || species.mythical))
- ) {
+ if (forceBoss || (species && (species.subLegendary || species.legendary || species.mythical))) {
isBoss = true;
} else {
this.executeWithSeedOffset(() => {
isBoss =
waveIndex % 10 === 0 ||
(this.gameMode.hasRandomBosses &&
- Utils.randSeedInt(100) <
- Math.min(Math.max(Math.ceil((waveIndex - 250) / 50), 0) * 2, 30));
+ Utils.randSeedInt(100) < Math.min(Math.max(Math.ceil((waveIndex - 250) / 50), 0) * 2, 30));
}, waveIndex << 2);
}
if (!isBoss) {
return 0;
}
- let ret: number = 2;
+ let ret = 2;
if (level >= 100) {
ret++;
@@ -2075,12 +1906,13 @@ export default class BattleScene extends SceneBase {
resetSeed(waveIndex?: number): void {
const wave = waveIndex || this.currentBattle?.waveIndex || 0;
this.waveSeed = Utils.shiftCharCodes(this.seed, wave);
- Phaser.Math.RND.sow([ this.waveSeed ]);
+ Phaser.Math.RND.sow([this.waveSeed]);
console.log("Wave Seed:", this.waveSeed, wave);
this.rngCounter = 0;
}
executeWithSeedOffset(
+ // biome-ignore lint/complexity/noBannedTypes: Refactor to not use Function
func: Function,
offset: number,
seedOverride?: string,
@@ -2092,9 +1924,7 @@ export default class BattleScene extends SceneBase {
const tempRngOffset = this.rngOffset;
const tempRngSeedOverride = this.rngSeedOverride;
const state = Phaser.Math.RND.state();
- Phaser.Math.RND.sow([
- Utils.shiftCharCodes(seedOverride || this.seed, offset),
- ]);
+ Phaser.Math.RND.sow([Utils.shiftCharCodes(seedOverride || this.seed, offset)]);
this.rngCounter = 0;
this.rngOffset = offset;
this.rngSeedOverride = seedOverride || "";
@@ -2110,7 +1940,7 @@ export default class BattleScene extends SceneBase {
y: number,
texture: string | Phaser.Textures.Texture,
frame?: string | number,
- terrainColorRatio: number = 0,
+ terrainColorRatio = 0,
): Phaser.GameObjects.Sprite {
const ret = this.add.sprite(x, y, texture, frame);
ret.setPipeline(this.fieldSpritePipeline);
@@ -2127,8 +1957,8 @@ export default class BattleScene extends SceneBase {
y: number,
texture: string | Phaser.Textures.Texture,
frame?: string | number,
- hasShadow: boolean = false,
- ignoreOverride: boolean = false,
+ hasShadow = false,
+ ignoreOverride = false,
): Phaser.GameObjects.Sprite {
const ret = this.addFieldSprite(x, y, texture, frame);
this.initPokemonSprite(ret, pokemon, hasShadow, ignoreOverride);
@@ -2138,11 +1968,11 @@ export default class BattleScene extends SceneBase {
initPokemonSprite(
sprite: Phaser.GameObjects.Sprite,
pokemon?: Pokemon,
- hasShadow: boolean = false,
- ignoreOverride: boolean = false,
+ hasShadow = false,
+ ignoreOverride = false,
): Phaser.GameObjects.Sprite {
sprite.setPipeline(this.spritePipeline, {
- tone: [ 0.0, 0.0, 0.0, 0.0 ],
+ tone: [0.0, 0.0, 0.0, 0.0],
hasShadow: hasShadow,
ignoreOverride: ignoreOverride,
teraColor: pokemon ? getTypeRgb(pokemon.getTeraType()) : undefined,
@@ -2160,7 +1990,7 @@ export default class BattleScene extends SceneBase {
}
showFieldOverlay(duration: number): Promise {
- return new Promise((resolve) => {
+ return new Promise(resolve => {
this.tweens.add({
targets: this.fieldOverlay,
alpha: 0.5,
@@ -2172,7 +2002,7 @@ export default class BattleScene extends SceneBase {
}
hideFieldOverlay(duration: number): Promise {
- return new Promise((resolve) => {
+ return new Promise(resolve => {
this.tweens.add({
targets: this.fieldOverlay,
alpha: 0,
@@ -2193,7 +2023,7 @@ export default class BattleScene extends SceneBase {
showShopOverlay(duration: number): Promise {
this.shopOverlayShown = true;
- return new Promise((resolve) => {
+ return new Promise(resolve => {
this.tweens.add({
targets: this.shopOverlay,
alpha: this.shopOverlayOpacity,
@@ -2206,7 +2036,7 @@ export default class BattleScene extends SceneBase {
hideShopOverlay(duration: number): Promise {
this.shopOverlayShown = false;
- return new Promise((resolve) => {
+ return new Promise(resolve => {
this.tweens.add({
targets: this.shopOverlay,
alpha: 0,
@@ -2229,22 +2059,18 @@ export default class BattleScene extends SceneBase {
const isBoss = !(this.currentBattle.waveIndex % 10);
const biomeString: string = getBiomeName(this.arena.biomeType);
this.fieldUI.moveAbove(this.biomeWaveText, this.luckText);
- this.biomeWaveText.setText(
- biomeString + " - " + this.currentBattle.waveIndex.toString(),
- );
+ this.biomeWaveText.setText(biomeString + " - " + this.currentBattle.waveIndex.toString());
this.biomeWaveText.setColor(!isBoss ? "#ffffff" : "#f89890");
this.biomeWaveText.setShadowColor(!isBoss ? "#636363" : "#984038");
this.biomeWaveText.setVisible(true);
}
- updateMoneyText(forceVisible: boolean = true): void {
+ updateMoneyText(forceVisible = true): void {
if (this.money === undefined) {
return;
}
const formattedMoney = Utils.formatMoney(this.moneyFormat, this.money);
- this.moneyText.setText(
- i18next.t("battleScene:moneyOwned", { formattedMoney }),
- );
+ this.moneyText.setText(i18next.t("battleScene:moneyOwned", { formattedMoney }));
this.fieldUI.moveAbove(this.moneyText, this.luckText);
if (forceVisible) {
this.moneyText.setVisible(true);
@@ -2263,8 +2089,7 @@ export default class BattleScene extends SceneBase {
scale: this.moneyText.scale + deltaScale,
loop: 0,
yoyo: true,
- onComplete: (_) =>
- this.moneyText.setShadowColor(getTextColor(TextStyle.MONEY, true)),
+ onComplete: _ => this.moneyText.setShadowColor(getTextColor(TextStyle.MONEY, true)),
});
}
@@ -2278,8 +2103,10 @@ export default class BattleScene extends SceneBase {
* @param duration The time for this label to fade in, if it is not already visible.
*/
updateAndShowText(duration: number): void {
- const labels = [ this.luckLabelText, this.luckText ];
- labels.forEach((t) => t.setAlpha(0));
+ const labels = [this.luckLabelText, this.luckText];
+ for (const label of labels) {
+ label.setAlpha(0);
+ }
const luckValue = getPartyLuckValue(this.getPlayerParty());
this.luckText.setText(getLuckString(luckValue));
if (luckValue < 14) {
@@ -2287,15 +2114,15 @@ export default class BattleScene extends SceneBase {
} else {
this.luckText.setTint(0xffef5c, 0x47ff69, 0x6b6bff, 0xff6969);
}
- this.luckLabelText.setX(
- this.game.canvas.width / 6 - 2 - (this.luckText.displayWidth + 2),
- );
+ this.luckLabelText.setX(this.game.canvas.width / 6 - 2 - (this.luckText.displayWidth + 2));
this.tweens.add({
targets: labels,
duration: duration,
alpha: 1,
onComplete: () => {
- labels.forEach((t) => t.setVisible(true));
+ for (const label of labels) {
+ label.setVisible(true);
+ }
},
});
}
@@ -2304,23 +2131,22 @@ export default class BattleScene extends SceneBase {
if (this.reroll) {
return;
}
- const labels = [ this.luckLabelText, this.luckText ];
+ const labels = [this.luckLabelText, this.luckText];
this.tweens.add({
targets: labels,
duration: duration,
alpha: 0,
onComplete: () => {
- labels.forEach((l) => l.setVisible(false));
+ for (const label of labels) {
+ label.setVisible(false);
+ }
},
});
}
updateUIPositions(): void {
- const enemyModifierCount = this.enemyModifiers.filter((m) =>
- m.isIconVisible(),
- ).length;
- const biomeWaveTextHeight =
- this.biomeWaveText.getBottomLeft().y - this.biomeWaveText.getTopLeft().y;
+ const enemyModifierCount = this.enemyModifiers.filter(m => m.isIconVisible()).length;
+ const biomeWaveTextHeight = this.biomeWaveText.getBottomLeft().y - this.biomeWaveText.getTopLeft().y;
this.biomeWaveText.setY(
-(this.game.canvas.height / 6) +
(enemyModifierCount ? (enemyModifierCount <= 12 ? 15 : 24) : 0) +
@@ -2328,11 +2154,10 @@ export default class BattleScene extends SceneBase {
);
this.moneyText.setY(this.biomeWaveText.y + 10);
this.scoreText.setY(this.moneyText.y + 10);
- [ this.luckLabelText, this.luckText ].map((l) =>
+ [this.luckLabelText, this.luckText].map(l =>
l.setY((this.scoreText.visible ? this.scoreText : this.moneyText).y + 10),
);
- const offsetY =
- (this.scoreText.visible ? this.scoreText : this.moneyText).y + 15;
+ const offsetY = (this.scoreText.visible ? this.scoreText : this.moneyText).y + 15;
this.partyExpBar.setY(offsetY);
this.candyBar.setY(offsetY + 15);
this.ui?.achvBar.setY(this.game.canvas.height / 6 + offsetY);
@@ -2351,16 +2176,9 @@ export default class BattleScene extends SceneBase {
let scoreIncrease =
enemy.getSpeciesForm().getBaseExp() *
(enemy.level / this.getMaxExpLevel()) *
- ((enemy.ivs.reduce((iv: number, total: number) => (total += iv), 0) /
- 93) *
- 0.2 +
- 0.8);
- this.findModifiers(
- (m) => m instanceof PokemonHeldItemModifier && m.pokemonId === enemy.id,
- false,
- ).map(
- (m) =>
- (scoreIncrease *= (m as PokemonHeldItemModifier).getScoreMultiplier()),
+ ((enemy.ivs.reduce((iv: number, total: number) => (total += iv), 0) / 93) * 0.2 + 0.8);
+ this.findModifiers(m => m instanceof PokemonHeldItemModifier && m.pokemonId === enemy.id, false).map(
+ m => (scoreIncrease *= (m as PokemonHeldItemModifier).getScoreMultiplier()),
);
if (enemy.isBoss()) {
scoreIncrease *= Math.sqrt(enemy.bossSegments);
@@ -2368,17 +2186,16 @@ export default class BattleScene extends SceneBase {
this.currentBattle.battleScore += Math.ceil(scoreIncrease);
}
- getMaxExpLevel(ignoreLevelCap: boolean = false): number {
+ getMaxExpLevel(ignoreLevelCap = false): number {
if (Overrides.LEVEL_CAP_OVERRIDE > 0) {
return Overrides.LEVEL_CAP_OVERRIDE;
- } else if (ignoreLevelCap || Overrides.LEVEL_CAP_OVERRIDE < 0) {
+ }
+ if (ignoreLevelCap || Overrides.LEVEL_CAP_OVERRIDE < 0) {
return Number.MAX_SAFE_INTEGER;
}
const waveIndex = Math.ceil((this.currentBattle?.waveIndex || 1) / 10) * 10;
const difficultyWaveIndex = this.gameMode.getWaveForDifficulty(waveIndex);
- const baseLevel =
- (1 + difficultyWaveIndex / 2 + Math.pow(difficultyWaveIndex / 25, 2)) *
- 1.2;
+ const baseLevel = (1 + difficultyWaveIndex / 2 + Math.pow(difficultyWaveIndex / 25, 2)) * 1.2;
return Math.ceil(baseLevel / 2) * 2 + 2;
}
@@ -2390,54 +2207,39 @@ export default class BattleScene extends SceneBase {
filterAllEvolutions?: boolean,
): PokemonSpecies {
if (fromArenaPool) {
- return this.arena.randomSpecies(
- waveIndex,
- level,
- undefined,
- getPartyLuckValue(this.party),
- );
+ return this.arena.randomSpecies(waveIndex, level, undefined, getPartyLuckValue(this.party));
}
const filteredSpecies = speciesFilter
? [
- ...new Set(
- allSpecies
- .filter((s) => s.isCatchable())
- .filter(speciesFilter)
- .map((s) => {
- if (!filterAllEvolutions) {
- while (pokemonPrevolutions.hasOwnProperty(s.speciesId)) {
- s = getPokemonSpecies(pokemonPrevolutions[s.speciesId]);
+ ...new Set(
+ allSpecies
+ .filter(s => s.isCatchable())
+ .filter(speciesFilter)
+ .map(s => {
+ if (!filterAllEvolutions) {
+ while (pokemonPrevolutions.hasOwnProperty(s.speciesId)) {
+ s = getPokemonSpecies(pokemonPrevolutions[s.speciesId]);
+ }
}
- }
- return s;
- }),
- ),
- ]
- : allSpecies.filter((s) => s.isCatchable());
+ return s;
+ }),
+ ),
+ ]
+ : allSpecies.filter(s => s.isCatchable());
return filteredSpecies[Utils.randSeedInt(filteredSpecies.length)];
}
generateRandomBiome(waveIndex: number): Biome {
const relWave = waveIndex % 250;
- const biomes = Utils.getEnumValues(Biome).filter(
- (b) => b !== Biome.TOWN && b !== Biome.END,
- );
+ const biomes = Utils.getEnumValues(Biome).filter(b => b !== Biome.TOWN && b !== Biome.END);
const maxDepth = biomeDepths[Biome.END][0] - 2;
const depthWeights = new Array(maxDepth + 1)
.fill(null)
- .map(
- (_, i: number) =>
- ((1 -
- Math.min(Math.abs(i / (maxDepth - 1) - relWave / 250) + 0.25, 1)) /
- 0.75) *
- 250,
- );
+ .map((_, i: number) => ((1 - Math.min(Math.abs(i / (maxDepth - 1) - relWave / 250) + 0.25, 1)) / 0.75) * 250);
const biomeThresholds: number[] = [];
let totalWeight = 0;
for (const biome of biomes) {
- totalWeight += Math.ceil(
- depthWeights[biomeDepths[biome][0] - 1] / biomeDepths[biome][1],
- );
+ totalWeight += Math.ceil(depthWeights[biomeDepths[biome][0] - 1] / biomeDepths[biome][1]);
biomeThresholds.push(totalWeight);
}
@@ -2453,7 +2255,7 @@ export default class BattleScene extends SceneBase {
}
isBgmPlaying(): boolean {
- return this.bgm && this.bgm.isPlaying;
+ return this.bgm?.isPlaying ?? false;
}
playBgm(bgmName?: string, fadeOut?: boolean): void {
@@ -2474,10 +2276,7 @@ export default class BattleScene extends SceneBase {
this.bgmCache.add(bgmName);
this.loadBgm(bgmName);
let loopPoint = 0;
- loopPoint =
- bgmName === this.arena.bgm
- ? this.arena.getBgmLoopPoint()
- : this.getBgmLoopPoint(bgmName);
+ loopPoint = bgmName === this.arena.bgm ? this.arena.getBgmLoopPoint() : this.getBgmLoopPoint(bgmName);
let loaded = false;
const playNewBgm = () => {
this.ui.bgmBar.setBgmToBgmBar(bgmName);
@@ -2558,13 +2357,11 @@ export default class BattleScene extends SceneBase {
}
}
- fadeOutBgm(duration: number = 500, destroy: boolean = true): boolean {
+ fadeOutBgm(duration = 500, destroy = true): boolean {
if (!this.bgm) {
return false;
}
- const bgm = this.sound
- .getAllPlaying()
- .find((bgm) => bgm.key === this.bgm.key);
+ const bgm = this.sound.getAllPlaying().find(bgm => bgm.key === this.bgm.key);
if (bgm) {
SoundFade.fadeOut(this, this.bgm, duration, destroy);
return true;
@@ -2579,11 +2376,7 @@ export default class BattleScene extends SceneBase {
* @param destroy
* @param delay
*/
- fadeAndSwitchBgm(
- newBgmKey: string,
- destroy: boolean = false,
- delay: number = 2000,
- ) {
+ fadeAndSwitchBgm(newBgmKey: string, destroy = false, delay = 2000) {
this.fadeOutBgm(delay, destroy);
this.time.delayedCall(delay, () => {
this.playBgm(newBgmKey);
@@ -2640,13 +2433,10 @@ export default class BattleScene extends SceneBase {
this.bgmResumeTimer.destroy();
}
if (resumeBgm) {
- this.bgmResumeTimer = this.time.delayedCall(
- pauseDuration || Utils.fixedInt(sound.totalDuration * 1000),
- () => {
- this.resumeBgm();
- this.bgmResumeTimer = null;
- },
- );
+ this.bgmResumeTimer = this.time.delayedCall(pauseDuration || Utils.fixedInt(sound.totalDuration * 1000), () => {
+ this.resumeBgm();
+ this.bgmResumeTimer = null;
+ });
}
return sound;
}
@@ -2897,7 +2687,7 @@ export default class BattleScene extends SceneBase {
*
*/
pushConditionalPhase(phase: Phase, condition: () => boolean): void {
- this.conditionalQueue.push([ condition, phase ]);
+ this.conditionalQueue.push([condition, phase]);
}
/**
@@ -2905,7 +2695,7 @@ export default class BattleScene extends SceneBase {
* @param phase {@linkcode Phase} the phase to add
* @param defer boolean on which queue to add to, defaults to false, and adds to phaseQueue
*/
- pushPhase(phase: Phase, defer: boolean = false): void {
+ pushPhase(phase: Phase, defer = false): void {
(!defer ? this.phaseQueue : this.nextCommandPhaseQueue).push(phase);
}
@@ -2917,11 +2707,7 @@ export default class BattleScene extends SceneBase {
if (this.phaseQueuePrependSpliceIndex === -1) {
this.phaseQueuePrepend.push(...phases);
} else {
- this.phaseQueuePrepend.splice(
- this.phaseQueuePrependSpliceIndex,
- 0,
- ...phases,
- );
+ this.phaseQueuePrepend.splice(this.phaseQueuePrependSpliceIndex, 0, ...phases);
}
}
@@ -2994,10 +2780,7 @@ export default class BattleScene extends SceneBase {
}
if (this.currentPhase) {
- console.log(
- `%cStart Phase ${this.currentPhase.constructor.name}`,
- "color:green;",
- );
+ console.log(`%cStart Phase ${this.currentPhase.constructor.name}`, "color:green;");
this.currentPhase.start();
}
}
@@ -3021,16 +2804,11 @@ export default class BattleScene extends SceneBase {
* @param phaseFilter filter function to use to find the wanted phase
* @returns the found phase or undefined if none found
*/
- findPhase(
- phaseFilter: (phase: P) => boolean,
- ): P | undefined {
+ findPhase
(phaseFilter: (phase: P) => boolean): P | undefined {
return this.phaseQueue.find(phaseFilter) as P;
}
- tryReplacePhase(
- phaseFilter: (phase: Phase) => boolean,
- phase: Phase,
- ): boolean {
+ tryReplacePhase(phaseFilter: (phase: Phase) => boolean, phase: Phase): boolean {
const phaseIndex = this.phaseQueue.findIndex(phaseFilter);
if (phaseIndex > -1) {
this.phaseQueue[phaseIndex] = phase;
@@ -3067,24 +2845,18 @@ export default class BattleScene extends SceneBase {
* @param targetPhase {@linkcode Phase} the type of phase to search for in phaseQueue
* @returns boolean if a targetPhase was found and added
*/
- prependToPhase(
- phase: Phase | Phase[],
- targetPhase: Constructor,
- ): boolean {
+ prependToPhase(phase: Phase | Phase[], targetPhase: Constructor): boolean {
if (!Array.isArray(phase)) {
- phase = [ phase ];
+ phase = [phase];
}
- const targetIndex = this.phaseQueue.findIndex(
- (ph) => ph instanceof targetPhase,
- );
+ const targetIndex = this.phaseQueue.findIndex(ph => ph instanceof targetPhase);
if (targetIndex !== -1) {
this.phaseQueue.splice(targetIndex, 0, ...phase);
return true;
- } else {
- this.unshiftPhase(...phase);
- return false;
}
+ this.unshiftPhase(...phase);
+ return false;
}
/**
@@ -3093,24 +2865,18 @@ export default class BattleScene extends SceneBase {
* @param targetPhase {@linkcode Phase} the type of phase to search for in {@linkcode phaseQueue}
* @returns `true` if a `targetPhase` was found to append to
*/
- appendToPhase(
- phase: Phase | Phase[],
- targetPhase: Constructor,
- ): boolean {
+ appendToPhase(phase: Phase | Phase[], targetPhase: Constructor): boolean {
if (!Array.isArray(phase)) {
- phase = [ phase ];
+ phase = [phase];
}
- const targetIndex = this.phaseQueue.findIndex(
- (ph) => ph instanceof targetPhase,
- );
+ const targetIndex = this.phaseQueue.findIndex(ph => ph instanceof targetPhase);
if (targetIndex !== -1 && this.phaseQueue.length > targetIndex) {
this.phaseQueue.splice(targetIndex + 1, 0, ...phase);
return true;
- } else {
- this.unshiftPhase(...phase);
- return false;
}
+ this.unshiftPhase(...phase);
+ return false;
}
/**
@@ -3160,10 +2926,8 @@ export default class BattleScene extends SceneBase {
const waveIndex = this.currentBattle.waveIndex;
const waveSetIndex = Math.ceil(waveIndex / 10) - 1;
const moneyValue =
- Math.pow(
- (waveSetIndex + 1 + (0.75 + (((waveIndex - 1) % 10) + 1) / 10)) * 100,
- 1 + 0.005 * waveSetIndex,
- ) * moneyMultiplier;
+ Math.pow((waveSetIndex + 1 + (0.75 + (((waveIndex - 1) % 10) + 1) / 10)) * 100, 1 + 0.005 * waveSetIndex) *
+ moneyMultiplier;
return Math.floor(moneyValue / 10) * 10;
}
@@ -3194,9 +2958,7 @@ export default class BattleScene extends SceneBase {
this.playSound(soundName);
}
} else if (!virtual) {
- const defaultModifierType = getDefaultModifierTypeForTier(
- modifier.type.tier,
- );
+ const defaultModifierType = getDefaultModifierTypeForTier(modifier.type.tier);
this.queueMessage(
i18next.t("battle:itemStackFull", {
fullItemName: modifier.type.name,
@@ -3206,13 +2968,7 @@ export default class BattleScene extends SceneBase {
false,
3000,
);
- return this.addModifier(
- defaultModifierType.newModifier(),
- ignoreUpdate,
- playSound,
- false,
- instant,
- );
+ return this.addModifier(defaultModifierType.newModifier(), ignoreUpdate, playSound, false, instant);
}
for (const rm of modifiersToRemove) {
@@ -3235,23 +2991,14 @@ export default class BattleScene extends SceneBase {
if (modifier instanceof PokemonHpRestoreModifier) {
if (!(modifier as PokemonHpRestoreModifier).fainted) {
const hpRestoreMultiplier = new Utils.NumberHolder(1);
- this.applyModifiers(
- HealingBoosterModifier,
- true,
- hpRestoreMultiplier,
- );
+ this.applyModifiers(HealingBoosterModifier, true, hpRestoreMultiplier);
args.push(hpRestoreMultiplier.value);
} else {
args.push(1);
}
} else if (modifier instanceof FusePokemonModifier) {
- args.push(
- this.getPokemonById(modifier.fusePokemonId) as PlayerPokemon,
- );
- } else if (
- modifier instanceof RememberMoveModifier &&
- !Utils.isNullOrUndefined(cost)
- ) {
+ args.push(this.getPokemonById(modifier.fusePokemonId) as PlayerPokemon);
+ } else if (modifier instanceof RememberMoveModifier && !Utils.isNullOrUndefined(cost)) {
args.push(cost);
}
@@ -3261,9 +3008,9 @@ export default class BattleScene extends SceneBase {
}
}
- this.party.map((p) => p.updateInfo(instant));
+ this.party.map(p => p.updateInfo(instant));
} else {
- const args = [ this ];
+ const args = [this];
if (modifier.shouldApply(...args)) {
const result = modifier.apply(...args);
success ||= result;
@@ -3273,12 +3020,8 @@ export default class BattleScene extends SceneBase {
return success;
}
- addEnemyModifier(
- modifier: PersistentModifier,
- ignoreUpdate?: boolean,
- instant?: boolean,
- ): Promise {
- return new Promise((resolve) => {
+ addEnemyModifier(modifier: PersistentModifier, ignoreUpdate?: boolean, instant?: boolean): Promise {
+ return new Promise(resolve => {
const modifiersToRemove: PersistentModifier[] = [];
if ((modifier as PersistentModifier).add(this.enemyModifiers, false)) {
if (modifier instanceof PokemonFormChangeItemModifier) {
@@ -3318,10 +3061,10 @@ export default class BattleScene extends SceneBase {
itemModifier: PokemonHeldItemModifier,
target: Pokemon,
playSound: boolean,
- transferQuantity: number = 1,
+ transferQuantity = 1,
instant?: boolean,
ignoreUpdate?: boolean,
- itemLost: boolean = true,
+ itemLost = true,
): boolean {
const source = itemModifier.pokemonId ? itemModifier.getPokemon() : null;
const cancelled = new Utils.BooleanHolder(false);
@@ -3337,10 +3080,7 @@ export default class BattleScene extends SceneBase {
const newItemModifier = itemModifier.clone() as PokemonHeldItemModifier;
newItemModifier.pokemonId = target.id;
const matchingModifier = this.findModifier(
- (m) =>
- m instanceof PokemonHeldItemModifier &&
- m.matchType(itemModifier) &&
- m.pokemonId === target.id,
+ m => m instanceof PokemonHeldItemModifier && m.matchType(itemModifier) && m.pokemonId === target.id,
target.isPlayer(),
) as PokemonHeldItemModifier;
@@ -3364,35 +3104,21 @@ export default class BattleScene extends SceneBase {
const removeOld = itemModifier.stackCount === 0;
- if (
- !removeOld ||
- !source ||
- this.removeModifier(itemModifier, !source.isPlayer())
- ) {
+ if (!removeOld || !source || this.removeModifier(itemModifier, !source.isPlayer())) {
const addModifier = () => {
- if (
- !matchingModifier ||
- this.removeModifier(matchingModifier, !target.isPlayer())
- ) {
+ if (!matchingModifier || this.removeModifier(matchingModifier, !target.isPlayer())) {
if (target.isPlayer()) {
- this.addModifier(
- newItemModifier,
- ignoreUpdate,
- playSound,
- false,
- instant,
- );
- if (source && itemLost) {
- applyPostItemLostAbAttrs(PostItemLostAbAttr, source, false);
- }
- return true;
- } else {
- this.addEnemyModifier(newItemModifier, ignoreUpdate, instant);
+ this.addModifier(newItemModifier, ignoreUpdate, playSound, false, instant);
if (source && itemLost) {
applyPostItemLostAbAttrs(PostItemLostAbAttr, source, false);
}
return true;
}
+ this.addEnemyModifier(newItemModifier, ignoreUpdate, instant);
+ if (source && itemLost) {
+ applyPostItemLostAbAttrs(PostItemLostAbAttr, source, false);
+ }
+ return true;
}
return false;
};
@@ -3408,12 +3134,10 @@ export default class BattleScene extends SceneBase {
}
removePartyMemberModifiers(partyMemberIndex: number): Promise {
- return new Promise((resolve) => {
+ return new Promise(resolve => {
const pokemonId = this.getPlayerParty()[partyMemberIndex].id;
const modifiersToRemove = this.modifiers.filter(
- (m) =>
- m instanceof PokemonHeldItemModifier &&
- (m as PokemonHeldItemModifier).pokemonId === pokemonId,
+ m => m instanceof PokemonHeldItemModifier && (m as PokemonHeldItemModifier).pokemonId === pokemonId,
);
for (const m of modifiersToRemove) {
this.modifiers.splice(this.modifiers.indexOf(m), 1);
@@ -3423,19 +3147,13 @@ export default class BattleScene extends SceneBase {
});
}
- generateEnemyModifiers(
- heldModifiersConfigs?: HeldModifierConfig[][],
- ): Promise {
- return new Promise((resolve) => {
+ generateEnemyModifiers(heldModifiersConfigs?: HeldModifierConfig[][]): Promise {
+ return new Promise(resolve => {
if (this.currentBattle.battleSpec === BattleSpec.FINAL_BOSS) {
return resolve();
}
- const difficultyWaveIndex = this.gameMode.getWaveForDifficulty(
- this.currentBattle.waveIndex,
- );
- const isFinalBoss = this.gameMode.isWaveFinal(
- this.currentBattle.waveIndex,
- );
+ const difficultyWaveIndex = this.gameMode.getWaveForDifficulty(this.currentBattle.waveIndex);
+ const isFinalBoss = this.gameMode.isWaveFinal(this.currentBattle.waveIndex);
let chances = Math.ceil(difficultyWaveIndex / 10);
if (isFinalBoss) {
chances = Math.ceil(chances * 2.5);
@@ -3448,17 +3166,11 @@ export default class BattleScene extends SceneBase {
for (const modifier of modifiers) {
this.addEnemyModifier(modifier, true, true);
}
-
- this.currentBattle.trainer.genAI(party);
}
party.forEach((enemyPokemon: EnemyPokemon, i: number) => {
- if (
- heldModifiersConfigs &&
- i < heldModifiersConfigs.length &&
- heldModifiersConfigs[i]
- ) {
- heldModifiersConfigs[i].forEach((mt) => {
+ if (heldModifiersConfigs && i < heldModifiersConfigs.length && heldModifiersConfigs[i]) {
+ for (const mt of heldModifiersConfigs[i]) {
let modifier: PokemonHeldItemModifier;
if (mt.modifier instanceof PokemonHeldItemModifierType) {
modifier = mt.modifier.newModifier(enemyPokemon);
@@ -3467,15 +3179,13 @@ export default class BattleScene extends SceneBase {
modifier.pokemonId = enemyPokemon.id;
}
modifier.stackCount = mt.stackCount ?? 1;
- modifier.isTransferable =
- mt.isTransferable ?? modifier.isTransferable;
+ modifier.isTransferable = mt.isTransferable ?? modifier.isTransferable;
this.addEnemyModifier(modifier, true);
- });
+ }
} else {
const isBoss =
enemyPokemon.isBoss() ||
- (this.currentBattle.battleType === BattleType.TRAINER &&
- !!this.currentBattle.trainer?.config.isBoss);
+ (this.currentBattle.battleType === BattleType.TRAINER && !!this.currentBattle.trainer?.config.isBoss);
let upgradeChance = 32;
if (isBoss) {
upgradeChance /= 2;
@@ -3495,14 +3205,10 @@ export default class BattleScene extends SceneBase {
getEnemyModifierTypesForWave(
difficultyWaveIndex,
count,
- [ enemyPokemon ],
- this.currentBattle.battleType === BattleType.TRAINER
- ? ModifierPoolType.TRAINER
- : ModifierPoolType.WILD,
+ [enemyPokemon],
+ this.currentBattle.battleType === BattleType.TRAINER ? ModifierPoolType.TRAINER : ModifierPoolType.WILD,
upgradeChance,
- ).map((mt) =>
- mt.newModifier(enemyPokemon).add(this.enemyModifiers, false),
- );
+ ).map(mt => mt.newModifier(enemyPokemon).add(this.enemyModifiers, false));
}
return true;
});
@@ -3515,9 +3221,7 @@ export default class BattleScene extends SceneBase {
* Removes all modifiers from enemy pokemon of {@linkcode PersistentModifier} type
*/
clearEnemyModifiers(): void {
- const modifiersToRemove = this.enemyModifiers.filter(
- (m) => m instanceof PersistentModifier,
- );
+ const modifiersToRemove = this.enemyModifiers.filter(m => m instanceof PersistentModifier);
for (const m of modifiersToRemove) {
this.enemyModifiers.splice(this.enemyModifiers.indexOf(m), 1);
}
@@ -3531,9 +3235,7 @@ export default class BattleScene extends SceneBase {
*/
clearEnemyHeldItemModifiers(pokemon?: Pokemon): void {
const modifiersToRemove = this.enemyModifiers.filter(
- (m) =>
- m instanceof PokemonHeldItemModifier &&
- (!pokemon || m.getPokemon() === pokemon),
+ m => m instanceof PokemonHeldItemModifier && (!pokemon || m.getPokemon() === pokemon),
);
for (const m of modifiersToRemove) {
this.enemyModifiers.splice(this.enemyModifiers.indexOf(m), 1);
@@ -3543,13 +3245,11 @@ export default class BattleScene extends SceneBase {
}
setModifiersVisible(visible: boolean) {
- [ this.modifierBar, this.enemyModifierBar ].map((m) => m.setVisible(visible));
+ [this.modifierBar, this.enemyModifierBar].map(m => m.setVisible(visible));
}
- updateModifiers(player: boolean = true, instant?: boolean): void {
- const modifiers = player
- ? this.modifiers
- : (this.enemyModifiers as PersistentModifier[]);
+ updateModifiers(player = true, instant?: boolean): void {
+ const modifiers = player ? this.modifiers : (this.enemyModifiers as PersistentModifier[]);
for (let m = 0; m < modifiers.length; m++) {
const modifier = modifiers[m];
if (
@@ -3572,22 +3272,17 @@ export default class BattleScene extends SceneBase {
}
}
- this.updatePartyForModifiers(
- player ? this.getPlayerParty() : this.getEnemyParty(),
- instant,
- );
- (player ? this.modifierBar : this.enemyModifierBar).updateModifiers(
- modifiers,
- );
+ this.updatePartyForModifiers(player ? this.getPlayerParty() : this.getEnemyParty(), instant);
+ (player ? this.modifierBar : this.enemyModifierBar).updateModifiers(modifiers);
if (!player) {
this.updateUIPositions();
}
}
updatePartyForModifiers(party: Pokemon[], instant?: boolean): Promise {
- return new Promise((resolve) => {
+ return new Promise(resolve => {
Promise.allSettled(
- party.map((p) => {
+ party.map(p => {
p.calculateStats();
return p.updateInfo(instant);
}),
@@ -3603,10 +3298,7 @@ export default class BattleScene extends SceneBase {
* @param enemy If `true`, remove an item owned by the enemy. If `false`, remove an item owned by the player. Default is `false`.
* @returns `true` if the item exists and was successfully removed, `false` otherwise.
*/
- removeModifier(
- modifier: PersistentModifier,
- enemy: boolean = false,
- ): boolean {
+ removeModifier(modifier: PersistentModifier, enemy = false): boolean {
const modifiers = !enemy ? this.modifiers : this.enemyModifiers;
const modifierIndex = modifiers.indexOf(modifier);
if (modifierIndex > -1) {
@@ -3629,13 +3321,8 @@ export default class BattleScene extends SceneBase {
* @param player Whether to search the player (`true`) or the enemy (`false`); Defaults to `true`
* @returns the list of all modifiers that matched `modifierType`.
*/
- getModifiers(
- modifierType: Constructor,
- player: boolean = true,
- ): T[] {
- return (player ? this.modifiers : this.enemyModifiers).filter(
- (m): m is T => m instanceof modifierType,
- );
+ getModifiers(modifierType: Constructor, player = true): T[] {
+ return (player ? this.modifiers : this.enemyModifiers).filter((m): m is T => m instanceof modifierType);
}
/**
@@ -3644,13 +3331,8 @@ export default class BattleScene extends SceneBase {
* @param isPlayer Whether to search the player (`true`) or the enemy (`false`); Defaults to `true`
* @returns the list of all modifiers that passed the `modifierFilter` function
*/
- findModifiers(
- modifierFilter: ModifierPredicate,
- isPlayer: boolean = true,
- ): PersistentModifier[] {
- return (isPlayer ? this.modifiers : this.enemyModifiers).filter(
- modifierFilter,
- );
+ findModifiers(modifierFilter: ModifierPredicate, isPlayer = true): PersistentModifier[] {
+ return (isPlayer ? this.modifiers : this.enemyModifiers).filter(modifierFilter);
}
/**
@@ -3659,10 +3341,7 @@ export default class BattleScene extends SceneBase {
* @param player Whether to search the player (`true`) or the enemy (`false`); Defaults to `true`
* @returns the first modifier that passed the `modifierFilter` function; `undefined` if none passed
*/
- findModifier(
- modifierFilter: ModifierPredicate,
- player: boolean = true,
- ): PersistentModifier | undefined {
+ findModifier(modifierFilter: ModifierPredicate, player = true): PersistentModifier | undefined {
return (player ? this.modifiers : this.enemyModifiers).find(modifierFilter);
}
@@ -3675,7 +3354,7 @@ export default class BattleScene extends SceneBase {
*/
applyShuffledModifiers(
modifierType: Constructor,
- player: boolean = true,
+ player = true,
...args: Parameters
): T[] {
let modifiers = (player ? this.modifiers : this.enemyModifiers).filter(
@@ -3683,15 +3362,12 @@ export default class BattleScene extends SceneBase {
);
this.executeWithSeedOffset(
() => {
- const shuffleModifiers = (mods) => {
+ const shuffleModifiers = mods => {
if (mods.length < 1) {
return mods;
}
const rand = Utils.randSeedInt(mods.length);
- return [
- mods[rand],
- ...shuffleModifiers(mods.filter((_, i) => i !== rand)),
- ];
+ return [mods[rand], ...shuffleModifiers(mods.filter((_, i) => i !== rand))];
};
modifiers = shuffleModifiers(modifiers);
},
@@ -3710,7 +3386,7 @@ export default class BattleScene extends SceneBase {
*/
applyModifiers(
modifierType: Constructor,
- player: boolean = true,
+ player = true,
...args: Parameters
): T[] {
const modifiers = (player ? this.modifiers : this.enemyModifiers).filter(
@@ -3745,7 +3421,7 @@ export default class BattleScene extends SceneBase {
*/
applyModifier(
modifierType: Constructor,
- player: boolean = true,
+ player = true,
...args: Parameters
): T | null {
const modifiers = (player ? this.modifiers : this.enemyModifiers).filter(
@@ -3764,35 +3440,26 @@ export default class BattleScene extends SceneBase {
triggerPokemonFormChange(
pokemon: Pokemon,
formChangeTriggerType: Constructor,
- delayed: boolean = false,
- modal: boolean = false,
+ delayed = false,
+ modal = false,
): boolean {
if (pokemonFormChanges.hasOwnProperty(pokemon.species.speciesId)) {
// in case this is NECROZMA, determine which forms this
- const matchingFormChangeOpts = pokemonFormChanges[
- pokemon.species.speciesId
- ].filter(
- (fc) => fc.findTrigger(formChangeTriggerType) && fc.canChange(pokemon),
+ const matchingFormChangeOpts = pokemonFormChanges[pokemon.species.speciesId].filter(
+ fc => fc.findTrigger(formChangeTriggerType) && fc.canChange(pokemon),
);
let matchingFormChange: SpeciesFormChange | null;
- if (
- pokemon.species.speciesId === Species.NECROZMA &&
- matchingFormChangeOpts.length > 1
- ) {
+ if (pokemon.species.speciesId === Species.NECROZMA && matchingFormChangeOpts.length > 1) {
// Ultra Necrozma is changing its form back, so we need to figure out into which form it devolves.
const formChangeItemModifiers = (
this.findModifiers(
- (m) =>
- m instanceof PokemonFormChangeItemModifier &&
- m.pokemonId === pokemon.id,
+ m => m instanceof PokemonFormChangeItemModifier && m.pokemonId === pokemon.id,
) as PokemonFormChangeItemModifier[]
)
- .filter((m) => m.active)
- .map((m) => m.formChangeItem);
+ .filter(m => m.active)
+ .map(m => m.formChangeItem);
- matchingFormChange = formChangeItemModifiers.includes(
- FormChangeItem.N_LUNARIZER,
- )
+ matchingFormChange = formChangeItemModifiers.includes(FormChangeItem.N_LUNARIZER)
? matchingFormChangeOpts[0]
: formChangeItemModifiers.includes(FormChangeItem.N_SOLARIZER)
? matchingFormChangeOpts[1]
@@ -3807,11 +3474,7 @@ export default class BattleScene extends SceneBase {
} else {
phase = new QuietFormChangePhase(pokemon, matchingFormChange);
}
- if (
- pokemon instanceof PlayerPokemon &&
- !matchingFormChange.quiet &&
- modal
- ) {
+ if (pokemon instanceof PlayerPokemon && !matchingFormChange.quiet && modal) {
this.overridePhase(phase);
} else if (delayed) {
this.pushPhase(phase);
@@ -3829,13 +3492,9 @@ export default class BattleScene extends SceneBase {
pokemon: Pokemon,
battleAnimType: PokemonAnimType,
fieldAssets?: Phaser.GameObjects.Sprite[],
- delayed: boolean = false,
+ delayed = false,
): boolean {
- const phase: Phase = new PokemonAnimPhase(
- battleAnimType,
- pokemon,
- fieldAssets,
- );
+ const phase: Phase = new PokemonAnimPhase(battleAnimType, pokemon, fieldAssets);
if (delayed) {
this.pushPhase(phase);
} else {
@@ -3845,9 +3504,7 @@ export default class BattleScene extends SceneBase {
}
validateAchvs(achvType: Constructor, ...args: unknown[]): void {
- const filteredAchvs = Object.values(achvs).filter(
- (a) => a instanceof achvType,
- );
+ const filteredAchvs = Object.values(achvs).filter(a => a instanceof achvType);
for (const achv of filteredAchvs) {
this.validateAchv(achv, args);
}
@@ -3855,8 +3512,7 @@ export default class BattleScene extends SceneBase {
validateAchv(achv: Achv, args?: unknown[]): boolean {
if (
- (!this.gameData.achvUnlocks.hasOwnProperty(achv.id) ||
- Overrides.ACHIEVEMENTS_REUNLOCK_OVERRIDE) &&
+ (!this.gameData.achvUnlocks.hasOwnProperty(achv.id) || Overrides.ACHIEVEMENTS_REUNLOCK_OVERRIDE) &&
achv.validate(args)
) {
this.gameData.achvUnlocks[achv.id] = new Date().getTime();
@@ -3871,10 +3527,7 @@ export default class BattleScene extends SceneBase {
}
validateVoucher(voucher: Voucher, args?: unknown[]): boolean {
- if (
- !this.gameData.voucherUnlocks.hasOwnProperty(voucher.id) &&
- voucher.validate(args)
- ) {
+ if (!this.gameData.voucherUnlocks.hasOwnProperty(voucher.id) && voucher.validate(args)) {
this.gameData.voucherUnlocks[voucher.id] = new Date().getTime();
this.ui.achvBar.showAchv(voucher);
this.gameData.voucherCounts[voucher.voucherType]++;
@@ -3891,19 +3544,19 @@ export default class BattleScene extends SceneBase {
biome: this.currentBattle ? getBiomeName(this.arena.biomeType) : "",
wave: this.currentBattle?.waveIndex ?? 0,
party: this.party
- ? this.party.map((p) => {
- return {
- name: p.name,
- form: p.getFormKey(),
- types: p.getTypes().map((type) => Type[type]),
- teraType: Type[p.getTeraType()],
- isTerastallized: p.isTerastallized,
- level: p.level,
- currentHP: p.hp,
- maxHP: p.getMaxHp(),
- status: p.status?.effect ? StatusEffect[p.status.effect] : "",
- };
- })
+ ? this.party.map(p => {
+ return {
+ name: p.name,
+ form: p.getFormKey(),
+ types: p.getTypes().map(type => PokemonType[type]),
+ teraType: PokemonType[p.getTeraType()],
+ isTerastallized: p.isTerastallized,
+ level: p.level,
+ currentHP: p.hp,
+ maxHP: p.getMaxHp(),
+ status: p.status?.effect ? StatusEffect[p.status.effect] : "",
+ };
+ })
: [],
modeChain: this.ui?.getModeChain() ?? [],
};
@@ -3920,7 +3573,7 @@ export default class BattleScene extends SceneBase {
const keys: string[] = [];
let activePokemon: (PlayerPokemon | EnemyPokemon)[] = this.getPlayerParty();
activePokemon = activePokemon.concat(this.getEnemyParty());
- activePokemon.forEach((p) => {
+ for (const p of activePokemon) {
keys.push(p.getSpriteKey(true));
if (p instanceof PlayerPokemon) {
keys.push(p.getBattleSpriteKey(true, true));
@@ -3929,7 +3582,7 @@ export default class BattleScene extends SceneBase {
if (p.fusionSpecies) {
keys.push(p.fusionSpecies.getCryKey(p.fusionFormIndex));
}
- });
+ }
return keys;
}
@@ -3938,34 +3591,23 @@ export default class BattleScene extends SceneBase {
* @param pokemon The (enemy) pokemon
*/
initFinalBossPhaseTwo(pokemon: Pokemon): void {
- if (
- pokemon instanceof EnemyPokemon &&
- pokemon.isBoss() &&
- !pokemon.formIndex &&
- pokemon.bossSegmentIndex < 1
- ) {
+ if (pokemon instanceof EnemyPokemon && pokemon.isBoss() && !pokemon.formIndex && pokemon.bossSegmentIndex < 1) {
this.fadeOutBgm(Utils.fixedInt(2000), false);
this.ui.showDialogue(
battleSpecDialogue[BattleSpec.FINAL_BOSS].firstStageWin,
pokemon.species.name,
undefined,
() => {
- const finalBossMBH = getModifierType(
- modifierTypes.MINI_BLACK_HOLE,
- ).newModifier(pokemon) as TurnHeldItemTransferModifier;
+ const finalBossMBH = getModifierType(modifierTypes.MINI_BLACK_HOLE).newModifier(
+ pokemon,
+ ) as TurnHeldItemTransferModifier;
finalBossMBH.setTransferrableFalse();
this.addEnemyModifier(finalBossMBH, false, true);
pokemon.generateAndPopulateMoveset(1);
this.setFieldScale(0.75);
- this.triggerPokemonFormChange(
- pokemon,
- SpeciesFormChangeManualTrigger,
- false,
- );
+ this.triggerPokemonFormChange(pokemon, SpeciesFormChangeManualTrigger, false);
this.currentBattle.double = true;
- const availablePartyMembers = this.getPlayerParty().filter((p) =>
- p.isAllowedInBattle(),
- );
+ const availablePartyMembers = this.getPlayerParty().filter(p => p.isAllowedInBattle());
if (availablePartyMembers.length > 1) {
this.pushPhase(new ToggleDoublePositionPhase(true));
if (!availablePartyMembers[1].isOnField()) {
@@ -3995,22 +3637,15 @@ export default class BattleScene extends SceneBase {
useWaveIndexMultiplier?: boolean,
pokemonParticipantIds?: Set,
): void {
- const participantIds =
- pokemonParticipantIds ?? this.currentBattle.playerParticipantIds;
+ const participantIds = pokemonParticipantIds ?? this.currentBattle.playerParticipantIds;
const party = this.getPlayerParty();
- const expShareModifier = this.findModifier(
- (m) => m instanceof ExpShareModifier,
- ) as ExpShareModifier;
- const expBalanceModifier = this.findModifier(
- (m) => m instanceof ExpBalanceModifier,
- ) as ExpBalanceModifier;
+ const expShareModifier = this.findModifier(m => m instanceof ExpShareModifier) as ExpShareModifier;
+ const expBalanceModifier = this.findModifier(m => m instanceof ExpBalanceModifier) as ExpBalanceModifier;
const multipleParticipantExpBonusModifier = this.findModifier(
- (m) => m instanceof MultipleParticipantExpBonusModifier,
+ m => m instanceof MultipleParticipantExpBonusModifier,
) as MultipleParticipantExpBonusModifier;
- const nonFaintedPartyMembers = party.filter((p) => p.hp);
- const expPartyMembers = nonFaintedPartyMembers.filter(
- (p) => p.level < this.getMaxExpLevel(),
- );
+ const nonFaintedPartyMembers = party.filter(p => p.hp);
+ const expPartyMembers = nonFaintedPartyMembers.filter(p => p.level < this.getMaxExpLevel());
const partyMemberExp: number[] = [];
// EXP value calculation is based off Pokemon.getExpValue
if (useWaveIndexMultiplier) {
@@ -4020,31 +3655,19 @@ export default class BattleScene extends SceneBase {
if (participantIds.size > 0) {
if (
this.currentBattle.battleType === BattleType.TRAINER ||
- this.currentBattle.mysteryEncounter?.encounterMode ===
- MysteryEncounterMode.TRAINER_BATTLE
+ this.currentBattle.mysteryEncounter?.encounterMode === MysteryEncounterMode.TRAINER_BATTLE
) {
expValue = Math.floor(expValue * 1.5);
- } else if (
- this.currentBattle.isBattleMysteryEncounter() &&
- this.currentBattle.mysteryEncounter
- ) {
- expValue = Math.floor(
- expValue * this.currentBattle.mysteryEncounter.expMultiplier,
- );
+ } else if (this.currentBattle.isBattleMysteryEncounter() && this.currentBattle.mysteryEncounter) {
+ expValue = Math.floor(expValue * this.currentBattle.mysteryEncounter.expMultiplier);
}
for (const partyMember of nonFaintedPartyMembers) {
const pId = partyMember.id;
const participated = participantIds.has(pId);
if (participated && pokemonDefeated) {
partyMember.addFriendship(FRIENDSHIP_GAIN_FROM_BATTLE);
- const machoBraceModifier = partyMember
- .getHeldItems()
- .find((m) => m instanceof PokemonIncrementingStatModifier);
- if (
- machoBraceModifier &&
- machoBraceModifier.stackCount <
- machoBraceModifier.getMaxStackCount()
- ) {
+ const machoBraceModifier = partyMember.getHeldItems().find(m => m instanceof PokemonIncrementingStatModifier);
+ if (machoBraceModifier && machoBraceModifier.stackCount < machoBraceModifier.getMaxStackCount()) {
machoBraceModifier.stackCount++;
this.updateModifiers(true, true);
partyMember.updateInfo();
@@ -4061,12 +3684,10 @@ export default class BattleScene extends SceneBase {
if (participated) {
expMultiplier += 1 / participantIds.size;
if (participantIds.size > 1 && multipleParticipantExpBonusModifier) {
- expMultiplier +=
- multipleParticipantExpBonusModifier.getStackCount() * 0.2;
+ expMultiplier += multipleParticipantExpBonusModifier.getStackCount() * 0.2;
}
} else if (expShareModifier) {
- expMultiplier +=
- (expShareModifier.getStackCount() * 0.2) / participantIds.size;
+ expMultiplier += (expShareModifier.getStackCount() * 0.2) / participantIds.size;
}
if (partyMember.pokerus) {
expMultiplier *= 1.5;
@@ -4075,12 +3696,7 @@ export default class BattleScene extends SceneBase {
expMultiplier = Overrides.XP_MULTIPLIER_OVERRIDE;
}
const pokemonExp = new Utils.NumberHolder(expValue * expMultiplier);
- this.applyModifiers(
- PokemonExpBoosterModifier,
- true,
- partyMember,
- pokemonExp,
- );
+ this.applyModifiers(PokemonExpBoosterModifier, true, partyMember, pokemonExp);
partyMemberExp.push(Math.floor(pokemonExp.value));
}
@@ -4101,9 +3717,7 @@ export default class BattleScene extends SceneBase {
}
});
- const splitExp = Math.floor(
- totalExp / recipientExpPartyMemberIndexes.length,
- );
+ const splitExp = Math.floor(totalExp / recipientExpPartyMemberIndexes.length);
expPartyMembers.forEach((_partyMember, pm) => {
partyMemberExp[pm] = Phaser.Math.Linear(
@@ -4134,12 +3748,8 @@ export default class BattleScene extends SceneBase {
* Even if returns `true`, does not guarantee that a wave will actually be a ME.
* That check is made in {@linkcode BattleScene.isWaveMysteryEncounter} instead.
*/
- isMysteryEncounterValidForWave(
- battleType: BattleType,
- waveIndex: number,
- ): boolean {
- const [ lowestMysteryEncounterWave, highestMysteryEncounterWave ] =
- this.gameMode.getMysteryEncounterLegalWaves();
+ isMysteryEncounterValidForWave(battleType: BattleType, waveIndex: number): boolean {
+ const [lowestMysteryEncounterWave, highestMysteryEncounterWave] = this.gameMode.getMysteryEncounterLegalWaves();
return (
this.gameMode.hasMysteryEncounters &&
battleType === BattleType.WILD &&
@@ -4156,45 +3766,32 @@ export default class BattleScene extends SceneBase {
* @param newBattleType
* @param waveIndex
*/
- private isWaveMysteryEncounter(
- newBattleType: BattleType,
- waveIndex: number,
- ): boolean {
- const [ lowestMysteryEncounterWave, highestMysteryEncounterWave ] =
- this.gameMode.getMysteryEncounterLegalWaves();
+ private isWaveMysteryEncounter(newBattleType: BattleType, waveIndex: number): boolean {
+ const [lowestMysteryEncounterWave, highestMysteryEncounterWave] = this.gameMode.getMysteryEncounterLegalWaves();
if (this.isMysteryEncounterValidForWave(newBattleType, waveIndex)) {
// Base spawn weight is BASE_MYSTERY_ENCOUNTER_SPAWN_WEIGHT/256, and increases by WEIGHT_INCREMENT_ON_SPAWN_MISS/256 for each missed attempt at spawning an encounter on a valid floor
- const sessionEncounterRate =
- this.mysteryEncounterSaveData.encounterSpawnChance;
+ const sessionEncounterRate = this.mysteryEncounterSaveData.encounterSpawnChance;
const encounteredEvents = this.mysteryEncounterSaveData.encounteredEvents;
// If total number of encounters is lower than expected for the run, slightly favor a new encounter spawn (reverse as well)
// Reduces occurrence of runs with total encounters significantly different from AVERAGE_ENCOUNTERS_PER_RUN_TARGET
// Favored rate changes can never exceed 50%. So if base rate is 15/256 and favored rate would add 200/256, result will be (15 + 128)/256
const expectedEncountersByFloor =
- (AVERAGE_ENCOUNTERS_PER_RUN_TARGET /
- (highestMysteryEncounterWave - lowestMysteryEncounterWave)) *
+ (AVERAGE_ENCOUNTERS_PER_RUN_TARGET / (highestMysteryEncounterWave - lowestMysteryEncounterWave)) *
(waveIndex - lowestMysteryEncounterWave);
- const currentRunDiffFromAvg =
- expectedEncountersByFloor - encounteredEvents.length;
+ const currentRunDiffFromAvg = expectedEncountersByFloor - encounteredEvents.length;
const favoredEncounterRate =
sessionEncounterRate +
- Math.min(
- currentRunDiffFromAvg * ANTI_VARIANCE_WEIGHT_MODIFIER,
- MYSTERY_ENCOUNTER_SPAWN_MAX_WEIGHT / 2,
- );
+ Math.min(currentRunDiffFromAvg * ANTI_VARIANCE_WEIGHT_MODIFIER, MYSTERY_ENCOUNTER_SPAWN_MAX_WEIGHT / 2);
- const successRate = isNullOrUndefined(
- Overrides.MYSTERY_ENCOUNTER_RATE_OVERRIDE,
- )
+ const successRate = isNullOrUndefined(Overrides.MYSTERY_ENCOUNTER_RATE_OVERRIDE)
? favoredEncounterRate
: Overrides.MYSTERY_ENCOUNTER_RATE_OVERRIDE!;
// If the most recent ME was 3 or fewer waves ago, can never spawn a ME
const canSpawn =
encounteredEvents.length === 0 ||
- waveIndex - encounteredEvents[encounteredEvents.length - 1].waveIndex >
- 3 ||
+ waveIndex - encounteredEvents[encounteredEvents.length - 1].waveIndex > 3 ||
!isNullOrUndefined(Overrides.MYSTERY_ENCOUNTER_RATE_OVERRIDE);
if (canSpawn) {
@@ -4219,10 +3816,7 @@ export default class BattleScene extends SceneBase {
* @param canBypass optional boolean to indicate that the request is coming from a function that needs to access a Mystery Encounter outside of gameplay requirements
* @returns
*/
- getMysteryEncounter(
- encounterType?: MysteryEncounterType,
- canBypass?: boolean,
- ): MysteryEncounter {
+ getMysteryEncounter(encounterType?: MysteryEncounterType, canBypass?: boolean): MysteryEncounter {
// Loading override or session encounter
let encounter: MysteryEncounter | null;
if (
@@ -4237,9 +3831,7 @@ export default class BattleScene extends SceneBase {
encounter = allMysteryEncounters[encounterType ?? -1];
return encounter;
} else {
- encounter = !isNullOrUndefined(encounterType)
- ? allMysteryEncounters[encounterType]
- : null;
+ encounter = !isNullOrUndefined(encounterType) ? allMysteryEncounters[encounterType] : null;
}
// Check for queued encounters first
@@ -4249,10 +3841,7 @@ export default class BattleScene extends SceneBase {
this.mysteryEncounterSaveData.queuedEncounters.length > 0
) {
let i = 0;
- while (
- i < this.mysteryEncounterSaveData.queuedEncounters.length &&
- !!encounter
- ) {
+ while (i < this.mysteryEncounterSaveData.queuedEncounters.length && !!encounter) {
const candidate = this.mysteryEncounterSaveData.queuedEncounters[i];
const forcedChance = candidate.spawnPercent;
if (Utils.randSeedInt(100) < forcedChance) {
@@ -4278,22 +3867,20 @@ export default class BattleScene extends SceneBase {
];
// Adjust tier weights by previously encountered events to lower odds of only Common/Great in run
- this.mysteryEncounterSaveData.encounteredEvents.forEach(
- (seenEncounterData) => {
- if (seenEncounterData.tier === MysteryEncounterTier.COMMON) {
- tierWeights[0] = tierWeights[0] - 6;
- } else if (seenEncounterData.tier === MysteryEncounterTier.GREAT) {
- tierWeights[1] = tierWeights[1] - 4;
- }
- },
- );
+ // biome-ignore format: biome sucks at formatting this line
+ for (const seenEncounterData of this.mysteryEncounterSaveData.encounteredEvents) {
+ if (seenEncounterData.tier === MysteryEncounterTier.COMMON) {
+ tierWeights[0] = tierWeights[0] - 6;
+ } else if (seenEncounterData.tier === MysteryEncounterTier.GREAT) {
+ tierWeights[1] = tierWeights[1] - 4;
+ }
+ }
const totalWeight = tierWeights.reduce((a, b) => a + b);
const tierValue = Utils.randSeedInt(totalWeight);
const commonThreshold = totalWeight - tierWeights[0];
const greatThreshold = totalWeight - tierWeights[0] - tierWeights[1];
- const ultraThreshold =
- totalWeight - tierWeights[0] - tierWeights[1] - tierWeights[2];
+ const ultraThreshold = totalWeight - tierWeights[0] - tierWeights[1] - tierWeights[2];
let tier: MysteryEncounterTier | null =
tierValue > commonThreshold
? MysteryEncounterTier.COMMON
@@ -4310,29 +3897,22 @@ export default class BattleScene extends SceneBase {
let availableEncounters: MysteryEncounter[] = [];
const previousEncounter =
this.mysteryEncounterSaveData.encounteredEvents.length > 0
- ? this.mysteryEncounterSaveData.encounteredEvents[
- this.mysteryEncounterSaveData.encounteredEvents.length - 1
- ].type
+ ? this.mysteryEncounterSaveData.encounteredEvents[this.mysteryEncounterSaveData.encounteredEvents.length - 1]
+ .type
: null;
- const disabledEncounters =
- this.eventManager.getEventMysteryEncountersDisabled();
+ const disabledEncounters = this.eventManager.getEventMysteryEncountersDisabled();
const biomeMysteryEncounters =
- mysteryEncountersByBiome
- .get(this.arena.biomeType)
- ?.filter((enc) => !disabledEncounters.includes(enc)) ?? [];
+ mysteryEncountersByBiome.get(this.arena.biomeType)?.filter(enc => !disabledEncounters.includes(enc)) ?? [];
// If no valid encounters exist at tier, checks next tier down, continuing until there are some encounters available
while (availableEncounters.length === 0 && tier !== null) {
availableEncounters = biomeMysteryEncounters
- .filter((encounterType) => {
+ .filter(encounterType => {
const encounterCandidate = allMysteryEncounters[encounterType];
if (!encounterCandidate) {
return false;
}
if (
- this.eventManager.getMysteryEncounterTierForEvent(
- encounterType,
- encounterCandidate.encounterTier,
- ) !== tier
+ this.eventManager.getMysteryEncounterTierForEvent(encounterType, encounterCandidate.encounterTier) !== tier
) {
return false;
}
@@ -4345,14 +3925,11 @@ export default class BattleScene extends SceneBase {
return false;
}
if (this.gameMode.modeId === GameModes.CHALLENGE) {
- const disallowedChallenges =
- encounterCandidate.disallowedChallenges;
+ const disallowedChallenges = encounterCandidate.disallowedChallenges;
if (
disallowedChallenges &&
disallowedChallenges.length > 0 &&
- this.gameMode.challenges.some((challenge) =>
- disallowedChallenges.includes(challenge.id),
- )
+ this.gameMode.challenges.some(challenge => disallowedChallenges.includes(challenge.id))
) {
return false;
}
@@ -4360,25 +3937,21 @@ export default class BattleScene extends SceneBase {
if (!encounterCandidate.meetsRequirements()) {
return false;
}
- if (
- previousEncounter !== null &&
- encounterType === previousEncounter
- ) {
+ if (previousEncounter !== null && encounterType === previousEncounter) {
return false;
}
if (
this.mysteryEncounterSaveData.encounteredEvents.length > 0 &&
encounterCandidate.maxAllowedEncounters &&
encounterCandidate.maxAllowedEncounters > 0 &&
- this.mysteryEncounterSaveData.encounteredEvents.filter(
- (e) => e.type === encounterType,
- ).length >= encounterCandidate.maxAllowedEncounters
+ this.mysteryEncounterSaveData.encounteredEvents.filter(e => e.type === encounterType).length >=
+ encounterCandidate.maxAllowedEncounters
) {
return false;
}
return true;
})
- .map((m) => allMysteryEncounters[m]);
+ .map(m => allMysteryEncounters[m]);
// Decrement tier
if (tier === MysteryEncounterTier.ROGUE) {
tier = MysteryEncounterTier.ULTRA;
@@ -4393,13 +3966,10 @@ export default class BattleScene extends SceneBase {
// If absolutely no encounters are available, spawn 0th encounter
if (availableEncounters.length === 0) {
- console.log(
- "No Mystery Encounters found, falling back to Mysterious Challengers.",
- );
+ console.log("No Mystery Encounters found, falling back to Mysterious Challengers.");
return allMysteryEncounters[MysteryEncounterType.MYSTERIOUS_CHALLENGERS];
}
- encounter =
- availableEncounters[Utils.randSeedInt(availableEncounters.length)];
+ encounter = availableEncounters[Utils.randSeedInt(availableEncounters.length)];
// New encounter object to not dirty flags
encounter = new MysteryEncounter(encounter);
encounter.populateDialogueTokensFromRequirements();
diff --git a/src/battle.ts b/src/battle.ts
index 242954a3729..5ada921bf5a 100644
--- a/src/battle.ts
+++ b/src/battle.ts
@@ -50,7 +50,7 @@ export enum BattleType {
WILD,
TRAINER,
CLEAR,
- MYSTERY_ENCOUNTER
+ MYSTERY_ENCOUNTER,
}
export enum BattlerIndex {
@@ -58,25 +58,25 @@ export enum BattlerIndex {
PLAYER,
PLAYER_2,
ENEMY,
- ENEMY_2
+ ENEMY_2,
}
export interface TurnCommand {
- command: Command;
- cursor?: number;
- move?: TurnMove;
- targets?: BattlerIndex[];
- skip?: boolean;
- args?: any[];
+ command: Command;
+ cursor?: number;
+ move?: TurnMove;
+ targets?: BattlerIndex[];
+ skip?: boolean;
+ args?: any[];
}
export interface FaintLogEntry {
- pokemon: Pokemon,
- turn: number
+ pokemon: Pokemon;
+ turn: number;
}
interface TurnCommands {
- [key: number]: TurnCommand | null
+ [key: number]: TurnCommand | null;
}
export default class Battle {
@@ -89,19 +89,19 @@ export default class Battle {
public enemyParty: EnemyPokemon[] = [];
public seenEnemyPartyMemberIds: Set = new Set();
public double: boolean;
- public started: boolean = false;
- public enemySwitchCounter: number = 0;
- public turn: number = 0;
+ public started = false;
+ public enemySwitchCounter = 0;
+ public turn = 0;
public preTurnCommands: TurnCommands;
public turnCommands: TurnCommands;
public playerParticipantIds: Set = new Set();
- public battleScore: number = 0;
+ public battleScore = 0;
public postBattleLoot: PokemonHeldItemModifier[] = [];
- public escapeAttempts: number = 0;
+ public escapeAttempts = 0;
public lastMove: Moves;
public battleSeed: string = Utils.randomString(16, true);
private battleSeedState: string | null = null;
- public moneyScattered: number = 0;
+ public moneyScattered = 0;
/** Primarily for double battles, keeps track of last enemy and player pokemon that triggered its ability or used a move */
public lastEnemyInvolved: number;
public lastPlayerInvolved: number;
@@ -111,7 +111,7 @@ export default class Battle {
* This is saved here since we encounter a new enemy every wave.
* {@linkcode globalScene.arena.playerFaints} is the corresponding faint counter for the player and needs to be save across waves (reset every arena encounter).
*/
- public enemyFaints: number = 0;
+ public enemyFaints = 0;
public playerFaintsHistory: FaintLogEntry[] = [];
public enemyFaintsHistory: FaintLogEntry[] = [];
@@ -119,17 +119,18 @@ export default class Battle {
/** If the current battle is a Mystery Encounter, this will always be defined */
public mysteryEncounter?: MysteryEncounter;
- private rngCounter: number = 0;
+ private rngCounter = 0;
- constructor(gameMode: GameMode, waveIndex: number, battleType: BattleType, trainer?: Trainer, double: boolean = false) {
+ constructor(gameMode: GameMode, waveIndex: number, battleType: BattleType, trainer?: Trainer, double = false) {
this.gameMode = gameMode;
this.waveIndex = waveIndex;
this.battleType = battleType;
this.trainer = trainer ?? null;
this.initBattleSpec();
- this.enemyLevels = battleType !== BattleType.TRAINER
- ? new Array(double ? 2 : 1).fill(null).map(() => this.getLevelForWave())
- : trainer?.getPartyLevels(this.waveIndex);
+ this.enemyLevels =
+ battleType !== BattleType.TRAINER
+ ? new Array(double ? 2 : 1).fill(null).map(() => this.getLevelForWave())
+ : trainer?.getPartyLevels(this.waveIndex);
this.double = double;
}
@@ -180,8 +181,8 @@ export default class Battle {
incrementTurn(): void {
this.turn++;
- this.turnCommands = Object.fromEntries(Utils.getEnumValues(BattlerIndex).map(bt => [ bt, null ]));
- this.preTurnCommands = Object.fromEntries(Utils.getEnumValues(BattlerIndex).map(bt => [ bt, null ]));
+ this.turnCommands = Object.fromEntries(Utils.getEnumValues(BattlerIndex).map(bt => [bt, null]));
+ this.preTurnCommands = Object.fromEntries(Utils.getEnumValues(BattlerIndex).map(bt => [bt, null]));
this.battleSeedState = null;
}
@@ -194,12 +195,19 @@ export default class Battle {
}
addPostBattleLoot(enemyPokemon: EnemyPokemon): void {
- this.postBattleLoot.push(...globalScene.findModifiers(m => m instanceof PokemonHeldItemModifier && m.pokemonId === enemyPokemon.id && m.isTransferable, false).map(i => {
- const ret = i as PokemonHeldItemModifier;
- //@ts-ignore - this is awful to fix/change
- ret.pokemonId = null;
- return ret;
- }));
+ this.postBattleLoot.push(
+ ...globalScene
+ .findModifiers(
+ m => m instanceof PokemonHeldItemModifier && m.pokemonId === enemyPokemon.id && m.isTransferable,
+ false,
+ )
+ .map(i => {
+ const ret = i as PokemonHeldItemModifier;
+ //@ts-ignore - this is awful to fix/change
+ ret.pokemonId = null;
+ return ret;
+ }),
+ );
}
pickUpScatteredMoney(): void {
@@ -214,7 +222,9 @@ export default class Battle {
const userLocale = navigator.language || "en-US";
const formattedMoneyAmount = moneyAmount.value.toLocaleString(userLocale);
- const message = i18next.t("battle:moneyPickedUp", { moneyAmount: formattedMoneyAmount });
+ const message = i18next.t("battle:moneyPickedUp", {
+ moneyAmount: formattedMoneyAmount,
+ });
globalScene.queueMessage(message, undefined, true);
globalScene.currentBattle.moneyScattered = 0;
@@ -227,13 +237,17 @@ export default class Battle {
}
for (const p of globalScene.getEnemyParty()) {
if (p.isBoss()) {
- partyMemberTurnMultiplier *= (p.bossSegments / 1.5) / globalScene.getEnemyParty().length;
+ partyMemberTurnMultiplier *= p.bossSegments / 1.5 / globalScene.getEnemyParty().length;
}
}
- const turnMultiplier = Phaser.Tweens.Builders.GetEaseFunction("Sine.easeIn")(1 - Math.min(this.turn - 2, 10 * partyMemberTurnMultiplier) / (10 * partyMemberTurnMultiplier));
+ const turnMultiplier = Phaser.Tweens.Builders.GetEaseFunction("Sine.easeIn")(
+ 1 - Math.min(this.turn - 2, 10 * partyMemberTurnMultiplier) / (10 * partyMemberTurnMultiplier),
+ );
const finalBattleScore = Math.ceil(this.battleScore * turnMultiplier);
globalScene.score += finalBattleScore;
- console.log(`Battle Score: ${finalBattleScore} (${this.turn - 1} Turns x${Math.floor(turnMultiplier * 100) / 100})`);
+ console.log(
+ `Battle Score: ${finalBattleScore} (${this.turn - 1} Turns x${Math.floor(turnMultiplier * 100) / 100})`,
+ );
console.log(`Total Score: ${globalScene.score}`);
globalScene.updateScoreText();
}
@@ -243,16 +257,20 @@ export default class Battle {
// Music is overridden for MEs during ME onInit()
// Should not use any BGM overrides before swapping from DEFAULT mode
return null;
- } else if (this.battleType === BattleType.TRAINER || this.mysteryEncounter?.encounterMode === MysteryEncounterMode.TRAINER_BATTLE) {
+ }
+ if (
+ this.battleType === BattleType.TRAINER ||
+ this.mysteryEncounter?.encounterMode === MysteryEncounterMode.TRAINER_BATTLE
+ ) {
if (!this.started && this.trainer?.config.encounterBgm && this.trainer?.getEncounterMessages()?.length) {
return `encounter_${this.trainer?.getEncounterBgm()}`;
}
if (globalScene.musicPreference === MusicPreference.GENFIVE) {
return this.trainer?.getBattleBgm() ?? null;
- } else {
- return this.trainer?.getMixedBattleBgm() ?? null;
}
- } else if (this.gameMode.isClassic && this.waveIndex > 195 && this.battleSpec !== BattleSpec.FINAL_BOSS) {
+ return this.trainer?.getMixedBattleBgm() ?? null;
+ }
+ if (this.gameMode.isClassic && this.waveIndex > 195 && this.battleSpec !== BattleSpec.FINAL_BOSS) {
return "end_summit";
}
const wildOpponents = globalScene.getEnemyParty();
@@ -281,7 +299,8 @@ export default class Battle {
}
return "battle_legendary_unova";
}
- } else if (globalScene.musicPreference === MusicPreference.ALLGENS) {
+ }
+ if (globalScene.musicPreference === MusicPreference.ALLGENS) {
switch (pokemon.species.speciesId) {
case Species.ARTICUNO:
case Species.ZAPDOS:
@@ -434,7 +453,7 @@ export default class Battle {
* @param min The minimum integer to pick, default `0`
* @returns A random integer between {@linkcode min} and ({@linkcode min} + {@linkcode range} - 1)
*/
- randSeedInt(range: number, min: number = 0): number {
+ randSeedInt(range: number, min = 0): number {
if (range <= 1) {
return min;
}
@@ -444,7 +463,7 @@ export default class Battle {
if (this.battleSeedState) {
Phaser.Math.RND.state(this.battleSeedState);
} else {
- Phaser.Math.RND.sow([ Utils.shiftCharCodes(this.battleSeed, this.turn << 6) ]);
+ Phaser.Math.RND.sow([Utils.shiftCharCodes(this.battleSeed, this.turn << 6)]);
console.log("Battle Seed:", this.battleSeed);
}
globalScene.rngCounter = this.rngCounter++;
@@ -467,7 +486,13 @@ export default class Battle {
export class FixedBattle extends Battle {
constructor(waveIndex: number, config: FixedBattleConfig) {
- super(globalScene.gameMode, waveIndex, config.battleType, config.battleType === BattleType.TRAINER ? config.getTrainer() : undefined, config.double);
+ super(
+ globalScene.gameMode,
+ waveIndex,
+ config.battleType,
+ config.battleType === BattleType.TRAINER ? config.getTrainer() : undefined,
+ config.double,
+ );
if (config.getEnemyParty) {
this.enemyParty = config.getEnemyParty();
}
@@ -516,7 +541,6 @@ export class FixedBattleConfig {
}
}
-
/**
* Helper function to generate a random trainer for evil team trainers and the elite 4/champion
* @param trainerPool The TrainerType or list of TrainerTypes that can possibly be generated
@@ -524,31 +548,44 @@ export class FixedBattleConfig {
* @param seedOffset the seed offset to use for the random generation of the trainer
* @returns the generated trainer
*/
-export function getRandomTrainerFunc(trainerPool: (TrainerType | TrainerType[])[], randomGender: boolean = false, seedOffset: number = 0): GetTrainerFunc {
+export function getRandomTrainerFunc(
+ trainerPool: (TrainerType | TrainerType[])[],
+ randomGender = false,
+ seedOffset = 0,
+): GetTrainerFunc {
return () => {
const rand = Utils.randSeedInt(trainerPool.length);
const trainerTypes: TrainerType[] = [];
globalScene.executeWithSeedOffset(() => {
for (const trainerPoolEntry of trainerPool) {
- const trainerType = Array.isArray(trainerPoolEntry)
- ? Utils.randSeedItem(trainerPoolEntry)
- : trainerPoolEntry;
+ const trainerType = Array.isArray(trainerPoolEntry) ? Utils.randSeedItem(trainerPoolEntry) : trainerPoolEntry;
trainerTypes.push(trainerType);
}
}, seedOffset);
let trainerGender = TrainerVariant.DEFAULT;
if (randomGender) {
- trainerGender = (Utils.randInt(2) === 0) ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT;
+ trainerGender = Utils.randInt(2) === 0 ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT;
}
/* 1/3 chance for evil team grunts to be double battles */
- const evilTeamGrunts = [ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT, TrainerType.AETHER_GRUNT, TrainerType.SKULL_GRUNT, TrainerType.MACRO_GRUNT, TrainerType.STAR_GRUNT ];
+ const evilTeamGrunts = [
+ TrainerType.ROCKET_GRUNT,
+ TrainerType.MAGMA_GRUNT,
+ TrainerType.AQUA_GRUNT,
+ TrainerType.GALACTIC_GRUNT,
+ TrainerType.PLASMA_GRUNT,
+ TrainerType.FLARE_GRUNT,
+ TrainerType.AETHER_GRUNT,
+ TrainerType.SKULL_GRUNT,
+ TrainerType.MACRO_GRUNT,
+ TrainerType.STAR_GRUNT,
+ ];
const isEvilTeamGrunt = evilTeamGrunts.includes(trainerTypes[rand]);
if (trainerConfigs[trainerTypes[rand]].hasDouble && isEvilTeamGrunt) {
- return new Trainer(trainerTypes[rand], (Utils.randInt(3) === 0) ? TrainerVariant.DOUBLE : trainerGender);
+ return new Trainer(trainerTypes[rand], Utils.randInt(3) === 0 ? TrainerVariant.DOUBLE : trainerGender);
}
return new Trainer(trainerTypes[rand], trainerGender);
@@ -556,7 +593,7 @@ export function getRandomTrainerFunc(trainerPool: (TrainerType | TrainerType[])[
}
export interface FixedBattleConfigs {
- [key: number]: FixedBattleConfig
+ [key: number]: FixedBattleConfig;
}
/**
* Youngster/Lass on 5
@@ -568,51 +605,355 @@ export interface FixedBattleConfigs {
* Champion on 190
*/
export const classicFixedBattles: FixedBattleConfigs = {
- [ClassicFixedBossWaves.TOWN_YOUNGSTER]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
- .setGetTrainerFunc(() => new Trainer(TrainerType.YOUNGSTER, Utils.randSeedInt(2) ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)),
- [ClassicFixedBossWaves.RIVAL_1]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
- .setGetTrainerFunc(() => new Trainer(TrainerType.RIVAL, globalScene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)),
- [ClassicFixedBossWaves.RIVAL_2]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
- .setGetTrainerFunc(() => new Trainer(TrainerType.RIVAL_2, globalScene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT))
- .setCustomModifierRewards({ guaranteedModifierTiers: [ ModifierTier.ULTRA, ModifierTier.GREAT, ModifierTier.GREAT ], allowLuckUpgrades: false }),
- [ClassicFixedBossWaves.EVIL_GRUNT_1]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
- .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT, TrainerType.AETHER_GRUNT, TrainerType.SKULL_GRUNT, TrainerType.MACRO_GRUNT, TrainerType.STAR_GRUNT ], true)),
- [ClassicFixedBossWaves.RIVAL_3]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
- .setGetTrainerFunc(() => new Trainer(TrainerType.RIVAL_3, globalScene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT))
- .setCustomModifierRewards({ guaranteedModifierTiers: [ ModifierTier.ULTRA, ModifierTier.ULTRA, ModifierTier.GREAT, ModifierTier.GREAT ], allowLuckUpgrades: false }),
- [ClassicFixedBossWaves.EVIL_GRUNT_2]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(ClassicFixedBossWaves.EVIL_GRUNT_1)
- .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT, TrainerType.AETHER_GRUNT, TrainerType.SKULL_GRUNT, TrainerType.MACRO_GRUNT, TrainerType.STAR_GRUNT ], true)),
- [ClassicFixedBossWaves.EVIL_GRUNT_3]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(ClassicFixedBossWaves.EVIL_GRUNT_1)
- .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT, TrainerType.AETHER_GRUNT, TrainerType.SKULL_GRUNT, TrainerType.MACRO_GRUNT, TrainerType.STAR_GRUNT ], true)),
- [ClassicFixedBossWaves.EVIL_ADMIN_1]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(ClassicFixedBossWaves.EVIL_GRUNT_1)
- .setGetTrainerFunc(getRandomTrainerFunc([[ TrainerType.ARCHER, TrainerType.ARIANA, TrainerType.PROTON, TrainerType.PETREL ], [ TrainerType.TABITHA, TrainerType.COURTNEY ], [ TrainerType.MATT, TrainerType.SHELLY ], [ TrainerType.JUPITER, TrainerType.MARS, TrainerType.SATURN ], [ TrainerType.ZINZOLIN, TrainerType.COLRESS ], [ TrainerType.XEROSIC, TrainerType.BRYONY ], TrainerType.FABA, TrainerType.PLUMERIA, TrainerType.OLEANA, [ TrainerType.GIACOMO, TrainerType.MELA, TrainerType.ATTICUS, TrainerType.ORTEGA, TrainerType.ERI ]], true)),
- [ClassicFixedBossWaves.RIVAL_4]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
- .setGetTrainerFunc(() => new Trainer(TrainerType.RIVAL_4, globalScene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT))
- .setCustomModifierRewards({ guaranteedModifierTiers: [ ModifierTier.ULTRA, ModifierTier.ULTRA, ModifierTier.ULTRA, ModifierTier.ULTRA ], allowLuckUpgrades: false }),
- [ClassicFixedBossWaves.EVIL_GRUNT_4]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(ClassicFixedBossWaves.EVIL_GRUNT_1)
- .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT, TrainerType.AETHER_GRUNT, TrainerType.SKULL_GRUNT, TrainerType.MACRO_GRUNT, TrainerType.STAR_GRUNT ], true)),
- [ClassicFixedBossWaves.EVIL_ADMIN_2]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(ClassicFixedBossWaves.EVIL_GRUNT_1)
- .setGetTrainerFunc(getRandomTrainerFunc([[ TrainerType.ARCHER, TrainerType.ARIANA, TrainerType.PROTON, TrainerType.PETREL ], [ TrainerType.TABITHA, TrainerType.COURTNEY ], [ TrainerType.MATT, TrainerType.SHELLY ], [ TrainerType.JUPITER, TrainerType.MARS, TrainerType.SATURN ], [ TrainerType.ZINZOLIN, TrainerType.COLRESS ], [ TrainerType.XEROSIC, TrainerType.BRYONY ], TrainerType.FABA, TrainerType.PLUMERIA, TrainerType.OLEANA, [ TrainerType.GIACOMO, TrainerType.MELA, TrainerType.ATTICUS, TrainerType.ORTEGA, TrainerType.ERI ]], true, 1)),
- [ClassicFixedBossWaves.EVIL_BOSS_1]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(ClassicFixedBossWaves.EVIL_GRUNT_1)
- .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_BOSS_GIOVANNI_1, TrainerType.MAXIE, TrainerType.ARCHIE, TrainerType.CYRUS, TrainerType.GHETSIS, TrainerType.LYSANDRE, TrainerType.LUSAMINE, TrainerType.GUZMA, TrainerType.ROSE, TrainerType.PENNY ]))
- .setCustomModifierRewards({ guaranteedModifierTiers: [ ModifierTier.ROGUE, ModifierTier.ROGUE, ModifierTier.ULTRA, ModifierTier.ULTRA, ModifierTier.ULTRA ], allowLuckUpgrades: false }),
- [ClassicFixedBossWaves.RIVAL_5]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
- .setGetTrainerFunc(() => new Trainer(TrainerType.RIVAL_5, globalScene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT))
- .setCustomModifierRewards({ guaranteedModifierTiers: [ ModifierTier.ROGUE, ModifierTier.ROGUE, ModifierTier.ROGUE, ModifierTier.ULTRA, ModifierTier.ULTRA ], allowLuckUpgrades: false }),
- [ClassicFixedBossWaves.EVIL_BOSS_2]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(ClassicFixedBossWaves.EVIL_GRUNT_1)
- .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_BOSS_GIOVANNI_2, TrainerType.MAXIE_2, TrainerType.ARCHIE_2, TrainerType.CYRUS_2, TrainerType.GHETSIS_2, TrainerType.LYSANDRE_2, TrainerType.LUSAMINE_2, TrainerType.GUZMA_2, TrainerType.ROSE_2, TrainerType.PENNY_2 ]))
- .setCustomModifierRewards({ guaranteedModifierTiers: [ ModifierTier.ROGUE, ModifierTier.ROGUE, ModifierTier.ULTRA, ModifierTier.ULTRA, ModifierTier.ULTRA, ModifierTier.ULTRA ], allowLuckUpgrades: false }),
- [ClassicFixedBossWaves.ELITE_FOUR_1]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
- .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.LORELEI, TrainerType.WILL, TrainerType.SIDNEY, TrainerType.AARON, TrainerType.SHAUNTAL, TrainerType.MALVA, [ TrainerType.HALA, TrainerType.MOLAYNE ], TrainerType.MARNIE_ELITE, TrainerType.RIKA, TrainerType.CRISPIN ])),
- [ClassicFixedBossWaves.ELITE_FOUR_2]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(ClassicFixedBossWaves.ELITE_FOUR_1)
- .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.BRUNO, TrainerType.KOGA, TrainerType.PHOEBE, TrainerType.BERTHA, TrainerType.MARSHAL, TrainerType.SIEBOLD, TrainerType.OLIVIA, TrainerType.NESSA_ELITE, TrainerType.POPPY, TrainerType.AMARYS ])),
- [ClassicFixedBossWaves.ELITE_FOUR_3]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(ClassicFixedBossWaves.ELITE_FOUR_1)
- .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.AGATHA, TrainerType.BRUNO, TrainerType.GLACIA, TrainerType.FLINT, TrainerType.GRIMSLEY, TrainerType.WIKSTROM, TrainerType.ACEROLA, [ TrainerType.BEA_ELITE, TrainerType.ALLISTER_ELITE ], TrainerType.LARRY_ELITE, TrainerType.LACEY ])),
- [ClassicFixedBossWaves.ELITE_FOUR_4]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(ClassicFixedBossWaves.ELITE_FOUR_1)
- .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.LANCE, TrainerType.KAREN, TrainerType.DRAKE, TrainerType.LUCIAN, TrainerType.CAITLIN, TrainerType.DRASNA, TrainerType.KAHILI, TrainerType.RAIHAN_ELITE, TrainerType.HASSEL, TrainerType.DRAYTON ])),
- [ClassicFixedBossWaves.CHAMPION]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(ClassicFixedBossWaves.ELITE_FOUR_1)
- .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.BLUE, [ TrainerType.RED, TrainerType.LANCE_CHAMPION ], [ TrainerType.STEVEN, TrainerType.WALLACE ], TrainerType.CYNTHIA, [ TrainerType.ALDER, TrainerType.IRIS ], TrainerType.DIANTHA, [ TrainerType.KUKUI, TrainerType.HAU ], [ TrainerType.LEON, TrainerType.MUSTARD ], [ TrainerType.GEETA, TrainerType.NEMONA ], TrainerType.KIERAN ])),
- [ClassicFixedBossWaves.RIVAL_6]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
- .setGetTrainerFunc(() => new Trainer(TrainerType.RIVAL_6, globalScene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT))
- .setCustomModifierRewards({ guaranteedModifierTiers: [ ModifierTier.ROGUE, ModifierTier.ROGUE, ModifierTier.ULTRA, ModifierTier.ULTRA, ModifierTier.GREAT, ModifierTier.GREAT ], allowLuckUpgrades: false })
+ [ClassicFixedBossWaves.TOWN_YOUNGSTER]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setGetTrainerFunc(
+ () => new Trainer(TrainerType.YOUNGSTER, Utils.randSeedInt(2) ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT),
+ ),
+ [ClassicFixedBossWaves.RIVAL_1]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setGetTrainerFunc(
+ () =>
+ new Trainer(
+ TrainerType.RIVAL,
+ globalScene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT,
+ ),
+ ),
+ [ClassicFixedBossWaves.RIVAL_2]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setGetTrainerFunc(
+ () =>
+ new Trainer(
+ TrainerType.RIVAL_2,
+ globalScene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT,
+ ),
+ )
+ .setCustomModifierRewards({
+ guaranteedModifierTiers: [ModifierTier.ULTRA, ModifierTier.GREAT, ModifierTier.GREAT],
+ allowLuckUpgrades: false,
+ }),
+ [ClassicFixedBossWaves.EVIL_GRUNT_1]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setGetTrainerFunc(
+ getRandomTrainerFunc(
+ [
+ TrainerType.ROCKET_GRUNT,
+ TrainerType.MAGMA_GRUNT,
+ TrainerType.AQUA_GRUNT,
+ TrainerType.GALACTIC_GRUNT,
+ TrainerType.PLASMA_GRUNT,
+ TrainerType.FLARE_GRUNT,
+ TrainerType.AETHER_GRUNT,
+ TrainerType.SKULL_GRUNT,
+ TrainerType.MACRO_GRUNT,
+ TrainerType.STAR_GRUNT,
+ ],
+ true,
+ ),
+ ),
+ [ClassicFixedBossWaves.RIVAL_3]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setGetTrainerFunc(
+ () =>
+ new Trainer(
+ TrainerType.RIVAL_3,
+ globalScene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT,
+ ),
+ )
+ .setCustomModifierRewards({
+ guaranteedModifierTiers: [ModifierTier.ULTRA, ModifierTier.ULTRA, ModifierTier.GREAT, ModifierTier.GREAT],
+ allowLuckUpgrades: false,
+ }),
+ [ClassicFixedBossWaves.EVIL_GRUNT_2]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setSeedOffsetWave(ClassicFixedBossWaves.EVIL_GRUNT_1)
+ .setGetTrainerFunc(
+ getRandomTrainerFunc(
+ [
+ TrainerType.ROCKET_GRUNT,
+ TrainerType.MAGMA_GRUNT,
+ TrainerType.AQUA_GRUNT,
+ TrainerType.GALACTIC_GRUNT,
+ TrainerType.PLASMA_GRUNT,
+ TrainerType.FLARE_GRUNT,
+ TrainerType.AETHER_GRUNT,
+ TrainerType.SKULL_GRUNT,
+ TrainerType.MACRO_GRUNT,
+ TrainerType.STAR_GRUNT,
+ ],
+ true,
+ ),
+ ),
+ [ClassicFixedBossWaves.EVIL_GRUNT_3]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setSeedOffsetWave(ClassicFixedBossWaves.EVIL_GRUNT_1)
+ .setGetTrainerFunc(
+ getRandomTrainerFunc(
+ [
+ TrainerType.ROCKET_GRUNT,
+ TrainerType.MAGMA_GRUNT,
+ TrainerType.AQUA_GRUNT,
+ TrainerType.GALACTIC_GRUNT,
+ TrainerType.PLASMA_GRUNT,
+ TrainerType.FLARE_GRUNT,
+ TrainerType.AETHER_GRUNT,
+ TrainerType.SKULL_GRUNT,
+ TrainerType.MACRO_GRUNT,
+ TrainerType.STAR_GRUNT,
+ ],
+ true,
+ ),
+ ),
+ [ClassicFixedBossWaves.EVIL_ADMIN_1]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setSeedOffsetWave(ClassicFixedBossWaves.EVIL_GRUNT_1)
+ .setGetTrainerFunc(
+ getRandomTrainerFunc(
+ [
+ [TrainerType.ARCHER, TrainerType.ARIANA, TrainerType.PROTON, TrainerType.PETREL],
+ [TrainerType.TABITHA, TrainerType.COURTNEY],
+ [TrainerType.MATT, TrainerType.SHELLY],
+ [TrainerType.JUPITER, TrainerType.MARS, TrainerType.SATURN],
+ [TrainerType.ZINZOLIN, TrainerType.COLRESS],
+ [TrainerType.XEROSIC, TrainerType.BRYONY],
+ TrainerType.FABA,
+ TrainerType.PLUMERIA,
+ TrainerType.OLEANA,
+ [TrainerType.GIACOMO, TrainerType.MELA, TrainerType.ATTICUS, TrainerType.ORTEGA, TrainerType.ERI],
+ ],
+ true,
+ ),
+ ),
+ [ClassicFixedBossWaves.RIVAL_4]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setGetTrainerFunc(
+ () =>
+ new Trainer(
+ TrainerType.RIVAL_4,
+ globalScene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT,
+ ),
+ )
+ .setCustomModifierRewards({
+ guaranteedModifierTiers: [ModifierTier.ULTRA, ModifierTier.ULTRA, ModifierTier.ULTRA, ModifierTier.ULTRA],
+ allowLuckUpgrades: false,
+ }),
+ [ClassicFixedBossWaves.EVIL_GRUNT_4]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setSeedOffsetWave(ClassicFixedBossWaves.EVIL_GRUNT_1)
+ .setGetTrainerFunc(
+ getRandomTrainerFunc(
+ [
+ TrainerType.ROCKET_GRUNT,
+ TrainerType.MAGMA_GRUNT,
+ TrainerType.AQUA_GRUNT,
+ TrainerType.GALACTIC_GRUNT,
+ TrainerType.PLASMA_GRUNT,
+ TrainerType.FLARE_GRUNT,
+ TrainerType.AETHER_GRUNT,
+ TrainerType.SKULL_GRUNT,
+ TrainerType.MACRO_GRUNT,
+ TrainerType.STAR_GRUNT,
+ ],
+ true,
+ ),
+ ),
+ [ClassicFixedBossWaves.EVIL_ADMIN_2]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setSeedOffsetWave(ClassicFixedBossWaves.EVIL_GRUNT_1)
+ .setGetTrainerFunc(
+ getRandomTrainerFunc(
+ [
+ [TrainerType.ARCHER, TrainerType.ARIANA, TrainerType.PROTON, TrainerType.PETREL],
+ [TrainerType.TABITHA, TrainerType.COURTNEY],
+ [TrainerType.MATT, TrainerType.SHELLY],
+ [TrainerType.JUPITER, TrainerType.MARS, TrainerType.SATURN],
+ [TrainerType.ZINZOLIN, TrainerType.COLRESS],
+ [TrainerType.XEROSIC, TrainerType.BRYONY],
+ TrainerType.FABA,
+ TrainerType.PLUMERIA,
+ TrainerType.OLEANA,
+ [TrainerType.GIACOMO, TrainerType.MELA, TrainerType.ATTICUS, TrainerType.ORTEGA, TrainerType.ERI],
+ ],
+ true,
+ 1,
+ ),
+ ),
+ [ClassicFixedBossWaves.EVIL_BOSS_1]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setSeedOffsetWave(ClassicFixedBossWaves.EVIL_GRUNT_1)
+ .setGetTrainerFunc(
+ getRandomTrainerFunc([
+ TrainerType.ROCKET_BOSS_GIOVANNI_1,
+ TrainerType.MAXIE,
+ TrainerType.ARCHIE,
+ TrainerType.CYRUS,
+ TrainerType.GHETSIS,
+ TrainerType.LYSANDRE,
+ TrainerType.LUSAMINE,
+ TrainerType.GUZMA,
+ TrainerType.ROSE,
+ TrainerType.PENNY,
+ ]),
+ )
+ .setCustomModifierRewards({
+ guaranteedModifierTiers: [
+ ModifierTier.ROGUE,
+ ModifierTier.ROGUE,
+ ModifierTier.ULTRA,
+ ModifierTier.ULTRA,
+ ModifierTier.ULTRA,
+ ],
+ allowLuckUpgrades: false,
+ }),
+ [ClassicFixedBossWaves.RIVAL_5]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setGetTrainerFunc(
+ () =>
+ new Trainer(
+ TrainerType.RIVAL_5,
+ globalScene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT,
+ ),
+ )
+ .setCustomModifierRewards({
+ guaranteedModifierTiers: [
+ ModifierTier.ROGUE,
+ ModifierTier.ROGUE,
+ ModifierTier.ROGUE,
+ ModifierTier.ULTRA,
+ ModifierTier.ULTRA,
+ ],
+ allowLuckUpgrades: false,
+ }),
+ [ClassicFixedBossWaves.EVIL_BOSS_2]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setSeedOffsetWave(ClassicFixedBossWaves.EVIL_GRUNT_1)
+ .setGetTrainerFunc(
+ getRandomTrainerFunc([
+ TrainerType.ROCKET_BOSS_GIOVANNI_2,
+ TrainerType.MAXIE_2,
+ TrainerType.ARCHIE_2,
+ TrainerType.CYRUS_2,
+ TrainerType.GHETSIS_2,
+ TrainerType.LYSANDRE_2,
+ TrainerType.LUSAMINE_2,
+ TrainerType.GUZMA_2,
+ TrainerType.ROSE_2,
+ TrainerType.PENNY_2,
+ ]),
+ )
+ .setCustomModifierRewards({
+ guaranteedModifierTiers: [
+ ModifierTier.ROGUE,
+ ModifierTier.ROGUE,
+ ModifierTier.ULTRA,
+ ModifierTier.ULTRA,
+ ModifierTier.ULTRA,
+ ModifierTier.ULTRA,
+ ],
+ allowLuckUpgrades: false,
+ }),
+ [ClassicFixedBossWaves.ELITE_FOUR_1]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setGetTrainerFunc(
+ getRandomTrainerFunc([
+ TrainerType.LORELEI,
+ TrainerType.WILL,
+ TrainerType.SIDNEY,
+ TrainerType.AARON,
+ TrainerType.SHAUNTAL,
+ TrainerType.MALVA,
+ [TrainerType.HALA, TrainerType.MOLAYNE],
+ TrainerType.MARNIE_ELITE,
+ TrainerType.RIKA,
+ TrainerType.CRISPIN,
+ ]),
+ ),
+ [ClassicFixedBossWaves.ELITE_FOUR_2]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setSeedOffsetWave(ClassicFixedBossWaves.ELITE_FOUR_1)
+ .setGetTrainerFunc(
+ getRandomTrainerFunc([
+ TrainerType.BRUNO,
+ TrainerType.KOGA,
+ TrainerType.PHOEBE,
+ TrainerType.BERTHA,
+ TrainerType.MARSHAL,
+ TrainerType.SIEBOLD,
+ TrainerType.OLIVIA,
+ TrainerType.NESSA_ELITE,
+ TrainerType.POPPY,
+ TrainerType.AMARYS,
+ ]),
+ ),
+ [ClassicFixedBossWaves.ELITE_FOUR_3]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setSeedOffsetWave(ClassicFixedBossWaves.ELITE_FOUR_1)
+ .setGetTrainerFunc(
+ getRandomTrainerFunc([
+ TrainerType.AGATHA,
+ TrainerType.BRUNO,
+ TrainerType.GLACIA,
+ TrainerType.FLINT,
+ TrainerType.GRIMSLEY,
+ TrainerType.WIKSTROM,
+ TrainerType.ACEROLA,
+ [TrainerType.BEA_ELITE, TrainerType.ALLISTER_ELITE],
+ TrainerType.LARRY_ELITE,
+ TrainerType.LACEY,
+ ]),
+ ),
+ [ClassicFixedBossWaves.ELITE_FOUR_4]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setSeedOffsetWave(ClassicFixedBossWaves.ELITE_FOUR_1)
+ .setGetTrainerFunc(
+ getRandomTrainerFunc([
+ TrainerType.LANCE,
+ TrainerType.KAREN,
+ TrainerType.DRAKE,
+ TrainerType.LUCIAN,
+ TrainerType.CAITLIN,
+ TrainerType.DRASNA,
+ TrainerType.KAHILI,
+ TrainerType.RAIHAN_ELITE,
+ TrainerType.HASSEL,
+ TrainerType.DRAYTON,
+ ]),
+ ),
+ [ClassicFixedBossWaves.CHAMPION]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setSeedOffsetWave(ClassicFixedBossWaves.ELITE_FOUR_1)
+ .setGetTrainerFunc(
+ getRandomTrainerFunc([
+ TrainerType.BLUE,
+ [TrainerType.RED, TrainerType.LANCE_CHAMPION],
+ [TrainerType.STEVEN, TrainerType.WALLACE],
+ TrainerType.CYNTHIA,
+ [TrainerType.ALDER, TrainerType.IRIS],
+ TrainerType.DIANTHA,
+ [TrainerType.KUKUI, TrainerType.HAU],
+ [TrainerType.LEON, TrainerType.MUSTARD],
+ [TrainerType.GEETA, TrainerType.NEMONA],
+ TrainerType.KIERAN,
+ ]),
+ ),
+ [ClassicFixedBossWaves.RIVAL_6]: new FixedBattleConfig()
+ .setBattleType(BattleType.TRAINER)
+ .setGetTrainerFunc(
+ () =>
+ new Trainer(
+ TrainerType.RIVAL_6,
+ globalScene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT,
+ ),
+ )
+ .setCustomModifierRewards({
+ guaranteedModifierTiers: [
+ ModifierTier.ROGUE,
+ ModifierTier.ROGUE,
+ ModifierTier.ULTRA,
+ ModifierTier.ULTRA,
+ ModifierTier.GREAT,
+ ModifierTier.GREAT,
+ ],
+ allowLuckUpgrades: false,
+ }),
};
diff --git a/src/configs/inputs/cfg_keyboard_qwerty.ts b/src/configs/inputs/cfg_keyboard_qwerty.ts
index c1b00a833c0..2ad04ab418d 100644
--- a/src/configs/inputs/cfg_keyboard_qwerty.ts
+++ b/src/configs/inputs/cfg_keyboard_qwerty.ts
@@ -77,7 +77,7 @@ const cfg_keyboard_qwerty = {
KEY_RIGHT_BRACKET: Phaser.Input.Keyboard.KeyCodes.CLOSED_BRACKET,
KEY_SEMICOLON: Phaser.Input.Keyboard.KeyCodes.SEMICOLON,
KEY_BACKSPACE: Phaser.Input.Keyboard.KeyCodes.BACKSPACE,
- KEY_ALT: Phaser.Input.Keyboard.KeyCodes.ALT
+ KEY_ALT: Phaser.Input.Keyboard.KeyCodes.ALT,
},
icons: {
KEY_A: "A.png",
@@ -131,7 +131,6 @@ const cfg_keyboard_qwerty = {
KEY_F11: "F11.png",
KEY_F12: "F12.png",
-
KEY_PAGE_DOWN: "PAGE_DOWN.png",
KEY_PAGE_UP: "PAGE_UP.png",
@@ -163,7 +162,7 @@ const cfg_keyboard_qwerty = {
KEY_SEMICOLON: "SEMICOLON.png",
KEY_BACKSPACE: "BACK.png",
- KEY_ALT: "ALT.png"
+ KEY_ALT: "ALT.png",
},
settings: {
[SettingKeyboard.Button_Up]: Button.UP,
@@ -274,7 +273,7 @@ const cfg_keyboard_qwerty = {
KEY_LEFT_BRACKET: -1,
KEY_RIGHT_BRACKET: -1,
KEY_SEMICOLON: -1,
- KEY_ALT: -1
+ KEY_ALT: -1,
},
blacklist: [
"KEY_ENTER",
@@ -287,7 +286,7 @@ const cfg_keyboard_qwerty = {
"KEY_ARROW_RIGHT",
"KEY_DEL",
"KEY_HOME",
- ]
+ ],
};
export default cfg_keyboard_qwerty;
diff --git a/src/configs/inputs/configHandler.ts b/src/configs/inputs/configHandler.ts
index 50be692cbc3..b896f303cb3 100644
--- a/src/configs/inputs/configHandler.ts
+++ b/src/configs/inputs/configHandler.ts
@@ -93,7 +93,7 @@ export function getIconWithSettingName(config, settingName) {
}
export function getIconForLatestInput(configs, source, devices, settingName) {
- let config;
+ let config: any; // TODO: refine type
if (source === "gamepad") {
config = configs[devices[Device.GAMEPAD]];
} else {
@@ -102,7 +102,7 @@ export function getIconForLatestInput(configs, source, devices, settingName) {
const icon = getIconWithSettingName(config, settingName);
if (!icon) {
const isAlt = settingName.includes("ALT_");
- let altSettingName;
+ let altSettingName: string;
if (isAlt) {
altSettingName = settingName.split("ALT_").splice(1)[0];
} else {
@@ -115,7 +115,10 @@ export function getIconForLatestInput(configs, source, devices, settingName) {
export function assign(config, settingNameTarget, keycode): boolean {
// first, we need to check if this keycode is already used on another settingName
- if (!canIAssignThisKey(config, getKeyWithKeycode(config, keycode)) || !canIOverrideThisSetting(config, settingNameTarget)) {
+ if (
+ !canIAssignThisKey(config, getKeyWithKeycode(config, keycode)) ||
+ !canIOverrideThisSetting(config, settingNameTarget)
+ ) {
return false;
}
const previousSettingName = getSettingNameWithKeycode(config, keycode);
diff --git a/src/configs/inputs/pad_dualshock.ts b/src/configs/inputs/pad_dualshock.ts
index 265b39fdad5..51af1b2defd 100644
--- a/src/configs/inputs/pad_dualshock.ts
+++ b/src/configs/inputs/pad_dualshock.ts
@@ -24,7 +24,7 @@ const pad_dualshock = {
LC_S: 13,
LC_W: 14,
LC_E: 15,
- TOUCH: 17
+ TOUCH: 17,
},
icons: {
RC_S: "CROSS.png",
@@ -43,7 +43,7 @@ const pad_dualshock = {
LC_S: "DOWN.png",
LC_W: "LEFT.png",
LC_E: "RIGHT.png",
- TOUCH: "TOUCH.png"
+ TOUCH: "TOUCH.png",
},
settings: {
[SettingGamepad.Button_Up]: Button.UP,
@@ -56,13 +56,13 @@ const pad_dualshock = {
[SettingGamepad.Button_Cycle_Tera]: Button.CYCLE_TERA,
[SettingGamepad.Button_Menu]: Button.MENU,
[SettingGamepad.Button_Stats]: Button.STATS,
- [SettingGamepad.Button_Cycle_Form]: Button.CYCLE_FORM,
+ [SettingGamepad.Button_Cycle_Form]: Button.CYCLE_FORM,
[SettingGamepad.Button_Cycle_Shiny]: Button.CYCLE_SHINY,
[SettingGamepad.Button_Cycle_Gender]: Button.CYCLE_GENDER,
[SettingGamepad.Button_Cycle_Ability]: Button.CYCLE_ABILITY,
[SettingGamepad.Button_Speed_Up]: Button.SPEED_UP,
[SettingGamepad.Button_Slow_Down]: Button.SLOW_DOWN,
- [SettingGamepad.Button_Submit]: Button.SUBMIT
+ [SettingGamepad.Button_Submit]: Button.SUBMIT,
},
default: {
LC_N: SettingGamepad.Button_Up,
diff --git a/src/configs/inputs/pad_generic.ts b/src/configs/inputs/pad_generic.ts
index cd91fcd8b17..e47b7ce1ace 100644
--- a/src/configs/inputs/pad_generic.ts
+++ b/src/configs/inputs/pad_generic.ts
@@ -23,7 +23,7 @@ const pad_generic = {
LC_N: 12,
LC_S: 13,
LC_W: 14,
- LC_E: 15
+ LC_E: 15,
},
icons: {
RC_S: "XB_Letter_A_OL.png",
@@ -54,12 +54,12 @@ const pad_generic = {
[SettingGamepad.Button_Cycle_Tera]: Button.CYCLE_TERA,
[SettingGamepad.Button_Menu]: Button.MENU,
[SettingGamepad.Button_Stats]: Button.STATS,
- [SettingGamepad.Button_Cycle_Form]: Button.CYCLE_FORM,
+ [SettingGamepad.Button_Cycle_Form]: Button.CYCLE_FORM,
[SettingGamepad.Button_Cycle_Shiny]: Button.CYCLE_SHINY,
[SettingGamepad.Button_Cycle_Gender]: Button.CYCLE_GENDER,
[SettingGamepad.Button_Cycle_Ability]: Button.CYCLE_ABILITY,
[SettingGamepad.Button_Speed_Up]: Button.SPEED_UP,
- [SettingGamepad.Button_Slow_Down]: Button.SLOW_DOWN
+ [SettingGamepad.Button_Slow_Down]: Button.SLOW_DOWN,
},
default: {
LC_N: SettingGamepad.Button_Up,
@@ -77,14 +77,9 @@ const pad_generic = {
LT: SettingGamepad.Button_Cycle_Gender,
RT: SettingGamepad.Button_Cycle_Ability,
LS: SettingGamepad.Button_Speed_Up,
- RS: SettingGamepad.Button_Slow_Down
+ RS: SettingGamepad.Button_Slow_Down,
},
- blacklist: [
- "LC_N",
- "LC_S",
- "LC_W",
- "LC_E",
- ]
+ blacklist: ["LC_N", "LC_S", "LC_W", "LC_E"],
};
export default pad_generic;
diff --git a/src/configs/inputs/pad_procon.ts b/src/configs/inputs/pad_procon.ts
index a7ae5383fbe..61558c7365e 100644
--- a/src/configs/inputs/pad_procon.ts
+++ b/src/configs/inputs/pad_procon.ts
@@ -55,12 +55,12 @@ const pad_procon = {
[SettingGamepad.Button_Cycle_Tera]: Button.CYCLE_TERA,
[SettingGamepad.Button_Menu]: Button.MENU,
[SettingGamepad.Button_Stats]: Button.STATS,
- [SettingGamepad.Button_Cycle_Form]: Button.CYCLE_FORM,
+ [SettingGamepad.Button_Cycle_Form]: Button.CYCLE_FORM,
[SettingGamepad.Button_Cycle_Shiny]: Button.CYCLE_SHINY,
[SettingGamepad.Button_Cycle_Gender]: Button.CYCLE_GENDER,
[SettingGamepad.Button_Cycle_Ability]: Button.CYCLE_ABILITY,
[SettingGamepad.Button_Speed_Up]: Button.SPEED_UP,
- [SettingGamepad.Button_Slow_Down]: Button.SLOW_DOWN
+ [SettingGamepad.Button_Slow_Down]: Button.SLOW_DOWN,
},
default: {
LC_N: SettingGamepad.Button_Up,
@@ -78,7 +78,7 @@ const pad_procon = {
LT: SettingGamepad.Button_Cycle_Gender,
RT: SettingGamepad.Button_Cycle_Ability,
LS: SettingGamepad.Button_Speed_Up,
- RS: SettingGamepad.Button_Slow_Down
+ RS: SettingGamepad.Button_Slow_Down,
},
};
diff --git a/src/configs/inputs/pad_unlicensedSNES.ts b/src/configs/inputs/pad_unlicensedSNES.ts
index fbde98b3fa2..d0c4f41c8f5 100644
--- a/src/configs/inputs/pad_unlicensedSNES.ts
+++ b/src/configs/inputs/pad_unlicensedSNES.ts
@@ -7,7 +7,7 @@ import { Button } from "#enums/buttons";
const pad_unlicensedSNES = {
padID: "081f-e401",
padType: "xbox",
- deviceMapping : {
+ deviceMapping: {
RC_S: 2,
RC_E: 1,
RC_W: 3,
@@ -19,7 +19,7 @@ const pad_unlicensedSNES = {
LC_N: 12,
LC_S: 13,
LC_W: 14,
- LC_E: 15
+ LC_E: 15,
},
icons: {
RC_S: "XB_Letter_A_OL.png",
@@ -46,12 +46,12 @@ const pad_unlicensedSNES = {
[SettingGamepad.Button_Cycle_Tera]: Button.CYCLE_TERA,
[SettingGamepad.Button_Menu]: Button.MENU,
[SettingGamepad.Button_Stats]: Button.STATS,
- [SettingGamepad.Button_Cycle_Form]: Button.CYCLE_FORM,
+ [SettingGamepad.Button_Cycle_Form]: Button.CYCLE_FORM,
[SettingGamepad.Button_Cycle_Shiny]: Button.CYCLE_SHINY,
[SettingGamepad.Button_Cycle_Gender]: Button.CYCLE_GENDER,
[SettingGamepad.Button_Cycle_Ability]: Button.CYCLE_ABILITY,
[SettingGamepad.Button_Speed_Up]: Button.SPEED_UP,
- [SettingGamepad.Button_Slow_Down]: Button.SLOW_DOWN
+ [SettingGamepad.Button_Slow_Down]: Button.SLOW_DOWN,
},
default: {
LC_N: SettingGamepad.Button_Up,
@@ -69,7 +69,7 @@ const pad_unlicensedSNES = {
LT: -1,
RT: -1,
LS: -1,
- RS: -1
+ RS: -1,
},
};
diff --git a/src/configs/inputs/pad_xbox360.ts b/src/configs/inputs/pad_xbox360.ts
index 88fee731d1d..60cbd9ab181 100644
--- a/src/configs/inputs/pad_xbox360.ts
+++ b/src/configs/inputs/pad_xbox360.ts
@@ -23,7 +23,7 @@ const pad_xbox360 = {
LC_N: 12,
LC_S: 13,
LC_W: 14,
- LC_E: 15
+ LC_E: 15,
},
icons: {
RC_S: "XB_Letter_A_OL.png",
@@ -54,12 +54,12 @@ const pad_xbox360 = {
[SettingGamepad.Button_Cycle_Tera]: Button.CYCLE_TERA,
[SettingGamepad.Button_Menu]: Button.MENU,
[SettingGamepad.Button_Stats]: Button.STATS,
- [SettingGamepad.Button_Cycle_Form]: Button.CYCLE_FORM,
+ [SettingGamepad.Button_Cycle_Form]: Button.CYCLE_FORM,
[SettingGamepad.Button_Cycle_Shiny]: Button.CYCLE_SHINY,
[SettingGamepad.Button_Cycle_Gender]: Button.CYCLE_GENDER,
[SettingGamepad.Button_Cycle_Ability]: Button.CYCLE_ABILITY,
[SettingGamepad.Button_Speed_Up]: Button.SPEED_UP,
- [SettingGamepad.Button_Slow_Down]: Button.SLOW_DOWN
+ [SettingGamepad.Button_Slow_Down]: Button.SLOW_DOWN,
},
default: {
LC_N: SettingGamepad.Button_Up,
@@ -77,7 +77,7 @@ const pad_xbox360 = {
LT: SettingGamepad.Button_Cycle_Gender,
RT: SettingGamepad.Button_Cycle_Ability,
LS: SettingGamepad.Button_Speed_Up,
- RS: SettingGamepad.Button_Slow_Down
+ RS: SettingGamepad.Button_Slow_Down,
},
};
diff --git a/src/data/ability.ts b/src/data/ability.ts
index 131b7d0ff7a..0b4e5ddb2c4 100644
--- a/src/data/ability.ts
+++ b/src/data/ability.ts
@@ -1,7 +1,7 @@
import type { EnemyPokemon, PokemonMove } from "../field/pokemon";
import type Pokemon from "../field/pokemon";
import { HitResult, MoveResult, PlayerPokemon } from "../field/pokemon";
-import { Type } from "#enums/type";
+import { PokemonType } from "#enums/pokemon-type";
import type { Constructor } from "#app/utils";
import * as Utils from "../utils";
import { getPokemonNameWithAffix } from "../messages";
@@ -10,9 +10,12 @@ import type { BattlerTag } from "./battler-tags";
import { BattlerTagLapseType, GroundedTag } from "./battler-tags";
import { getNonVolatileStatusEffects, getStatusEffectDescriptor, getStatusEffectHealText } from "#app/data/status-effect";
import { Gender } from "./gender";
-import type Move from "./move";
-import { AttackMove, MoveCategory, MoveFlags, MoveTarget, FlinchAttr, OneHitKOAttr, HitHealAttr, allMoves, StatusMove, SelfStatusMove, VariablePowerAttr, applyMoveAttrs, VariableMoveTypeAttr, RandomMovesetMoveAttr, RandomMoveAttr, NaturePowerAttr, CopyMoveAttr, NeutralDamageAgainstFlyingTypeMultiplierAttr, FixedDamageAttr } from "./move";
-import type { ArenaTrapTag } from "./arena-tag";
+import type Move from "./moves/move";
+import { AttackMove, FlinchAttr, OneHitKOAttr, HitHealAttr, allMoves, StatusMove, SelfStatusMove, VariablePowerAttr, applyMoveAttrs, VariableMoveTypeAttr, RandomMovesetMoveAttr, RandomMoveAttr, NaturePowerAttr, CopyMoveAttr, NeutralDamageAgainstFlyingTypeMultiplierAttr, FixedDamageAttr } from "./moves/move";
+import { MoveFlags } from "#enums/MoveFlags";
+import { MoveTarget } from "#enums/MoveTarget";
+import { MoveCategory } from "#enums/MoveCategory";
+import type { ArenaTrapTag, SuppressAbilitiesTag } from "./arena-tag";
import { ArenaTagSide } from "./arena-tag";
import { BerryModifier, HitHealModifier, PokemonHeldItemModifier } from "../modifier/modifier";
import { TerrainType } from "./terrain";
@@ -156,7 +159,7 @@ export abstract class AbAttr {
public showAbility: boolean;
private extraCondition: AbAttrCondition;
- constructor(showAbility: boolean = true) {
+ constructor(showAbility = true) {
this.showAbility = showAbility;
}
@@ -266,6 +269,52 @@ export class PostTeraFormChangeStatChangeAbAttr extends AbAttr {
}
}
+/**
+ * Clears a specified weather whenever this attribute is called.
+ */
+export class ClearWeatherAbAttr extends AbAttr {
+ private weather: WeatherType[];
+
+ /**
+ * @param weather {@linkcode WeatherType[]} - the weather to be removed
+ */
+ constructor(weather: WeatherType[]) {
+ super(true);
+
+ this.weather = weather;
+ }
+
+ apply(pokemon: Pokemon, passive: boolean, simulated:boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+ if (!simulated) {
+ globalScene.arena.trySetWeather(WeatherType.NONE, true);
+ }
+ return true;
+ }
+}
+
+/**
+ * Clears a specified terrain whenever this attribute is called.
+ */
+export class ClearTerrainAbAttr extends AbAttr {
+ private terrain: TerrainType[];
+
+ /**
+ * @param terrain {@linkcode TerrainType[]} - the terrain to be removed
+ */
+ constructor(terrain: TerrainType[]) {
+ super(true);
+
+ this.terrain = terrain;
+ }
+
+ apply(pokemon: Pokemon, passive: boolean, simulated:boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+ if (!simulated) {
+ globalScene.arena.trySetTerrain(TerrainType.NONE, true, true);
+ }
+ return true;
+ }
+}
+
type PreDefendAbAttrCondition = (pokemon: Pokemon, attacker: Pokemon, move: Move) => boolean;
export class PreDefendAbAttr extends AbAttr {
@@ -367,7 +416,7 @@ export class AlliedFieldDamageReductionAbAttr extends PreDefendAbAttr {
}
export class ReceivedTypeDamageMultiplierAbAttr extends ReceivedMoveDamageMultiplierAbAttr {
- constructor(moveType: Type, damageMultiplier: number) {
+ constructor(moveType: PokemonType, damageMultiplier: number) {
super((target, user, move) => user.getMoveType(move) === moveType, damageMultiplier);
}
}
@@ -379,10 +428,10 @@ export class ReceivedTypeDamageMultiplierAbAttr extends ReceivedMoveDamageMultip
* @see {@linkcode getCondition}
*/
export class TypeImmunityAbAttr extends PreDefendAbAttr {
- private immuneType: Type | null;
+ private immuneType: PokemonType | null;
private condition: AbAttrCondition | null;
- constructor(immuneType: Type | null, condition?: AbAttrCondition) {
+ constructor(immuneType: PokemonType | null, condition?: AbAttrCondition) {
super();
this.immuneType = immuneType;
@@ -411,7 +460,7 @@ export class TypeImmunityAbAttr extends PreDefendAbAttr {
return false;
}
- getImmuneType(): Type | null {
+ getImmuneType(): PokemonType | null {
return this.immuneType;
}
@@ -421,7 +470,7 @@ export class TypeImmunityAbAttr extends PreDefendAbAttr {
}
export class AttackTypeImmunityAbAttr extends TypeImmunityAbAttr {
- constructor(immuneType: Type, condition?: AbAttrCondition) {
+ constructor(immuneType: PokemonType, condition?: AbAttrCondition) {
super(immuneType, condition);
}
@@ -440,7 +489,7 @@ export class AttackTypeImmunityAbAttr extends TypeImmunityAbAttr {
}
export class TypeImmunityHealAbAttr extends TypeImmunityAbAttr {
- constructor(immuneType: Type) {
+ constructor(immuneType: PokemonType) {
super(immuneType);
}
@@ -465,7 +514,7 @@ class TypeImmunityStatStageChangeAbAttr extends TypeImmunityAbAttr {
private stat: BattleStat;
private stages: number;
- constructor(immuneType: Type, stat: BattleStat, stages: number, condition?: AbAttrCondition) {
+ constructor(immuneType: PokemonType, stat: BattleStat, stages: number, condition?: AbAttrCondition) {
super(immuneType, condition);
this.stat = stat;
@@ -490,7 +539,7 @@ class TypeImmunityAddBattlerTagAbAttr extends TypeImmunityAbAttr {
private tagType: BattlerTagType;
private turnCount: number;
- constructor(immuneType: Type, tagType: BattlerTagType, turnCount: number, condition?: AbAttrCondition) {
+ constructor(immuneType: PokemonType, tagType: BattlerTagType, turnCount: number, condition?: AbAttrCondition) {
super(immuneType, condition);
this.tagType = tagType;
@@ -726,7 +775,7 @@ export class PostDefendStatStageChangeAbAttr extends PostDefendAbAttr {
private selfTarget: boolean;
private allOthers: boolean;
- constructor(condition: PokemonDefendCondition, stat: BattleStat, stages: number, selfTarget: boolean = true, allOthers: boolean = false) {
+ constructor(condition: PokemonDefendCondition, stat: BattleStat, stages: number, selfTarget = true, allOthers = false) {
super(true);
this.condition = condition;
@@ -764,7 +813,7 @@ export class PostDefendHpGatedStatStageChangeAbAttr extends PostDefendAbAttr {
private stages: number;
private selfTarget: boolean;
- constructor(condition: PokemonDefendCondition, hpGate: number, stats: BattleStat[], stages: number, selfTarget: boolean = true) {
+ constructor(condition: PokemonDefendCondition, hpGate: number, stats: BattleStat[], stages: number, selfTarget = true) {
super(true);
this.condition = condition;
@@ -858,7 +907,7 @@ export class PostDefendTypeChangeAbAttr extends PostDefendAbAttr {
return i18next.t("abilityTriggers:postDefendTypeChange", {
pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
abilityName,
- typeName: i18next.t(`pokemonInfo:Type.${Type[pokemon.getTypes(true)[0]]}`)
+ typeName: i18next.t(`pokemonInfo:Type.${PokemonType[pokemon.getTypes(true)[0]]}`)
});
}
}
@@ -917,7 +966,7 @@ export class EffectSporeAbAttr extends PostDefendContactApplyStatusEffectAbAttr
}
applyPostDefend(pokemon: Pokemon, passive: boolean, simulated: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
- if (attacker.hasAbility(Abilities.OVERCOAT) || attacker.isOfType(Type.GRASS)) {
+ if (attacker.hasAbility(Abilities.OVERCOAT) || attacker.isOfType(PokemonType.GRASS)) {
return false;
}
return super.applyPostDefend(pokemon, passive, simulated, attacker, move, hitResult, args);
@@ -1271,7 +1320,7 @@ export class FieldMultiplyStatAbAttr extends AbAttr {
private multiplier: number;
private canStack: boolean;
- constructor(stat: Stat, multiplier: number, canStack: boolean = false) {
+ constructor(stat: Stat, multiplier: number, canStack = false) {
super(false);
this.stat = stat;
@@ -1307,7 +1356,7 @@ export class FieldMultiplyStatAbAttr extends AbAttr {
export class MoveTypeChangeAbAttr extends PreAttackAbAttr {
constructor(
- private newType: Type,
+ private newType: PokemonType,
private powerMultiplier: number,
private condition?: PokemonAttackCondition
) {
@@ -1332,7 +1381,7 @@ export class MoveTypeChangeAbAttr extends PreAttackAbAttr {
/** Ability attribute for changing a pokemon's type before using a move */
export class PokemonTypeChangeAbAttr extends PreAttackAbAttr {
- private moveType: Type;
+ private moveType: PokemonType;
constructor() {
super(true);
@@ -1372,7 +1421,7 @@ export class PokemonTypeChangeAbAttr extends PreAttackAbAttr {
getTriggerMessage(pokemon: Pokemon, abilityName: string, ...args: any[]): string {
return i18next.t("abilityTriggers:pokemonTypeChange", {
pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
- moveType: i18next.t(`pokemonInfo:Type.${Type[this.moveType]}`),
+ moveType: i18next.t(`pokemonInfo:Type.${PokemonType[this.moveType]}`),
});
}
}
@@ -1461,7 +1510,7 @@ export class MovePowerBoostAbAttr extends VariableMovePowerAbAttr {
private condition: PokemonAttackCondition;
private powerMultiplier: number;
- constructor(condition: PokemonAttackCondition, powerMultiplier: number, showAbility: boolean = true) {
+ constructor(condition: PokemonAttackCondition, powerMultiplier: number, showAbility = true) {
super(showAbility);
this.condition = condition;
this.powerMultiplier = powerMultiplier;
@@ -1479,13 +1528,13 @@ export class MovePowerBoostAbAttr extends VariableMovePowerAbAttr {
}
export class MoveTypePowerBoostAbAttr extends MovePowerBoostAbAttr {
- constructor(boostedType: Type, powerMultiplier?: number) {
+ constructor(boostedType: PokemonType, powerMultiplier?: number) {
super((pokemon, defender, move) => pokemon?.getMoveType(move) === boostedType, powerMultiplier || 1.5);
}
}
export class LowHpMoveTypePowerBoostAbAttr extends MoveTypePowerBoostAbAttr {
- constructor(boostedType: Type) {
+ constructor(boostedType: PokemonType) {
super(boostedType);
}
@@ -1506,7 +1555,7 @@ export class VariableMovePowerBoostAbAttr extends VariableMovePowerAbAttr {
* @param mult A function which takes the user, target, and move, and returns the power multiplier. 1 means no multiplier.
* @param {boolean} showAbility Whether to show the ability when it activates.
*/
- constructor(mult: (user: Pokemon, target: Pokemon, move: Move) => number, showAbility: boolean = true) {
+ constructor(mult: (user: Pokemon, target: Pokemon, move: Move) => number, showAbility = true) {
super(showAbility);
this.mult = mult;
}
@@ -1563,7 +1612,7 @@ export class PreAttackFieldMoveTypePowerBoostAbAttr extends FieldMovePowerBoostA
* @param boostedType - The type of move that will receive the power boost.
* @param powerMultiplier - The multiplier to apply to the move's power, defaults to 1.5 if not provided.
*/
- constructor(boostedType: Type, powerMultiplier?: number) {
+ constructor(boostedType: PokemonType, powerMultiplier?: number) {
super((pokemon, defender, move) => pokemon?.getMoveType(move) === boostedType, powerMultiplier || 1.5);
}
}
@@ -1629,7 +1678,7 @@ export class PostAttackAbAttr extends AbAttr {
private attackCondition: PokemonAttackCondition;
/** The default attackCondition requires that the selected move is a damaging move */
- constructor(attackCondition: PokemonAttackCondition = (user, target, move) => (move.category !== MoveCategory.STATUS), showAbility: boolean = true) {
+ constructor(attackCondition: PokemonAttackCondition = (user, target, move) => (move.category !== MoveCategory.STATUS), showAbility = true) {
super(showAbility);
this.attackCondition = attackCondition;
@@ -2102,7 +2151,7 @@ export class PostSummonAbAttr extends AbAttr {
/** Should the ability activate when gained in battle? This will almost always be true */
private activateOnGain: boolean;
- constructor(showAbility: boolean = true, activateOnGain: boolean = true) {
+ constructor(showAbility = true, activateOnGain = true) {
super(showAbility);
this.activateOnGain = activateOnGain;
}
@@ -2151,6 +2200,34 @@ export class PostSummonRemoveArenaTagAbAttr extends PostSummonAbAttr {
}
}
+/**
+ * Generic class to add an arena tag upon switching in
+ */
+export class PostSummonAddArenaTagAbAttr extends PostSummonAbAttr {
+ private readonly tagType: ArenaTagType;
+ private readonly turnCount: number;
+ private readonly side?: ArenaTagSide;
+ private readonly quiet?: boolean;
+ private sourceId: number;
+
+
+ constructor(tagType: ArenaTagType, turnCount: number, side?: ArenaTagSide, quiet?: boolean) {
+ super(false);
+ this.tagType = tagType;
+ this.turnCount = turnCount;
+ this.side = side;
+ this.quiet = quiet;
+ }
+
+ public override applyPostSummon(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean {
+ this.sourceId = pokemon.id;
+ if (!simulated) {
+ globalScene.arena.addTag(this.tagType, this.turnCount, undefined, this.sourceId, this.side, this.quiet);
+ }
+ return true;
+ }
+}
+
export class PostSummonMessageAbAttr extends PostSummonAbAttr {
private messageFunc: (pokemon: Pokemon) => string;
@@ -2257,7 +2334,7 @@ export class PostSummonAllyHealAbAttr extends PostSummonAbAttr {
private healRatio: number;
private showAnim: boolean;
- constructor(healRatio: number, showAnim: boolean = false) {
+ constructor(healRatio: number, showAnim = false) {
super();
this.healRatio = healRatio || 4;
@@ -2895,6 +2972,26 @@ export class PreLeaveFieldClearWeatherAbAttr extends PreLeaveFieldAbAttr {
}
}
+/**
+ * Updates the active {@linkcode SuppressAbilitiesTag} when a pokemon with {@linkcode Abilities.NEUTRALIZING_GAS} leaves the field
+ */
+export class PreLeaveFieldRemoveSuppressAbilitiesSourceAbAttr extends PreLeaveFieldAbAttr {
+ constructor() {
+ super(false);
+ }
+
+ public override applyPreLeaveField(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean {
+ if (!simulated) {
+ const suppressTag = globalScene.arena.getTag(ArenaTagType.NEUTRALIZING_GAS) as SuppressAbilitiesTag;
+ if (suppressTag) {
+ suppressTag.onSourceLeave(globalScene.arena);
+ return true;
+ }
+ }
+ return simulated;
+ }
+}
+
export class PreStatStageChangeAbAttr extends AbAttr {
applyPreStatStageChange(
pokemon: Pokemon | null,
@@ -3199,7 +3296,7 @@ export class MultCritAbAttr extends AbAttr {
export class ConditionalCritAbAttr extends AbAttr {
private condition: PokemonAttackCondition;
- constructor(condition: PokemonAttackCondition, checkUser?: Boolean) {
+ constructor(condition: PokemonAttackCondition, checkUser?: boolean) {
super();
this.condition = condition;
@@ -3303,7 +3400,7 @@ export class IgnoreContactAbAttr extends AbAttr { }
export class PreWeatherEffectAbAttr extends AbAttr {
applyPreWeatherEffect(
pokemon: Pokemon,
- passive: Boolean,
+ passive: boolean,
simulated: boolean,
weather: Weather | null,
cancelled: Utils.BooleanHolder,
@@ -3420,10 +3517,10 @@ function getAnticipationCondition(): AbAttrCondition {
+ (opponent.ivs[Stat.SPDEF] & 1) * 32) * 15 / 63);
const type = [
- Type.FIGHTING, Type.FLYING, Type.POISON, Type.GROUND,
- Type.ROCK, Type.BUG, Type.GHOST, Type.STEEL,
- Type.FIRE, Type.WATER, Type.GRASS, Type.ELECTRIC,
- Type.PSYCHIC, Type.ICE, Type.DRAGON, Type.DARK ][iv_val];
+ PokemonType.FIGHTING, PokemonType.FLYING, PokemonType.POISON, PokemonType.GROUND,
+ PokemonType.ROCK, PokemonType.BUG, PokemonType.GHOST, PokemonType.STEEL,
+ PokemonType.FIRE, PokemonType.WATER, PokemonType.GRASS, PokemonType.ELECTRIC,
+ PokemonType.PSYCHIC, PokemonType.ICE, PokemonType.DRAGON, PokemonType.DARK ][iv_val];
if (pokemon.getAttackTypeEffectiveness(type, opponent) >= 2) {
return true;
@@ -3740,7 +3837,7 @@ export class PostTurnResetStatusAbAttr extends PostTurnAbAttr {
private allyTarget: boolean;
private target: Pokemon;
- constructor(allyTarget: boolean = false) {
+ constructor(allyTarget = false) {
super(true);
this.allyTarget = allyTarget;
}
@@ -3952,7 +4049,7 @@ export class PostTurnHurtIfSleepingAbAttr extends PostTurnAbAttr {
* @returns `true` if any opponents are sleeping
*/
override applyPostTurn(pokemon: Pokemon, passive: boolean, simulated: boolean, args: any[]): boolean {
- let hadEffect: boolean = false;
+ let hadEffect = false;
for (const opp of pokemon.getOpponents()) {
if ((opp.status?.effect === StatusEffect.SLEEP || opp.hasAbility(Abilities.COMATOSE)) && !opp.hasAbilityWithAttr(BlockNonDirectDamageAbAttr) && !opp.switchOutStatus) {
if (!simulated) {
@@ -4325,7 +4422,7 @@ export class ArenaTrapAbAttr extends CheckTrappedAbAttr {
*/
applyCheckTrapped(pokemon: Pokemon, passive: boolean, simulated: boolean, trapped: Utils.BooleanHolder, otherPokemon: Pokemon, args: any[]): boolean {
if (this.arenaTrapCondition(pokemon, otherPokemon)) {
- if (otherPokemon.getTypes(true).includes(Type.GHOST) || (otherPokemon.getTypes(true).includes(Type.STELLAR) && otherPokemon.getTypes().includes(Type.GHOST))) {
+ if (otherPokemon.getTypes(true).includes(PokemonType.GHOST) || (otherPokemon.getTypes(true).includes(PokemonType.STELLAR) && otherPokemon.getTypes().includes(PokemonType.GHOST))) {
trapped.value = false;
return false;
} else if (otherPokemon.hasAbility(Abilities.RUN_AWAY)) {
@@ -4495,9 +4592,9 @@ export class RedirectMoveAbAttr extends AbAttr {
}
export class RedirectTypeMoveAbAttr extends RedirectMoveAbAttr {
- public type: Type;
+ public type: PokemonType;
- constructor(type: Type) {
+ constructor(type: PokemonType) {
super();
this.type = type;
}
@@ -4646,21 +4743,6 @@ export class MoveAbilityBypassAbAttr extends AbAttr {
}
}
-export class SuppressFieldAbilitiesAbAttr extends AbAttr {
- constructor() {
- super(false);
- }
-
- apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean {
- const ability = (args[0] as Ability);
- if (!ability.hasAttr(UnsuppressableAbilityAbAttr) && !ability.hasAttr(SuppressFieldAbilitiesAbAttr)) {
- cancelled.value = true;
- return true;
- }
- return false;
- }
-}
-
export class AlwaysHitAbAttr extends AbAttr { }
/** Attribute for abilities that allow moves that make contact to ignore protection (i.e. Unseen Fist) */
@@ -4728,17 +4810,17 @@ export class NoFusionAbilityAbAttr extends AbAttr {
}
export class IgnoreTypeImmunityAbAttr extends AbAttr {
- private defenderType: Type;
- private allowedMoveTypes: Type[];
+ private defenderType: PokemonType;
+ private allowedMoveTypes: PokemonType[];
- constructor(defenderType: Type, allowedMoveTypes: Type[]) {
+ constructor(defenderType: PokemonType, allowedMoveTypes: PokemonType[]) {
super(true);
this.defenderType = defenderType;
this.allowedMoveTypes = allowedMoveTypes;
}
apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean {
- if (this.defenderType === (args[1] as Type) && this.allowedMoveTypes.includes(args[0] as Type)) {
+ if (this.defenderType === (args[1] as PokemonType) && this.allowedMoveTypes.includes(args[0] as PokemonType)) {
cancelled.value = true;
return true;
}
@@ -4751,9 +4833,9 @@ export class IgnoreTypeImmunityAbAttr extends AbAttr {
*/
export class IgnoreTypeStatusEffectImmunityAbAttr extends AbAttr {
private statusEffect: StatusEffect[];
- private defenderType: Type[];
+ private defenderType: PokemonType[];
- constructor(statusEffect: StatusEffect[], defenderType: Type[]) {
+ constructor(statusEffect: StatusEffect[], defenderType: PokemonType[]) {
super(true);
this.statusEffect = statusEffect;
@@ -4761,7 +4843,7 @@ export class IgnoreTypeStatusEffectImmunityAbAttr extends AbAttr {
}
apply(pokemon: Pokemon, passive: boolean, simulated: boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean {
- if (this.statusEffect.includes(args[0] as StatusEffect) && this.defenderType.includes(args[1] as Type)) {
+ if (this.statusEffect.includes(args[0] as StatusEffect) && this.defenderType.includes(args[1] as PokemonType)) {
cancelled.value = true;
return true;
}
@@ -4975,7 +5057,7 @@ export class PreventBypassSpeedChanceAbAttr extends AbAttr {
const turnCommand = globalScene.currentBattle.turnCommands[pokemon.getBattlerIndex()];
const isCommandFight = turnCommand?.command === Command.FIGHT;
const move = turnCommand?.move?.move ? allMoves[turnCommand.move.move] : null;
- if (this.condition(pokemon, move!) && isCommandFight) {
+ if (isCommandFight && this.condition(pokemon, move!)) {
bypassSpeed.value = false;
canCheckHeldItems.value = false;
return false;
@@ -4998,7 +5080,7 @@ export class TerrainEventTypeChangeAbAttr extends PostSummonAbAttr {
return false;
}
const currentTerrain = globalScene.arena.getTerrainType();
- const typeChange: Type[] = this.determineTypeChange(pokemon, currentTerrain);
+ const typeChange: PokemonType[] = this.determineTypeChange(pokemon, currentTerrain);
if (typeChange.length !== 0) {
if (pokemon.summonData.addedType && typeChange.includes(pokemon.summonData.addedType)) {
pokemon.summonData.addedType = null;
@@ -5015,20 +5097,20 @@ export class TerrainEventTypeChangeAbAttr extends PostSummonAbAttr {
* @param currentTerrain {@linkcode TerrainType}
* @returns a list of type(s)
*/
- private determineTypeChange(pokemon: Pokemon, currentTerrain: TerrainType): Type[] {
- const typeChange: Type[] = [];
+ private determineTypeChange(pokemon: Pokemon, currentTerrain: TerrainType): PokemonType[] {
+ const typeChange: PokemonType[] = [];
switch (currentTerrain) {
case TerrainType.ELECTRIC:
- typeChange.push(Type.ELECTRIC);
+ typeChange.push(PokemonType.ELECTRIC);
break;
case TerrainType.MISTY:
- typeChange.push(Type.FAIRY);
+ typeChange.push(PokemonType.FAIRY);
break;
case TerrainType.GRASSY:
- typeChange.push(Type.GRASS);
+ typeChange.push(PokemonType.GRASS);
break;
case TerrainType.PSYCHIC:
- typeChange.push(Type.PSYCHIC);
+ typeChange.push(PokemonType.PSYCHIC);
break;
default:
pokemon.getTypes(false, false, true).forEach(t => {
@@ -5056,7 +5138,7 @@ export class TerrainEventTypeChangeAbAttr extends PostSummonAbAttr {
if (currentTerrain === TerrainType.NONE) {
return i18next.t("abilityTriggers:pokemonTypeChangeRevert", { pokemonNameWithAffix });
} else {
- const moveType = i18next.t(`pokemonInfo:Type.${Type[this.determineTypeChange(pokemon, currentTerrain)[0]]}`);
+ const moveType = i18next.t(`pokemonInfo:Type.${PokemonType[this.determineTypeChange(pokemon, currentTerrain)[0]]}`);
return i18next.t("abilityTriggers:pokemonTypeChange", { pokemonNameWithAffix, moveType });
}
}
@@ -5068,11 +5150,15 @@ function applySingleAbAttrs(
attrType: Constructor,
applyFunc: AbAttrApplyFunc,
args: any[],
- gainedMidTurn: boolean = false,
- simulated: boolean = false,
- showAbilityInstant: boolean = false,
+ gainedMidTurn = false,
+ simulated = false,
+ showAbilityInstant = false,
messages: string[] = []
) {
+ if (!pokemon?.canApplyAbility(passive) || (passive && (pokemon.getPassiveAbility().id === pokemon.getAbility().id))) {
+ return;
+ }
+
const ability = passive ? pokemon.getPassiveAbility() : pokemon.getAbility();
if (gainedMidTurn && ability.getAttrs(attrType).some(attr => attr instanceof PostSummonAbAttr && !attr.shouldActivateOnGain())) {
return;
@@ -5276,7 +5362,7 @@ export class PostDamageForceSwitchAbAttr extends PostDamageAbAttr {
private helper: ForceSwitchOutHelper = new ForceSwitchOutHelper(SwitchType.SWITCH);
private hpRatio: number;
- constructor(hpRatio: number = 0.5) {
+ constructor(hpRatio = 0.5) {
super();
this.hpRatio = hpRatio;
}
@@ -5360,18 +5446,16 @@ function applyAbAttrsInternal(
pokemon: Pokemon | null,
applyFunc: AbAttrApplyFunc,
args: any[],
- showAbilityInstant: boolean = false,
- simulated: boolean = false,
+ showAbilityInstant = false,
+ simulated = false,
messages: string[] = [],
- gainedMidTurn: boolean = false
+ gainedMidTurn = false
) {
for (const passive of [ false, true ]) {
- if (!pokemon?.canApplyAbility(passive) || (passive && (pokemon.getPassiveAbility().id === pokemon.getAbility().id))) {
- continue;
+ if (pokemon) {
+ applySingleAbAttrs(pokemon, passive, attrType, applyFunc, args, gainedMidTurn, simulated, showAbilityInstant, messages);
+ globalScene.clearPhaseQueueSplice();
}
-
- applySingleAbAttrs(pokemon, passive, attrType, applyFunc, args, gainedMidTurn, simulated, showAbilityInstant, messages);
- globalScene.clearPhaseQueueSplice();
}
}
@@ -5379,7 +5463,7 @@ export function applyAbAttrs(
attrType: Constructor,
pokemon: Pokemon,
cancelled: Utils.BooleanHolder | null,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5395,7 +5479,7 @@ export function applyAbAttrs(
export function applyPostBattleInitAbAttrs(
attrType: Constructor,
pokemon: Pokemon,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5414,7 +5498,7 @@ export function applyPreDefendAbAttrs(
attacker: Pokemon,
move: Move | null,
cancelled: Utils.BooleanHolder | null,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5433,7 +5517,7 @@ export function applyPostDefendAbAttrs(
attacker: Pokemon,
move: Move,
hitResult: HitResult | null,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5452,7 +5536,7 @@ export function applyPostMoveUsedAbAttrs(
move: PokemonMove,
source: Pokemon,
targets: BattlerIndex[],
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5470,7 +5554,7 @@ export function applyStatMultiplierAbAttrs(
pokemon: Pokemon,
stat: BattleStat,
statValue: Utils.NumberHolder,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5485,7 +5569,7 @@ export function applyPostSetStatusAbAttrs(
pokemon: Pokemon,
effect: StatusEffect,
sourcePokemon?: Pokemon | null,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5503,7 +5587,7 @@ export function applyPostDamageAbAttrs(
pokemon: Pokemon,
damage: number,
passive: boolean,
- simulated: boolean = false,
+ simulated = false,
args: any[],
source?: Pokemon,
): void {
@@ -5532,7 +5616,7 @@ export function applyFieldStatMultiplierAbAttrs(
statValue: Utils.NumberHolder,
checkedPokemon: Pokemon,
hasApplied: Utils.BooleanHolder,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5549,7 +5633,7 @@ export function applyPreAttackAbAttrs(
pokemon: Pokemon,
defender: Pokemon | null,
move: Move,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5568,7 +5652,7 @@ export function applyPostAttackAbAttrs(
defender: Pokemon,
move: Move,
hitResult: HitResult | null,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5585,7 +5669,7 @@ export function applyPostKnockOutAbAttrs(
attrType: Constructor,
pokemon: Pokemon,
knockedOut: Pokemon,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5601,7 +5685,7 @@ export function applyPostKnockOutAbAttrs(
export function applyPostVictoryAbAttrs(
attrType: Constructor,
pokemon: Pokemon,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5617,7 +5701,7 @@ export function applyPostVictoryAbAttrs(
export function applyPostSummonAbAttrs(
attrType: Constructor,
pokemon: Pokemon,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5633,7 +5717,7 @@ export function applyPostSummonAbAttrs(
export function applyPreSwitchOutAbAttrs(
attrType: Constructor,
pokemon: Pokemon,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5649,7 +5733,7 @@ export function applyPreSwitchOutAbAttrs(
export function applyPreLeaveFieldAbAttrs(
attrType: Constructor,
pokemon: Pokemon,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
return applyAbAttrsInternal(
@@ -5668,7 +5752,7 @@ export function applyPreStatStageChangeAbAttrs(
pokemon: Pokemon | null,
stat: BattleStat,
cancelled: Utils.BooleanHolder,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5687,7 +5771,7 @@ export function applyPostStatStageChangeAbAttrs(
stats: BattleStat[],
stages: integer,
selfTarget: boolean,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5705,7 +5789,7 @@ export function applyPreSetStatusAbAttrs(
pokemon: Pokemon,
effect: StatusEffect | undefined,
cancelled: Utils.BooleanHolder,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5723,7 +5807,7 @@ export function applyPreApplyBattlerTagAbAttrs(
pokemon: Pokemon,
tag: BattlerTag,
cancelled: Utils.BooleanHolder,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5741,7 +5825,7 @@ export function applyPreWeatherEffectAbAttrs(
pokemon: Pokemon,
weather: Weather | null,
cancelled: Utils.BooleanHolder,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5757,7 +5841,7 @@ export function applyPreWeatherEffectAbAttrs(
export function applyPostTurnAbAttrs(
attrType: Constructor,
pokemon: Pokemon,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5774,7 +5858,7 @@ export function applyPostWeatherChangeAbAttrs(
attrType: Constructor,
pokemon: Pokemon,
weather: WeatherType,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5791,7 +5875,7 @@ export function applyPostWeatherLapseAbAttrs(
attrType: Constructor,
pokemon: Pokemon,
weather: Weather | null,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5808,7 +5892,7 @@ export function applyPostTerrainChangeAbAttrs(
attrType: Constructor,
pokemon: Pokemon,
terrain: TerrainType,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5827,7 +5911,7 @@ export function applyCheckTrappedAbAttrs(
trapped: Utils.BooleanHolder,
otherPokemon: Pokemon,
messages: string[],
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5844,7 +5928,7 @@ export function applyCheckTrappedAbAttrs(
export function applyPostBattleAbAttrs(
attrType: Constructor,
pokemon: Pokemon,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5863,7 +5947,7 @@ export function applyPostFaintAbAttrs(
attacker?: Pokemon,
move?: Move,
hitResult?: HitResult,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5879,7 +5963,7 @@ export function applyPostFaintAbAttrs(
export function applyPostItemLostAbAttrs(
attrType: Constructor,
pokemon: Pokemon,
- simulated: boolean = false,
+ simulated = false,
...args: any[]
): void {
applyAbAttrsInternal(
@@ -5895,15 +5979,15 @@ export function applyPostItemLostAbAttrs(
*
* Ignores passives as they don't change and shouldn't be reapplied when main abilities change
*/
-export function applyOnGainAbAttrs(pokemon: Pokemon, passive: boolean = false, simulated: boolean = false, ...args: any[]): void {
+export function applyOnGainAbAttrs(pokemon: Pokemon, passive = false, simulated = false, ...args: any[]): void {
applySingleAbAttrs(pokemon, passive, PostSummonAbAttr, (attr, passive) => attr.applyPostSummon(pokemon, passive, simulated, args), args, true, simulated);
}
/**
- * Clears primal weather during the turn if {@linkcode pokemon}'s ability corresponds to one
+ * Clears primal weather/neutralizing gas during the turn if {@linkcode pokemon}'s ability corresponds to one
*/
-export function applyOnLoseClearWeatherAbAttrs(pokemon: Pokemon, passive: boolean = false, simulated: boolean = false, ...args: any[]): void {
- applySingleAbAttrs(pokemon, passive, PreLeaveFieldClearWeatherAbAttr, (attr, passive) => attr.applyPreLeaveField(pokemon, passive, simulated, [ ...args, true ]), args, true, simulated);
+export function applyOnLoseAbAttrs(pokemon: Pokemon, passive = false, simulated = false, ...args: any[]): void {
+ applySingleAbAttrs(pokemon, passive, PreLeaveFieldAbAttr, (attr, passive) => attr.applyPreLeaveField(pokemon, passive, simulated, [ ...args, true ]), args, true, simulated);
}
function queueShowAbility(pokemon: Pokemon, passive: boolean): void {
globalScene.unshiftPhase(new ShowAbilityPhase(pokemon.id, passive));
@@ -5964,10 +6048,10 @@ export function initAbilities() {
.attr(PostDefendContactApplyStatusEffectAbAttr, 30, StatusEffect.PARALYSIS)
.bypassFaint(),
new Ability(Abilities.VOLT_ABSORB, 3)
- .attr(TypeImmunityHealAbAttr, Type.ELECTRIC)
+ .attr(TypeImmunityHealAbAttr, PokemonType.ELECTRIC)
.ignorable(),
new Ability(Abilities.WATER_ABSORB, 3)
- .attr(TypeImmunityHealAbAttr, Type.WATER)
+ .attr(TypeImmunityHealAbAttr, PokemonType.WATER)
.ignorable(),
new Ability(Abilities.OBLIVIOUS, 3)
.attr(BattlerTagImmunityAbAttr, [ BattlerTagType.INFATUATED, BattlerTagType.TAUNT ])
@@ -5992,7 +6076,7 @@ export function initAbilities() {
.attr(StatusEffectImmunityAbAttr, StatusEffect.POISON, StatusEffect.TOXIC)
.ignorable(),
new Ability(Abilities.FLASH_FIRE, 3)
- .attr(TypeImmunityAddBattlerTagAbAttr, Type.FIRE, BattlerTagType.FIRE_BOOST, 1)
+ .attr(TypeImmunityAddBattlerTagAbAttr, PokemonType.FIRE, BattlerTagType.FIRE_BOOST, 1)
.ignorable(),
new Ability(Abilities.SHIELD_DUST, 3)
.attr(IgnoreMoveEffectsAbAttr)
@@ -6022,7 +6106,7 @@ export function initAbilities() {
.attr(UnswappableAbilityAbAttr)
.ignorable(),
new Ability(Abilities.LEVITATE, 3)
- .attr(AttackTypeImmunityAbAttr, Type.GROUND, (pokemon: Pokemon) => !pokemon.getTag(GroundedTag) && !globalScene.arena.getTag(ArenaTagType.GRAVITY))
+ .attr(AttackTypeImmunityAbAttr, PokemonType.GROUND, (pokemon: Pokemon) => !pokemon.getTag(GroundedTag) && !globalScene.arena.getTag(ArenaTagType.GRAVITY))
.ignorable(),
new Ability(Abilities.EFFECT_SPORE, 3)
.attr(EffectSporeAbAttr),
@@ -6035,8 +6119,8 @@ export function initAbilities() {
new Ability(Abilities.NATURAL_CURE, 3)
.attr(PreSwitchOutResetStatusAbAttr),
new Ability(Abilities.LIGHTNING_ROD, 3)
- .attr(RedirectTypeMoveAbAttr, Type.ELECTRIC)
- .attr(TypeImmunityStatStageChangeAbAttr, Type.ELECTRIC, Stat.SPATK, 1)
+ .attr(RedirectTypeMoveAbAttr, PokemonType.ELECTRIC)
+ .attr(TypeImmunityStatStageChangeAbAttr, PokemonType.ELECTRIC, Stat.SPATK, 1)
.ignorable(),
new Ability(Abilities.SERENE_GRACE, 3)
.attr(MoveEffectChanceMultiplierAbAttr, 2),
@@ -6071,7 +6155,7 @@ export function initAbilities() {
.ignorable(),
new Ability(Abilities.MAGNET_PULL, 3)
.attr(ArenaTrapAbAttr, (user, target) => {
- if (target.getTypes(true).includes(Type.STEEL) || (target.getTypes(true).includes(Type.STELLAR) && target.getTypes().includes(Type.STEEL))) {
+ if (target.getTypes(true).includes(PokemonType.STEEL) || (target.getTypes(true).includes(PokemonType.STELLAR) && target.getTypes().includes(PokemonType.STEEL))) {
return true;
}
return false;
@@ -6088,8 +6172,8 @@ export function initAbilities() {
.attr(IncreasePpAbAttr)
.attr(PostSummonMessageAbAttr, (pokemon: Pokemon) => i18next.t("abilityTriggers:postSummonPressure", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) })),
new Ability(Abilities.THICK_FAT, 3)
- .attr(ReceivedTypeDamageMultiplierAbAttr, Type.FIRE, 0.5)
- .attr(ReceivedTypeDamageMultiplierAbAttr, Type.ICE, 0.5)
+ .attr(ReceivedTypeDamageMultiplierAbAttr, PokemonType.FIRE, 0.5)
+ .attr(ReceivedTypeDamageMultiplierAbAttr, PokemonType.ICE, 0.5)
.ignorable(),
new Ability(Abilities.EARLY_BIRD, 3)
.attr(ReduceStatusEffectDurationAbAttr, StatusEffect.SLEEP),
@@ -6105,7 +6189,8 @@ export function initAbilities() {
.attr(ProtectStatAbAttr, Stat.ATK)
.ignorable(),
new Ability(Abilities.PICKUP, 3)
- .attr(PostBattleLootAbAttr),
+ .attr(PostBattleLootAbAttr)
+ .attr(UnsuppressableAbilityAbAttr),
new Ability(Abilities.TRUANT, 3)
.attr(PostSummonAddBattlerTagAbAttr, BattlerTagType.TRUANT, 1, false),
new Ability(Abilities.HUSTLE, 3)
@@ -6137,13 +6222,13 @@ export function initAbilities() {
new Ability(Abilities.LIQUID_OOZE, 3)
.attr(ReverseDrainAbAttr),
new Ability(Abilities.OVERGROW, 3)
- .attr(LowHpMoveTypePowerBoostAbAttr, Type.GRASS),
+ .attr(LowHpMoveTypePowerBoostAbAttr, PokemonType.GRASS),
new Ability(Abilities.BLAZE, 3)
- .attr(LowHpMoveTypePowerBoostAbAttr, Type.FIRE),
+ .attr(LowHpMoveTypePowerBoostAbAttr, PokemonType.FIRE),
new Ability(Abilities.TORRENT, 3)
- .attr(LowHpMoveTypePowerBoostAbAttr, Type.WATER),
+ .attr(LowHpMoveTypePowerBoostAbAttr, PokemonType.WATER),
new Ability(Abilities.SWARM, 3)
- .attr(LowHpMoveTypePowerBoostAbAttr, Type.BUG),
+ .attr(LowHpMoveTypePowerBoostAbAttr, PokemonType.BUG),
new Ability(Abilities.ROCK_HEAD, 3)
.attr(BlockRecoilDamageAttr),
new Ability(Abilities.DROUGHT, 3)
@@ -6179,7 +6264,7 @@ export function initAbilities() {
.conditionalAttr(pokemon => !!pokemon.getTag(BattlerTagType.CONFUSED), StatMultiplierAbAttr, Stat.EVA, 2)
.ignorable(),
new Ability(Abilities.MOTOR_DRIVE, 4)
- .attr(TypeImmunityStatStageChangeAbAttr, Type.ELECTRIC, Stat.SPD, 1)
+ .attr(TypeImmunityStatStageChangeAbAttr, PokemonType.ELECTRIC, Stat.SPD, 1)
.ignorable(),
new Ability(Abilities.RIVALRY, 4)
.attr(MovePowerBoostAbAttr, (user, target, move) => user?.gender !== Gender.GENDERLESS && target?.gender !== Gender.GENDERLESS && user?.gender === target?.gender, 1.25, true)
@@ -6200,7 +6285,7 @@ export function initAbilities() {
.bypassFaint() // Allows reviver seed to activate Unburden
.edgeCase(), // Should not restore Unburden boost if Pokemon loses then regains Unburden ability
new Ability(Abilities.HEATPROOF, 4)
- .attr(ReceivedTypeDamageMultiplierAbAttr, Type.FIRE, 0.5)
+ .attr(ReceivedTypeDamageMultiplierAbAttr, PokemonType.FIRE, 0.5)
.attr(ReduceBurnDamageAbAttr, 0.5)
.ignorable(),
new Ability(Abilities.SIMPLE, 4)
@@ -6209,8 +6294,8 @@ export function initAbilities() {
new Ability(Abilities.DRY_SKIN, 4)
.attr(PostWeatherLapseDamageAbAttr, 2, WeatherType.SUNNY, WeatherType.HARSH_SUN)
.attr(PostWeatherLapseHealAbAttr, 2, WeatherType.RAIN, WeatherType.HEAVY_RAIN)
- .attr(ReceivedTypeDamageMultiplierAbAttr, Type.FIRE, 1.25)
- .attr(TypeImmunityHealAbAttr, Type.WATER)
+ .attr(ReceivedTypeDamageMultiplierAbAttr, PokemonType.FIRE, 1.25)
+ .attr(TypeImmunityHealAbAttr, PokemonType.WATER)
.ignorable(),
new Ability(Abilities.DOWNLOAD, 4)
.attr(DownloadAbAttr),
@@ -6234,7 +6319,7 @@ export function initAbilities() {
.conditionalAttr(pokemon => pokemon.status ? pokemon.status.effect === StatusEffect.PARALYSIS : false, StatMultiplierAbAttr, Stat.SPD, 2)
.conditionalAttr(pokemon => !!pokemon.status || pokemon.hasAbility(Abilities.COMATOSE), StatMultiplierAbAttr, Stat.SPD, 1.5),
new Ability(Abilities.NORMALIZE, 4)
- .attr(MoveTypeChangeAbAttr, Type.NORMAL, 1.2, (user, target, move) => {
+ .attr(MoveTypeChangeAbAttr, PokemonType.NORMAL, 1.2, (user, target, move) => {
return ![ Moves.HIDDEN_POWER, Moves.WEATHER_BALL, Moves.NATURAL_GIFT, Moves.JUDGMENT, Moves.TECHNO_BLAST ].includes(move.id);
}),
new Ability(Abilities.SNIPER, 4)
@@ -6281,11 +6366,11 @@ export function initAbilities() {
new Ability(Abilities.SLOW_START, 4)
.attr(PostSummonAddBattlerTagAbAttr, BattlerTagType.SLOW_START, 5),
new Ability(Abilities.SCRAPPY, 4)
- .attr(IgnoreTypeImmunityAbAttr, Type.GHOST, [ Type.NORMAL, Type.FIGHTING ])
+ .attr(IgnoreTypeImmunityAbAttr, PokemonType.GHOST, [ PokemonType.NORMAL, PokemonType.FIGHTING ])
.attr(IntimidateImmunityAbAttr),
new Ability(Abilities.STORM_DRAIN, 4)
- .attr(RedirectTypeMoveAbAttr, Type.WATER)
- .attr(TypeImmunityStatStageChangeAbAttr, Type.WATER, Stat.SPATK, 1)
+ .attr(RedirectTypeMoveAbAttr, PokemonType.WATER)
+ .attr(TypeImmunityStatStageChangeAbAttr, PokemonType.WATER, Stat.SPATK, 1)
.ignorable(),
new Ability(Abilities.ICE_BODY, 4)
.attr(BlockWeatherDamageAttr, WeatherType.HAIL)
@@ -6297,7 +6382,8 @@ export function initAbilities() {
.attr(PostSummonWeatherChangeAbAttr, WeatherType.SNOW)
.attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.SNOW),
new Ability(Abilities.HONEY_GATHER, 4)
- .attr(MoneyAbAttr),
+ .attr(MoneyAbAttr)
+ .attr(UnsuppressableAbilityAbAttr),
new Ability(Abilities.FRISK, 4)
.attr(FriskAbAttr),
new Ability(Abilities.RECKLESS, 4)
@@ -6411,12 +6497,12 @@ export function initAbilities() {
new Ability(Abilities.MOXIE, 5)
.attr(PostVictoryStatStageChangeAbAttr, Stat.ATK, 1),
new Ability(Abilities.JUSTIFIED, 5)
- .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => user.getMoveType(move) === Type.DARK && move.category !== MoveCategory.STATUS, Stat.ATK, 1),
+ .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => user.getMoveType(move) === PokemonType.DARK && move.category !== MoveCategory.STATUS, Stat.ATK, 1),
new Ability(Abilities.RATTLED, 5)
.attr(PostDefendStatStageChangeAbAttr, (target, user, move) => {
const moveType = user.getMoveType(move);
return move.category !== MoveCategory.STATUS
- && (moveType === Type.DARK || moveType === Type.BUG || moveType === Type.GHOST);
+ && (moveType === PokemonType.DARK || moveType === PokemonType.BUG || moveType === PokemonType.GHOST);
}, Stat.SPD, 1)
.attr(PostIntimidateStatStageChangeAbAttr, [ Stat.SPD ], 1),
new Ability(Abilities.MAGIC_BOUNCE, 5)
@@ -6426,14 +6512,14 @@ export function initAbilities() {
// rely on move history
.edgeCase(),
new Ability(Abilities.SAP_SIPPER, 5)
- .attr(TypeImmunityStatStageChangeAbAttr, Type.GRASS, Stat.ATK, 1)
+ .attr(TypeImmunityStatStageChangeAbAttr, PokemonType.GRASS, Stat.ATK, 1)
.ignorable(),
new Ability(Abilities.PRANKSTER, 5)
.attr(ChangeMovePriorityAbAttr, (pokemon, move: Move) => move.category === MoveCategory.STATUS, 1),
new Ability(Abilities.SAND_FORCE, 5)
- .attr(MoveTypePowerBoostAbAttr, Type.ROCK, 1.3)
- .attr(MoveTypePowerBoostAbAttr, Type.GROUND, 1.3)
- .attr(MoveTypePowerBoostAbAttr, Type.STEEL, 1.3)
+ .attr(MoveTypePowerBoostAbAttr, PokemonType.ROCK, 1.3)
+ .attr(MoveTypePowerBoostAbAttr, PokemonType.GROUND, 1.3)
+ .attr(MoveTypePowerBoostAbAttr, PokemonType.STEEL, 1.3)
.attr(BlockWeatherDamageAttr, WeatherType.SANDSTORM)
.condition(getWeatherCondition(WeatherType.SANDSTORM)),
new Ability(Abilities.IRON_BARBS, 5)
@@ -6481,7 +6567,7 @@ export function initAbilities() {
new Ability(Abilities.STRONG_JAW, 6)
.attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.BITING_MOVE), 1.5),
new Ability(Abilities.REFRIGERATE, 6)
- .attr(MoveTypeChangeAbAttr, Type.ICE, 1.2, (user, target, move) => move.type === Type.NORMAL && !move.hasAttr(VariableMoveTypeAttr)),
+ .attr(MoveTypeChangeAbAttr, PokemonType.ICE, 1.2, (user, target, move) => move.type === PokemonType.NORMAL && !move.hasAttr(VariableMoveTypeAttr)),
new Ability(Abilities.SWEET_VEIL, 6)
.attr(UserFieldStatusEffectImmunityAbAttr, StatusEffect.SLEEP)
.attr(UserFieldBattlerTagImmunityAbAttr, BattlerTagType.DROWSY)
@@ -6493,7 +6579,7 @@ export function initAbilities() {
.attr(UnsuppressableAbilityAbAttr)
.attr(NoFusionAbilityAbAttr),
new Ability(Abilities.GALE_WINGS, 6)
- .attr(ChangeMovePriorityAbAttr, (pokemon, move) => pokemon.isFullHp() && pokemon.getMoveType(move) === Type.FLYING, 1),
+ .attr(ChangeMovePriorityAbAttr, (pokemon, move) => pokemon.isFullHp() && pokemon.getMoveType(move) === PokemonType.FLYING, 1),
new Ability(Abilities.MEGA_LAUNCHER, 6)
.attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.PULSE_MOVE), 1.5),
new Ability(Abilities.GRASS_PELT, 6)
@@ -6504,23 +6590,23 @@ export function initAbilities() {
new Ability(Abilities.TOUGH_CLAWS, 6)
.attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.MAKES_CONTACT), 1.3),
new Ability(Abilities.PIXILATE, 6)
- .attr(MoveTypeChangeAbAttr, Type.FAIRY, 1.2, (user, target, move) => move.type === Type.NORMAL && !move.hasAttr(VariableMoveTypeAttr)),
+ .attr(MoveTypeChangeAbAttr, PokemonType.FAIRY, 1.2, (user, target, move) => move.type === PokemonType.NORMAL && !move.hasAttr(VariableMoveTypeAttr)),
new Ability(Abilities.GOOEY, 6)
.attr(PostDefendStatStageChangeAbAttr, (target, user, move) => move.hasFlag(MoveFlags.MAKES_CONTACT), Stat.SPD, -1, false),
new Ability(Abilities.AERILATE, 6)
- .attr(MoveTypeChangeAbAttr, Type.FLYING, 1.2, (user, target, move) => move.type === Type.NORMAL && !move.hasAttr(VariableMoveTypeAttr)),
+ .attr(MoveTypeChangeAbAttr, PokemonType.FLYING, 1.2, (user, target, move) => move.type === PokemonType.NORMAL && !move.hasAttr(VariableMoveTypeAttr)),
new Ability(Abilities.PARENTAL_BOND, 6)
.attr(AddSecondStrikeAbAttr, 0.25),
new Ability(Abilities.DARK_AURA, 6)
.attr(PostSummonMessageAbAttr, (pokemon: Pokemon) => i18next.t("abilityTriggers:postSummonDarkAura", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }))
- .attr(FieldMoveTypePowerBoostAbAttr, Type.DARK, 4 / 3),
+ .attr(FieldMoveTypePowerBoostAbAttr, PokemonType.DARK, 4 / 3),
new Ability(Abilities.FAIRY_AURA, 6)
.attr(PostSummonMessageAbAttr, (pokemon: Pokemon) => i18next.t("abilityTriggers:postSummonFairyAura", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }))
- .attr(FieldMoveTypePowerBoostAbAttr, Type.FAIRY, 4 / 3),
+ .attr(FieldMoveTypePowerBoostAbAttr, PokemonType.FAIRY, 4 / 3),
new Ability(Abilities.AURA_BREAK, 6)
.ignorable()
- .conditionalAttr(pokemon => globalScene.getField(true).some(p => p.hasAbility(Abilities.DARK_AURA)), FieldMoveTypePowerBoostAbAttr, Type.DARK, 9 / 16)
- .conditionalAttr(pokemon => globalScene.getField(true).some(p => p.hasAbility(Abilities.FAIRY_AURA)), FieldMoveTypePowerBoostAbAttr, Type.FAIRY, 9 / 16)
+ .conditionalAttr(pokemon => globalScene.getField(true).some(p => p.hasAbility(Abilities.DARK_AURA)), FieldMoveTypePowerBoostAbAttr, PokemonType.DARK, 9 / 16)
+ .conditionalAttr(pokemon => globalScene.getField(true).some(p => p.hasAbility(Abilities.FAIRY_AURA)), FieldMoveTypePowerBoostAbAttr, PokemonType.FAIRY, 9 / 16)
.conditionalAttr(pokemon => globalScene.getField(true).some(p => p.hasAbility(Abilities.DARK_AURA) || p.hasAbility(Abilities.FAIRY_AURA)),
PostSummonMessageAbAttr, (pokemon: Pokemon) => i18next.t("abilityTriggers:postSummonAuraBreak", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) })),
new Ability(Abilities.PRIMORDIAL_SEA, 6)
@@ -6547,7 +6633,7 @@ export function initAbilities() {
.attr(PostDamageForceSwitchAbAttr)
.edgeCase(), // Should not trigger when hurting itself in confusion, causes Fake Out to fail turn 1 and succeed turn 2 if pokemon is switched out before battle start via playing in Switch Mode
new Ability(Abilities.WATER_COMPACTION, 7)
- .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => user.getMoveType(move) === Type.WATER && move.category !== MoveCategory.STATUS, Stat.DEF, 2),
+ .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => user.getMoveType(move) === PokemonType.WATER && move.category !== MoveCategory.STATUS, Stat.DEF, 2),
new Ability(Abilities.MERCILESS, 7)
.attr(ConditionalCritAbAttr, (user, target, move) => target?.status?.effect === StatusEffect.TOXIC || target?.status?.effect === StatusEffect.POISON),
new Ability(Abilities.SHIELDS_DOWN, 7)
@@ -6565,12 +6651,12 @@ export function initAbilities() {
new Ability(Abilities.STAKEOUT, 7)
.attr(MovePowerBoostAbAttr, (user, target, move) => !!target?.turnData.switchedInThisTurn, 2),
new Ability(Abilities.WATER_BUBBLE, 7)
- .attr(ReceivedTypeDamageMultiplierAbAttr, Type.FIRE, 0.5)
- .attr(MoveTypePowerBoostAbAttr, Type.WATER, 2)
+ .attr(ReceivedTypeDamageMultiplierAbAttr, PokemonType.FIRE, 0.5)
+ .attr(MoveTypePowerBoostAbAttr, PokemonType.WATER, 2)
.attr(StatusEffectImmunityAbAttr, StatusEffect.BURN)
.ignorable(),
new Ability(Abilities.STEELWORKER, 7)
- .attr(MoveTypePowerBoostAbAttr, Type.STEEL),
+ .attr(MoveTypePowerBoostAbAttr, PokemonType.STEEL),
new Ability(Abilities.BERSERK, 7)
.attr(PostDefendHpGatedStatStageChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, 0.5, [ Stat.SPATK ], 1)
.condition(getSheerForceHitDisableAbCondition()),
@@ -6580,11 +6666,11 @@ export function initAbilities() {
new Ability(Abilities.LONG_REACH, 7)
.attr(IgnoreContactAbAttr),
new Ability(Abilities.LIQUID_VOICE, 7)
- .attr(MoveTypeChangeAbAttr, Type.WATER, 1, (user, target, move) => move.hasFlag(MoveFlags.SOUND_BASED)),
+ .attr(MoveTypeChangeAbAttr, PokemonType.WATER, 1, (user, target, move) => move.hasFlag(MoveFlags.SOUND_BASED)),
new Ability(Abilities.TRIAGE, 7)
.attr(ChangeMovePriorityAbAttr, (pokemon, move) => move.hasFlag(MoveFlags.TRIAGE_MOVE), 3),
new Ability(Abilities.GALVANIZE, 7)
- .attr(MoveTypeChangeAbAttr, Type.ELECTRIC, 1.2, (user, target, move) => move.type === Type.NORMAL && !move.hasAttr(VariableMoveTypeAttr)),
+ .attr(MoveTypeChangeAbAttr, PokemonType.ELECTRIC, 1.2, (user, target, move) => move.type === PokemonType.NORMAL && !move.hasAttr(VariableMoveTypeAttr)),
new Ability(Abilities.SURGE_SURFER, 7)
.conditionalAttr(getTerrainCondition(TerrainType.ELECTRIC), StatMultiplierAbAttr, Stat.SPD, 2),
new Ability(Abilities.SCHOOLING, 7)
@@ -6632,7 +6718,7 @@ export function initAbilities() {
.attr(NoFusionAbilityAbAttr)
.bypassFaint(),
new Ability(Abilities.CORROSION, 7)
- .attr(IgnoreTypeStatusEffectImmunityAbAttr, [ StatusEffect.POISON, StatusEffect.TOXIC ], [ Type.STEEL, Type.POISON ])
+ .attr(IgnoreTypeStatusEffectImmunityAbAttr, [ StatusEffect.POISON, StatusEffect.TOXIC ], [ PokemonType.STEEL, PokemonType.POISON ])
.edgeCase(), // Should poison itself with toxic orb.
new Ability(Abilities.COMATOSE, 7)
.attr(UncopiableAbilityAbAttr)
@@ -6652,7 +6738,7 @@ export function initAbilities() {
.attr(AllyMoveCategoryPowerBoostAbAttr, [ MoveCategory.SPECIAL ], 1.3),
new Ability(Abilities.FLUFFY, 7)
.attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => move.hasFlag(MoveFlags.MAKES_CONTACT), 0.5)
- .attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => user.getMoveType(move) === Type.FIRE, 2)
+ .attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => user.getMoveType(move) === PokemonType.FIRE, 2)
.ignorable(),
new Ability(Abilities.DAZZLING, 7)
.attr(FieldPriorityMoveImmunityAbAttr)
@@ -6742,7 +6828,7 @@ export function initAbilities() {
.attr(PostDefendStatStageChangeAbAttr, (target, user, move) => {
const moveType = user.getMoveType(move);
return move.category !== MoveCategory.STATUS
- && (moveType === Type.FIRE || moveType === Type.WATER);
+ && (moveType === PokemonType.FIRE || moveType === PokemonType.WATER);
}, Stat.SPD, 6),
new Ability(Abilities.PUNK_ROCK, 8)
.attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.SOUND_BASED), 1.3)
@@ -6781,7 +6867,7 @@ export function initAbilities() {
new Ability(Abilities.SCREEN_CLEANER, 8)
.attr(PostSummonRemoveArenaTagAbAttr, [ ArenaTagType.AURORA_VEIL, ArenaTagType.LIGHT_SCREEN, ArenaTagType.REFLECT ]),
new Ability(Abilities.STEELY_SPIRIT, 8)
- .attr(UserFieldMoveTypePowerBoostAbAttr, Type.STEEL),
+ .attr(UserFieldMoveTypePowerBoostAbAttr, PokemonType.STEEL),
new Ability(Abilities.PERISH_BODY, 8)
.attr(PostDefendPerishSongAbAttr, 4)
.bypassFaint(),
@@ -6792,12 +6878,12 @@ export function initAbilities() {
new Ability(Abilities.GORILLA_TACTICS, 8)
.attr(GorillaTacticsAbAttr),
new Ability(Abilities.NEUTRALIZING_GAS, 8)
- .attr(SuppressFieldAbilitiesAbAttr)
+ .attr(PostSummonAddArenaTagAbAttr, ArenaTagType.NEUTRALIZING_GAS, 0)
+ .attr(PreLeaveFieldRemoveSuppressAbilitiesSourceAbAttr)
.attr(UncopiableAbilityAbAttr)
.attr(UnswappableAbilityAbAttr)
.attr(NoTransformAbilityAbAttr)
- .attr(PostSummonMessageAbAttr, (pokemon: Pokemon) => i18next.t("abilityTriggers:postSummonNeutralizingGas", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }))
- .partial(), // A bunch of weird interactions with other abilities being suppressed then unsuppressed
+ .bypassFaint(),
new Ability(Abilities.PASTEL_VEIL, 8)
.attr(PostSummonUserFieldRemoveStatusEffectAbAttr, StatusEffect.POISON, StatusEffect.TOXIC)
.attr(UserFieldStatusEffectImmunityAbAttr, StatusEffect.POISON, StatusEffect.TOXIC)
@@ -6817,9 +6903,9 @@ export function initAbilities() {
new Ability(Abilities.CURIOUS_MEDICINE, 8)
.attr(PostSummonClearAllyStatStagesAbAttr),
new Ability(Abilities.TRANSISTOR, 8)
- .attr(MoveTypePowerBoostAbAttr, Type.ELECTRIC),
+ .attr(MoveTypePowerBoostAbAttr, PokemonType.ELECTRIC),
new Ability(Abilities.DRAGONS_MAW, 8)
- .attr(MoveTypePowerBoostAbAttr, Type.DRAGON),
+ .attr(MoveTypePowerBoostAbAttr, PokemonType.DRAGON),
new Ability(Abilities.CHILLING_NEIGH, 8)
.attr(PostVictoryStatStageChangeAbAttr, Stat.ATK, 1),
new Ability(Abilities.GRIM_NEIGH, 8)
@@ -6845,7 +6931,7 @@ export function initAbilities() {
.attr(PostDefendTerrainChangeAbAttr, TerrainType.GRASSY)
.bypassFaint(),
new Ability(Abilities.THERMAL_EXCHANGE, 9)
- .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => user.getMoveType(move) === Type.FIRE && move.category !== MoveCategory.STATUS, Stat.ATK, 1)
+ .attr(PostDefendStatStageChangeAbAttr, (target, user, move) => user.getMoveType(move) === PokemonType.FIRE && move.category !== MoveCategory.STATUS, Stat.ATK, 1)
.attr(StatusEffectImmunityAbAttr, StatusEffect.BURN)
.ignorable(),
new Ability(Abilities.ANGER_SHELL, 9)
@@ -6854,10 +6940,10 @@ export function initAbilities() {
.condition(getSheerForceHitDisableAbCondition()),
new Ability(Abilities.PURIFYING_SALT, 9)
.attr(StatusEffectImmunityAbAttr)
- .attr(ReceivedTypeDamageMultiplierAbAttr, Type.GHOST, 0.5)
+ .attr(ReceivedTypeDamageMultiplierAbAttr, PokemonType.GHOST, 0.5)
.ignorable(),
new Ability(Abilities.WELL_BAKED_BODY, 9)
- .attr(TypeImmunityStatStageChangeAbAttr, Type.FIRE, Stat.DEF, 2)
+ .attr(TypeImmunityStatStageChangeAbAttr, PokemonType.FIRE, Stat.DEF, 2)
.ignorable(),
new Ability(Abilities.WIND_RIDER, 9)
.attr(MoveImmunityStatStageChangeAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.hasFlag(MoveFlags.WIND_MOVE) && move.category !== MoveCategory.STATUS, Stat.ATK, 1)
@@ -6868,7 +6954,7 @@ export function initAbilities() {
.attr(ForceSwitchOutImmunityAbAttr)
.ignorable(),
new Ability(Abilities.ROCKY_PAYLOAD, 9)
- .attr(MoveTypePowerBoostAbAttr, Type.ROCK),
+ .attr(MoveTypePowerBoostAbAttr, PokemonType.ROCK),
new Ability(Abilities.WIND_POWER, 9)
.attr(PostDefendApplyBattlerTagAbAttr, (target, user, move) => move.hasFlag(MoveFlags.WIND_MOVE), BattlerTagType.CHARGED),
new Ability(Abilities.ZERO_TO_HERO, 9)
@@ -6943,14 +7029,14 @@ export function initAbilities() {
.attr(FieldPriorityMoveImmunityAbAttr)
.ignorable(),
new Ability(Abilities.EARTH_EATER, 9)
- .attr(TypeImmunityHealAbAttr, Type.GROUND)
+ .attr(TypeImmunityHealAbAttr, PokemonType.GROUND)
.ignorable(),
new Ability(Abilities.MYCELIUM_MIGHT, 9)
.attr(ChangeMovePriorityAbAttr, (pokemon, move) => move.category === MoveCategory.STATUS, -0.2)
.attr(PreventBypassSpeedChanceAbAttr, (pokemon, move) => move.category === MoveCategory.STATUS)
.attr(MoveAbilityBypassAbAttr, (pokemon, move: Move) => move.category === MoveCategory.STATUS),
new Ability(Abilities.MINDS_EYE, 9)
- .attr(IgnoreTypeImmunityAbAttr, Type.GHOST, [ Type.NORMAL, Type.FIGHTING ])
+ .attr(IgnoreTypeImmunityAbAttr, PokemonType.GHOST, [ PokemonType.NORMAL, PokemonType.FIGHTING ])
.attr(ProtectStatAbAttr, Stat.ACC)
.attr(IgnoreOpponentStatStagesAbAttr, [ Stat.EVA ])
.ignorable(),
@@ -6993,9 +7079,11 @@ export function initAbilities() {
.attr(UnswappableAbilityAbAttr)
.ignorable(),
new Ability(Abilities.TERAFORM_ZERO, 9)
+ .attr(ClearWeatherAbAttr, [ WeatherType.SUNNY, WeatherType.RAIN, WeatherType.SANDSTORM, WeatherType.HAIL, WeatherType.SNOW, WeatherType.FOG, WeatherType.HEAVY_RAIN, WeatherType.HARSH_SUN, WeatherType.STRONG_WINDS ])
+ .attr(ClearTerrainAbAttr, [ TerrainType.MISTY, TerrainType.ELECTRIC, TerrainType.GRASSY, TerrainType.PSYCHIC ])
.attr(UncopiableAbilityAbAttr)
.attr(UnswappableAbilityAbAttr)
- .unimplemented(),
+ .condition(getOncePerBattleCondition(Abilities.TERAFORM_ZERO)),
new Ability(Abilities.POISON_PUPPETEER, 9)
.attr(UncopiableAbilityAbAttr)
.attr(UnswappableAbilityAbAttr)
diff --git a/src/data/arena-tag.ts b/src/data/arena-tag.ts
index 2fa4593fd6c..4219b9a3ba2 100644
--- a/src/data/arena-tag.ts
+++ b/src/data/arena-tag.ts
@@ -1,14 +1,24 @@
import { globalScene } from "#app/global-scene";
import type { Arena } from "#app/field/arena";
-import { Type } from "#enums/type";
+import { PokemonType } from "#enums/pokemon-type";
import { BooleanHolder, NumberHolder, toDmgValue } from "#app/utils";
-import { MoveCategory, allMoves, MoveTarget } from "#app/data/move";
+import { allMoves } from "#app/data/moves/move";
+import { MoveTarget } from "#enums/MoveTarget";
+import { MoveCategory } from "#enums/MoveCategory";
import { getPokemonNameWithAffix } from "#app/messages";
import type Pokemon from "#app/field/pokemon";
import { HitResult, PokemonMove } from "#app/field/pokemon";
import { StatusEffect } from "#enums/status-effect";
import type { BattlerIndex } from "#app/battle";
-import { BlockNonDirectDamageAbAttr, InfiltratorAbAttr, ProtectStatAbAttr, applyAbAttrs } from "#app/data/ability";
+import {
+ BlockNonDirectDamageAbAttr,
+ InfiltratorAbAttr,
+ PreLeaveFieldRemoveSuppressAbilitiesSourceAbAttr,
+ ProtectStatAbAttr,
+ applyAbAttrs,
+ applyOnGainAbAttrs,
+ applyOnLoseAbAttrs,
+} from "#app/data/ability";
import { Stat } from "#enums/stat";
import { CommonAnim, CommonBattleAnim } from "#app/data/battle-anims";
import i18next from "i18next";
@@ -25,7 +35,7 @@ import { CommonAnimPhase } from "#app/phases/common-anim-phase";
export enum ArenaTagSide {
BOTH,
PLAYER,
- ENEMY
+ ENEMY,
}
export abstract class ArenaTag {
@@ -34,31 +44,34 @@ export abstract class ArenaTag {
public turnCount: number,
public sourceMove?: Moves,
public sourceId?: number,
- public side: ArenaTagSide = ArenaTagSide.BOTH
+ public side: ArenaTagSide = ArenaTagSide.BOTH,
) {}
- apply(arena: Arena, simulated: boolean, ...args: unknown[]): boolean {
+ apply(_arena: Arena, _simulated: boolean, ..._args: unknown[]): boolean {
return true;
}
- onAdd(arena: Arena, quiet: boolean = false): void { }
+ onAdd(_arena: Arena, _quiet = false): void {}
- onRemove(arena: Arena, quiet: boolean = false): void {
+ onRemove(_arena: Arena, quiet = false): void {
if (!quiet) {
- globalScene.queueMessage(i18next.t(`arenaTag:arenaOnRemove${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`, { moveName: this.getMoveName() }));
+ globalScene.queueMessage(
+ i18next.t(
+ `arenaTag:arenaOnRemove${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`,
+ { moveName: this.getMoveName() },
+ ),
+ );
}
}
- onOverlap(arena: Arena): void { }
+ onOverlap(_arena: Arena): void {}
- lapse(arena: Arena): boolean {
- return this.turnCount < 1 || !!(--this.turnCount);
+ lapse(_arena: Arena): boolean {
+ return this.turnCount < 1 || !!--this.turnCount;
}
getMoveName(): string | null {
- return this.sourceMove
- ? allMoves[this.sourceMove].name
- : null;
+ return this.sourceMove ? allMoves[this.sourceMove].name : null;
}
/**
@@ -66,7 +79,7 @@ export abstract class ArenaTag {
* This is meant to be inherited from by any arena tag with custom attributes
* @param {ArenaTag | any} source An arena tag
*/
- loadTag(source : ArenaTag | any) : void {
+ loadTag(source: ArenaTag | any): void {
this.turnCount = source.turnCount;
this.sourceMove = source.sourceMove;
this.sourceId = source.sourceId;
@@ -107,14 +120,18 @@ export class MistTag extends ArenaTag {
super(ArenaTagType.MIST, turnCount, Moves.MIST, sourceId, side);
}
- onAdd(arena: Arena, quiet: boolean = false): void {
+ onAdd(arena: Arena, quiet = false): void {
super.onAdd(arena);
if (this.sourceId) {
const source = globalScene.getPokemonById(this.sourceId);
if (!quiet && source) {
- globalScene.queueMessage(i18next.t("arenaTag:mistOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(source) }));
+ globalScene.queueMessage(
+ i18next.t("arenaTag:mistOnAdd", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(source),
+ }),
+ );
} else if (!quiet) {
console.warn("Failed to get source for MistTag onAdd");
}
@@ -123,14 +140,14 @@ export class MistTag extends ArenaTag {
/**
* Cancels the lowering of stats
- * @param arena the {@linkcode Arena} containing this effect
+ * @param _arena the {@linkcode Arena} containing this effect
* @param simulated `true` if the effect should be applied quietly
* @param attacker the {@linkcode Pokemon} using a move into this effect.
* @param cancelled a {@linkcode BooleanHolder} whose value is set to `true`
* to flag the stat reduction as cancelled
* @returns `true` if a stat reduction was cancelled; `false` otherwise
*/
- override apply(arena: Arena, simulated: boolean, attacker: Pokemon, cancelled: BooleanHolder): boolean {
+ override apply(_arena: Arena, simulated: boolean, attacker: Pokemon, cancelled: BooleanHolder): boolean {
// `StatStageChangePhase` currently doesn't have a reference to the source of stat drops,
// so this code currently has no effect on gameplay.
if (attacker) {
@@ -169,7 +186,14 @@ export class WeakenMoveScreenTag extends ArenaTag {
* @param side - The side (player or enemy) the tag affects.
* @param weakenedCategories - The categories of moves that are weakened by this tag.
*/
- constructor(tagType: ArenaTagType, turnCount: number, sourceMove: Moves, sourceId: number, side: ArenaTagSide, weakenedCategories: MoveCategory[]) {
+ constructor(
+ tagType: ArenaTagType,
+ turnCount: number,
+ sourceMove: Moves,
+ sourceId: number,
+ side: ArenaTagSide,
+ weakenedCategories: MoveCategory[],
+ ) {
super(tagType, turnCount, sourceMove, sourceId, side);
this.weakenedCategories = weakenedCategories;
@@ -178,14 +202,20 @@ export class WeakenMoveScreenTag extends ArenaTag {
/**
* Applies the weakening effect to the move.
*
- * @param arena the {@linkcode Arena} where the move is applied.
- * @param simulated n/a
+ * @param _arena the {@linkcode Arena} where the move is applied.
+ * @param _simulated n/a
* @param attacker the attacking {@linkcode Pokemon}
* @param moveCategory the attacking move's {@linkcode MoveCategory}.
* @param damageMultiplier A {@linkcode NumberHolder} containing the damage multiplier
* @returns `true` if the attacking move was weakened; `false` otherwise.
*/
- override apply(arena: Arena, simulated: boolean, attacker: Pokemon, moveCategory: MoveCategory, damageMultiplier: NumberHolder): boolean {
+ override apply(
+ _arena: Arena,
+ _simulated: boolean,
+ attacker: Pokemon,
+ moveCategory: MoveCategory,
+ damageMultiplier: NumberHolder,
+ ): boolean {
if (this.weakenedCategories.includes(moveCategory)) {
const bypassed = new BooleanHolder(false);
applyAbAttrs(InfiltratorAbAttr, attacker, null, false, bypassed);
@@ -205,12 +235,16 @@ export class WeakenMoveScreenTag extends ArenaTag {
*/
class ReflectTag extends WeakenMoveScreenTag {
constructor(turnCount: number, sourceId: number, side: ArenaTagSide) {
- super(ArenaTagType.REFLECT, turnCount, Moves.REFLECT, sourceId, side, [ MoveCategory.PHYSICAL ]);
+ super(ArenaTagType.REFLECT, turnCount, Moves.REFLECT, sourceId, side, [MoveCategory.PHYSICAL]);
}
- onAdd(arena: Arena, quiet: boolean = false): void {
+ onAdd(_arena: Arena, quiet = false): void {
if (!quiet) {
- globalScene.queueMessage(i18next.t(`arenaTag:reflectOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`));
+ globalScene.queueMessage(
+ i18next.t(
+ `arenaTag:reflectOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`,
+ ),
+ );
}
}
}
@@ -221,12 +255,16 @@ class ReflectTag extends WeakenMoveScreenTag {
*/
class LightScreenTag extends WeakenMoveScreenTag {
constructor(turnCount: number, sourceId: number, side: ArenaTagSide) {
- super(ArenaTagType.LIGHT_SCREEN, turnCount, Moves.LIGHT_SCREEN, sourceId, side, [ MoveCategory.SPECIAL ]);
+ super(ArenaTagType.LIGHT_SCREEN, turnCount, Moves.LIGHT_SCREEN, sourceId, side, [MoveCategory.SPECIAL]);
}
- onAdd(arena: Arena, quiet: boolean = false): void {
+ onAdd(_arena: Arena, quiet = false): void {
if (!quiet) {
- globalScene.queueMessage(i18next.t(`arenaTag:lightScreenOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`));
+ globalScene.queueMessage(
+ i18next.t(
+ `arenaTag:lightScreenOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`,
+ ),
+ );
}
}
}
@@ -237,12 +275,19 @@ class LightScreenTag extends WeakenMoveScreenTag {
*/
class AuroraVeilTag extends WeakenMoveScreenTag {
constructor(turnCount: number, sourceId: number, side: ArenaTagSide) {
- super(ArenaTagType.AURORA_VEIL, turnCount, Moves.AURORA_VEIL, sourceId, side, [ MoveCategory.SPECIAL, MoveCategory.PHYSICAL ]);
+ super(ArenaTagType.AURORA_VEIL, turnCount, Moves.AURORA_VEIL, sourceId, side, [
+ MoveCategory.SPECIAL,
+ MoveCategory.PHYSICAL,
+ ]);
}
- onAdd(arena: Arena, quiet: boolean = false): void {
+ onAdd(_arena: Arena, quiet = false): void {
if (!quiet) {
- globalScene.queueMessage(i18next.t(`arenaTag:auroraVeilOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`));
+ globalScene.queueMessage(
+ i18next.t(
+ `arenaTag:auroraVeilOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`,
+ ),
+ );
}
}
}
@@ -259,19 +304,31 @@ export class ConditionalProtectTag extends ArenaTag {
/** Does this apply to all moves, including those that ignore other forms of protection? */
protected ignoresBypass: boolean;
- constructor(tagType: ArenaTagType, sourceMove: Moves, sourceId: number, side: ArenaTagSide, condition: ProtectConditionFunc, ignoresBypass: boolean = false) {
+ constructor(
+ tagType: ArenaTagType,
+ sourceMove: Moves,
+ sourceId: number,
+ side: ArenaTagSide,
+ condition: ProtectConditionFunc,
+ ignoresBypass = false,
+ ) {
super(tagType, 1, sourceMove, sourceId, side);
this.protectConditionFunc = condition;
this.ignoresBypass = ignoresBypass;
}
- onAdd(arena: Arena): void {
- globalScene.queueMessage(i18next.t(`arenaTag:conditionalProtectOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`, { moveName: super.getMoveName() }));
+ onAdd(_arena: Arena): void {
+ globalScene.queueMessage(
+ i18next.t(
+ `arenaTag:conditionalProtectOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`,
+ { moveName: super.getMoveName() },
+ ),
+ );
}
// Removes default message for effect removal
- onRemove(arena: Arena): void { }
+ onRemove(_arena: Arena): void {}
/**
* Checks incoming moves against the condition function
@@ -285,18 +342,28 @@ export class ConditionalProtectTag extends ArenaTag {
* @param ignoresProtectBypass a {@linkcode BooleanHolder} used to flag if a protection effect supercedes effects that ignore protection
* @returns `true` if this tag protected against the attack; `false` otherwise
*/
- override apply(arena: Arena, simulated: boolean, isProtected: BooleanHolder, attacker: Pokemon, defender: Pokemon,
- moveId: Moves, ignoresProtectBypass: BooleanHolder): boolean {
-
- if ((this.side === ArenaTagSide.PLAYER) === defender.isPlayer()
- && this.protectConditionFunc(arena, moveId)) {
+ override apply(
+ arena: Arena,
+ simulated: boolean,
+ isProtected: BooleanHolder,
+ attacker: Pokemon,
+ defender: Pokemon,
+ moveId: Moves,
+ ignoresProtectBypass: BooleanHolder,
+ ): boolean {
+ if ((this.side === ArenaTagSide.PLAYER) === defender.isPlayer() && this.protectConditionFunc(arena, moveId)) {
if (!isProtected.value) {
isProtected.value = true;
if (!simulated) {
attacker.stopMultiHit(defender);
new CommonBattleAnim(CommonAnim.PROTECT, defender).play();
- globalScene.queueMessage(i18next.t("arenaTag:conditionalProtectApply", { moveName: super.getMoveName(), pokemonNameWithAffix: getPokemonNameWithAffix(defender) }));
+ globalScene.queueMessage(
+ i18next.t("arenaTag:conditionalProtectApply", {
+ moveName: super.getMoveName(),
+ pokemonNameWithAffix: getPokemonNameWithAffix(defender),
+ }),
+ );
}
}
@@ -310,12 +377,12 @@ export class ConditionalProtectTag extends ArenaTag {
/**
* Condition function for {@link https://bulbapedia.bulbagarden.net/wiki/Quick_Guard_(move) Quick Guard's}
* protection effect.
- * @param arena {@linkcode Arena} The arena containing the protection effect
+ * @param _arena {@linkcode Arena} The arena containing the protection effect
* @param moveId {@linkcode Moves} The move to check against this condition
* @returns `true` if the incoming move's priority is greater than 0.
* This includes moves with modified priorities from abilities (e.g. Prankster)
*/
-const QuickGuardConditionFunc: ProtectConditionFunc = (arena, moveId) => {
+const QuickGuardConditionFunc: ProtectConditionFunc = (_arena, moveId) => {
const move = allMoves[moveId];
const effectPhase = globalScene.getCurrentPhase();
@@ -341,11 +408,11 @@ class QuickGuardTag extends ConditionalProtectTag {
/**
* Condition function for {@link https://bulbapedia.bulbagarden.net/wiki/Wide_Guard_(move) Wide Guard's}
* protection effect.
- * @param arena {@linkcode Arena} The arena containing the protection effect
+ * @param _arena {@linkcode Arena} The arena containing the protection effect
* @param moveId {@linkcode Moves} The move to check against this condition
* @returns `true` if the incoming move is multi-targeted (even if it's only used against one Pokemon).
*/
-const WideGuardConditionFunc: ProtectConditionFunc = (arena, moveId) : boolean => {
+const WideGuardConditionFunc: ProtectConditionFunc = (_arena, moveId): boolean => {
const move = allMoves[moveId];
switch (move.moveTarget) {
@@ -372,11 +439,11 @@ class WideGuardTag extends ConditionalProtectTag {
/**
* Condition function for {@link https://bulbapedia.bulbagarden.net/wiki/Mat_Block_(move) Mat Block's}
* protection effect.
- * @param arena {@linkcode Arena} The arena containing the protection effect.
+ * @param _arena {@linkcode Arena} The arena containing the protection effect.
* @param moveId {@linkcode Moves} The move to check against this condition.
* @returns `true` if the incoming move is not a Status move.
*/
-const MatBlockConditionFunc: ProtectConditionFunc = (arena, moveId) : boolean => {
+const MatBlockConditionFunc: ProtectConditionFunc = (_arena, moveId): boolean => {
const move = allMoves[moveId];
return move.category !== MoveCategory.STATUS;
};
@@ -390,11 +457,15 @@ class MatBlockTag extends ConditionalProtectTag {
super(ArenaTagType.MAT_BLOCK, Moves.MAT_BLOCK, sourceId, side, MatBlockConditionFunc);
}
- onAdd(arena: Arena) {
+ onAdd(_arena: Arena) {
if (this.sourceId) {
const source = globalScene.getPokemonById(this.sourceId);
if (source) {
- globalScene.queueMessage(i18next.t("arenaTag:matBlockOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(source) }));
+ globalScene.queueMessage(
+ i18next.t("arenaTag:matBlockOnAdd", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(source),
+ }),
+ );
} else {
console.warn("Failed to get source for MatBlockTag onAdd");
}
@@ -405,24 +476,26 @@ class MatBlockTag extends ConditionalProtectTag {
/**
* Condition function for {@link https://bulbapedia.bulbagarden.net/wiki/Crafty_Shield_(move) Crafty Shield's}
* protection effect.
- * @param arena {@linkcode Arena} The arena containing the protection effect
+ * @param _arena {@linkcode Arena} The arena containing the protection effect
* @param moveId {@linkcode Moves} The move to check against this condition
* @returns `true` if the incoming move is a Status move, is not a hazard, and does not target all
* Pokemon or sides of the field.
*/
-const CraftyShieldConditionFunc: ProtectConditionFunc = (arena, moveId) => {
+const CraftyShieldConditionFunc: ProtectConditionFunc = (_arena, moveId) => {
const move = allMoves[moveId];
- return move.category === MoveCategory.STATUS
- && move.moveTarget !== MoveTarget.ENEMY_SIDE
- && move.moveTarget !== MoveTarget.BOTH_SIDES
- && move.moveTarget !== MoveTarget.ALL;
+ return (
+ move.category === MoveCategory.STATUS &&
+ move.moveTarget !== MoveTarget.ENEMY_SIDE &&
+ move.moveTarget !== MoveTarget.BOTH_SIDES &&
+ move.moveTarget !== MoveTarget.ALL
+ );
};
/**
* Arena Tag class for {@link https://bulbapedia.bulbagarden.net/wiki/Crafty_Shield_(move) Crafty Shield}
* Condition: The incoming move is a Status move, is not a hazard, and does
* not target all Pokemon or sides of the field.
-*/
+ */
class CraftyShieldTag extends ConditionalProtectTag {
constructor(sourceId: number, side: ArenaTagSide) {
super(ArenaTagType.CRAFTY_SHIELD, Moves.CRAFTY_SHIELD, sourceId, side, CraftyShieldConditionFunc, true);
@@ -446,19 +519,23 @@ export class NoCritTag extends ArenaTag {
}
/** Queues a message upon adding this effect to the field */
- onAdd(arena: Arena): void {
- globalScene.queueMessage(i18next.t(`arenaTag:noCritOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : "Enemy"}`, {
- moveName: this.getMoveName()
- }));
+ onAdd(_arena: Arena): void {
+ globalScene.queueMessage(
+ i18next.t(`arenaTag:noCritOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : "Enemy"}`, {
+ moveName: this.getMoveName(),
+ }),
+ );
}
/** Queues a message upon removing this effect from the field */
- onRemove(arena: Arena): void {
+ onRemove(_arena: Arena): void {
const source = globalScene.getPokemonById(this.sourceId!); // TODO: is this bang correct?
- globalScene.queueMessage(i18next.t("arenaTag:noCritOnRemove", {
- pokemonNameWithAffix: getPokemonNameWithAffix(source ?? undefined),
- moveName: this.getMoveName()
- }));
+ globalScene.queueMessage(
+ i18next.t("arenaTag:noCritOnRemove", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(source ?? undefined),
+ moveName: this.getMoveName(),
+ }),
+ );
}
}
@@ -475,12 +552,14 @@ class WishTag extends ArenaTag {
super(ArenaTagType.WISH, turnCount, Moves.WISH, sourceId, side);
}
- onAdd(arena: Arena): void {
+ onAdd(_arena: Arena): void {
if (this.sourceId) {
const user = globalScene.getPokemonById(this.sourceId);
if (user) {
this.battlerIndex = user.getBattlerIndex();
- this.triggerMessage = i18next.t("arenaTag:wishTagOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(user) });
+ this.triggerMessage = i18next.t("arenaTag:wishTagOnAdd", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(user),
+ });
this.healHp = toDmgValue(user.getMaxHp() / 2);
} else {
console.warn("Failed to get source for WishTag onAdd");
@@ -488,7 +567,7 @@ class WishTag extends ArenaTag {
}
}
- onRemove(arena: Arena): void {
+ onRemove(_arena: Arena): void {
const target = globalScene.getField()[this.battlerIndex];
if (target?.isActive(true)) {
globalScene.queueMessage(this.triggerMessage);
@@ -501,7 +580,7 @@ class WishTag extends ArenaTag {
* Abstract class to implement weakened moves of a specific type.
*/
export class WeakenMoveTypeTag extends ArenaTag {
- private weakenedType: Type;
+ private weakenedType: PokemonType;
/**
* Creates a new instance of the WeakenMoveTypeTag class.
@@ -512,7 +591,7 @@ export class WeakenMoveTypeTag extends ArenaTag {
* @param sourceMove - The move that created the tag.
* @param sourceId - The ID of the source of the tag.
*/
- constructor(tagType: ArenaTagType, turnCount: number, type: Type, sourceMove: Moves, sourceId: number) {
+ constructor(tagType: ArenaTagType, turnCount: number, type: PokemonType, sourceMove: Moves, sourceId: number) {
super(tagType, turnCount, sourceMove, sourceId);
this.weakenedType = type;
@@ -520,13 +599,13 @@ export class WeakenMoveTypeTag extends ArenaTag {
/**
* Reduces an attack's power by 0.33x if it matches this tag's weakened type.
- * @param arena n/a
- * @param simulated n/a
- * @param type the attack's {@linkcode Type}
+ * @param _arena n/a
+ * @param _simulated n/a
+ * @param type the attack's {@linkcode PokemonType}
* @param power a {@linkcode NumberHolder} containing the attack's power
* @returns `true` if the attack's power was reduced; `false` otherwise.
*/
- override apply(arena: Arena, simulated: boolean, type: Type, power: NumberHolder): boolean {
+ override apply(_arena: Arena, _simulated: boolean, type: PokemonType, power: NumberHolder): boolean {
if (type === this.weakenedType) {
power.value *= 0.33;
return true;
@@ -541,14 +620,14 @@ export class WeakenMoveTypeTag extends ArenaTag {
*/
class MudSportTag extends WeakenMoveTypeTag {
constructor(turnCount: number, sourceId: number) {
- super(ArenaTagType.MUD_SPORT, turnCount, Type.ELECTRIC, Moves.MUD_SPORT, sourceId);
+ super(ArenaTagType.MUD_SPORT, turnCount, PokemonType.ELECTRIC, Moves.MUD_SPORT, sourceId);
}
- onAdd(arena: Arena): void {
+ onAdd(_arena: Arena): void {
globalScene.queueMessage(i18next.t("arenaTag:mudSportOnAdd"));
}
- onRemove(arena: Arena): void {
+ onRemove(_arena: Arena): void {
globalScene.queueMessage(i18next.t("arenaTag:mudSportOnRemove"));
}
}
@@ -559,14 +638,14 @@ class MudSportTag extends WeakenMoveTypeTag {
*/
class WaterSportTag extends WeakenMoveTypeTag {
constructor(turnCount: number, sourceId: number) {
- super(ArenaTagType.WATER_SPORT, turnCount, Type.FIRE, Moves.WATER_SPORT, sourceId);
+ super(ArenaTagType.WATER_SPORT, turnCount, PokemonType.FIRE, Moves.WATER_SPORT, sourceId);
}
- onAdd(arena: Arena): void {
+ onAdd(_arena: Arena): void {
globalScene.queueMessage(i18next.t("arenaTag:waterSportOnAdd"));
}
- onRemove(arena: Arena): void {
+ onRemove(_arena: Arena): void {
globalScene.queueMessage(i18next.t("arenaTag:waterSportOnRemove"));
}
}
@@ -582,22 +661,22 @@ export class IonDelugeTag extends ArenaTag {
}
/** Queues an on-add message */
- onAdd(arena: Arena): void {
+ onAdd(_arena: Arena): void {
globalScene.queueMessage(i18next.t("arenaTag:plasmaFistsOnAdd"));
}
- onRemove(arena: Arena): void { } // Removes default on-remove message
+ onRemove(_arena: Arena): void {} // Removes default on-remove message
/**
* Converts Normal-type moves to Electric type
- * @param arena n/a
- * @param simulated n/a
- * @param moveType a {@linkcode NumberHolder} containing a move's {@linkcode Type}
+ * @param _arena n/a
+ * @param _simulated n/a
+ * @param moveType a {@linkcode NumberHolder} containing a move's {@linkcode PokemonType}
* @returns `true` if the given move type changed; `false` otherwise.
*/
- override apply(arena: Arena, simulated: boolean, moveType: NumberHolder): boolean {
- if (moveType.value === Type.NORMAL) {
- moveType.value = Type.ELECTRIC;
+ override apply(_arena: Arena, _simulated: boolean, moveType: NumberHolder): boolean {
+ if (moveType.value === PokemonType.NORMAL) {
+ moveType.value = PokemonType.ELECTRIC;
return true;
}
return false;
@@ -637,12 +716,12 @@ export class ArenaTrapTag extends ArenaTag {
/**
* Activates the hazard effect onto a Pokemon when it enters the field
- * @param arena the {@linkcode Arena} containing this tag
+ * @param _arena the {@linkcode Arena} containing this tag
* @param simulated if `true`, only checks if the hazard would activate.
* @param pokemon the {@linkcode Pokemon} triggering this hazard
* @returns `true` if this hazard affects the given Pokemon; `false` otherwise.
*/
- override apply(arena: Arena, simulated: boolean, pokemon: Pokemon): boolean {
+ override apply(_arena: Arena, simulated: boolean, pokemon: Pokemon): boolean {
if ((this.side === ArenaTagSide.PLAYER) !== pokemon.isPlayer()) {
return false;
}
@@ -650,12 +729,14 @@ export class ArenaTrapTag extends ArenaTag {
return this.activateTrap(pokemon, simulated);
}
- activateTrap(pokemon: Pokemon, simulated: boolean): boolean {
+ activateTrap(_pokemon: Pokemon, _simulated: boolean): boolean {
return false;
}
getMatchupScoreMultiplier(pokemon: Pokemon): number {
- return pokemon.isGrounded() ? 1 : Phaser.Math.Linear(0, 1 / Math.pow(2, this.layers), Math.min(pokemon.getHpRatio(), 0.5) * 2);
+ return pokemon.isGrounded()
+ ? 1
+ : Phaser.Math.Linear(0, 1 / Math.pow(2, this.layers), Math.min(pokemon.getHpRatio(), 0.5) * 2);
}
loadTag(source: any): void {
@@ -675,12 +756,17 @@ class SpikesTag extends ArenaTrapTag {
super(ArenaTagType.SPIKES, Moves.SPIKES, sourceId, side, 3);
}
- onAdd(arena: Arena, quiet: boolean = false): void {
+ onAdd(arena: Arena, quiet = false): void {
super.onAdd(arena);
const source = this.sourceId ? globalScene.getPokemonById(this.sourceId) : null;
if (!quiet && source) {
- globalScene.queueMessage(i18next.t("arenaTag:spikesOnAdd", { moveName: this.getMoveName(), opponentDesc: source.getOpponentDescriptor() }));
+ globalScene.queueMessage(
+ i18next.t("arenaTag:spikesOnAdd", {
+ moveName: this.getMoveName(),
+ opponentDesc: source.getOpponentDescriptor(),
+ }),
+ );
}
}
@@ -697,7 +783,11 @@ class SpikesTag extends ArenaTrapTag {
const damageHpRatio = 1 / (10 - 2 * this.layers);
const damage = toDmgValue(pokemon.getMaxHp() * damageHpRatio);
- globalScene.queueMessage(i18next.t("arenaTag:spikesActivateTrap", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
+ globalScene.queueMessage(
+ i18next.t("arenaTag:spikesActivateTrap", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
+ }),
+ );
pokemon.damageAndUpdate(damage, HitResult.OTHER);
if (pokemon.turnData) {
pokemon.turnData.damageTaken += damage;
@@ -724,12 +814,17 @@ class ToxicSpikesTag extends ArenaTrapTag {
this.neutralized = false;
}
- onAdd(arena: Arena, quiet: boolean = false): void {
+ onAdd(arena: Arena, quiet = false): void {
super.onAdd(arena);
const source = this.sourceId ? globalScene.getPokemonById(this.sourceId) : null;
if (!quiet && source) {
- globalScene.queueMessage(i18next.t("arenaTag:toxicSpikesOnAdd", { moveName: this.getMoveName(), opponentDesc: source.getOpponentDescriptor() }));
+ globalScene.queueMessage(
+ i18next.t("arenaTag:toxicSpikesOnAdd", {
+ moveName: this.getMoveName(),
+ opponentDesc: source.getOpponentDescriptor(),
+ }),
+ );
}
}
@@ -744,15 +839,22 @@ class ToxicSpikesTag extends ArenaTrapTag {
if (simulated) {
return true;
}
- if (pokemon.isOfType(Type.POISON)) {
+ if (pokemon.isOfType(PokemonType.POISON)) {
this.neutralized = true;
if (globalScene.arena.removeTag(this.tagType)) {
- globalScene.queueMessage(i18next.t("arenaTag:toxicSpikesActivateTrapPoison", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), moveName: this.getMoveName() }));
+ globalScene.queueMessage(
+ i18next.t("arenaTag:toxicSpikesActivateTrapPoison", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
+ moveName: this.getMoveName(),
+ }),
+ );
return true;
}
} else if (!pokemon.status) {
const toxic = this.layers > 1;
- if (pokemon.trySetStatus(!toxic ? StatusEffect.POISON : StatusEffect.TOXIC, true, null, 0, this.getMoveName())) {
+ if (
+ pokemon.trySetStatus(!toxic ? StatusEffect.POISON : StatusEffect.TOXIC, true, null, 0, this.getMoveName())
+ ) {
return true;
}
}
@@ -765,7 +867,7 @@ class ToxicSpikesTag extends ArenaTrapTag {
if (pokemon.isGrounded() || !pokemon.canSetStatus(StatusEffect.POISON, true)) {
return 1;
}
- if (pokemon.isOfType(Type.POISON)) {
+ if (pokemon.isOfType(PokemonType.POISON)) {
return 1.25;
}
return super.getMatchupScoreMultiplier(pokemon);
@@ -780,7 +882,13 @@ class ToxicSpikesTag extends ArenaTrapTag {
export class DelayedAttackTag extends ArenaTag {
public targetIndex: BattlerIndex;
- constructor(tagType: ArenaTagType, sourceMove: Moves | undefined, sourceId: number, targetIndex: BattlerIndex, side: ArenaTagSide = ArenaTagSide.BOTH) {
+ constructor(
+ tagType: ArenaTagType,
+ sourceMove: Moves | undefined,
+ sourceId: number,
+ targetIndex: BattlerIndex,
+ side: ArenaTagSide = ArenaTagSide.BOTH,
+ ) {
super(tagType, 3, sourceMove, sourceId, side);
this.targetIndex = targetIndex;
@@ -791,13 +899,15 @@ export class DelayedAttackTag extends ArenaTag {
const ret = super.lapse(arena);
if (!ret) {
- globalScene.unshiftPhase(new MoveEffectPhase(this.sourceId!, [ this.targetIndex ], new PokemonMove(this.sourceMove!, 0, 0, true))); // TODO: are those bangs correct?
+ globalScene.unshiftPhase(
+ new MoveEffectPhase(this.sourceId!, [this.targetIndex], new PokemonMove(this.sourceMove!, 0, 0, true)),
+ ); // TODO: are those bangs correct?
}
return ret;
}
- onRemove(arena: Arena): void { }
+ onRemove(_arena: Arena): void {}
}
/**
@@ -810,19 +920,23 @@ class StealthRockTag extends ArenaTrapTag {
super(ArenaTagType.STEALTH_ROCK, Moves.STEALTH_ROCK, sourceId, side, 1);
}
- onAdd(arena: Arena, quiet: boolean = false): void {
+ onAdd(arena: Arena, quiet = false): void {
super.onAdd(arena);
const source = this.sourceId ? globalScene.getPokemonById(this.sourceId) : null;
if (!quiet && source) {
- globalScene.queueMessage(i18next.t("arenaTag:stealthRockOnAdd", { opponentDesc: source.getOpponentDescriptor() }));
+ globalScene.queueMessage(
+ i18next.t("arenaTag:stealthRockOnAdd", {
+ opponentDesc: source.getOpponentDescriptor(),
+ }),
+ );
}
}
getDamageHpRatio(pokemon: Pokemon): number {
- const effectiveness = pokemon.getAttackTypeEffectiveness(Type.ROCK, undefined, true);
+ const effectiveness = pokemon.getAttackTypeEffectiveness(PokemonType.ROCK, undefined, true);
- let damageHpRatio: number = 0;
+ let damageHpRatio = 0;
switch (effectiveness) {
case 0:
@@ -850,7 +964,7 @@ class StealthRockTag extends ArenaTrapTag {
override activateTrap(pokemon: Pokemon, simulated: boolean): boolean {
const cancelled = new BooleanHolder(false);
- applyAbAttrs(BlockNonDirectDamageAbAttr, pokemon, cancelled);
+ applyAbAttrs(BlockNonDirectDamageAbAttr, pokemon, cancelled);
if (cancelled.value) {
return false;
@@ -863,7 +977,11 @@ class StealthRockTag extends ArenaTrapTag {
return true;
}
const damage = toDmgValue(pokemon.getMaxHp() * damageHpRatio);
- globalScene.queueMessage(i18next.t("arenaTag:stealthRockActivateTrap", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
+ globalScene.queueMessage(
+ i18next.t("arenaTag:stealthRockActivateTrap", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
+ }),
+ );
pokemon.damageAndUpdate(damage, HitResult.OTHER);
if (pokemon.turnData) {
pokemon.turnData.damageTaken += damage;
@@ -890,11 +1008,16 @@ class StickyWebTag extends ArenaTrapTag {
super(ArenaTagType.STICKY_WEB, Moves.STICKY_WEB, sourceId, side, 1);
}
- onAdd(arena: Arena, quiet: boolean = false): void {
+ onAdd(arena: Arena, quiet = false): void {
super.onAdd(arena);
const source = this.sourceId ? globalScene.getPokemonById(this.sourceId) : null;
if (!quiet && source) {
- globalScene.queueMessage(i18next.t("arenaTag:stickyWebOnAdd", { moveName: this.getMoveName(), opponentDesc: source.getOpponentDescriptor() }));
+ globalScene.queueMessage(
+ i18next.t("arenaTag:stickyWebOnAdd", {
+ moveName: this.getMoveName(),
+ opponentDesc: source.getOpponentDescriptor(),
+ }),
+ );
}
}
@@ -908,16 +1031,32 @@ class StickyWebTag extends ArenaTrapTag {
}
if (!cancelled.value) {
- globalScene.queueMessage(i18next.t("arenaTag:stickyWebActivateTrap", { pokemonName: pokemon.getNameToRender() }));
+ globalScene.queueMessage(
+ i18next.t("arenaTag:stickyWebActivateTrap", {
+ pokemonName: pokemon.getNameToRender(),
+ }),
+ );
const stages = new NumberHolder(-1);
- globalScene.unshiftPhase(new StatStageChangePhase(pokemon.getBattlerIndex(), false, [ Stat.SPD ], stages.value, true, false, true, null, false, true));
+ globalScene.unshiftPhase(
+ new StatStageChangePhase(
+ pokemon.getBattlerIndex(),
+ false,
+ [Stat.SPD],
+ stages.value,
+ true,
+ false,
+ true,
+ null,
+ false,
+ true,
+ ),
+ );
return true;
}
}
return false;
}
-
}
/**
@@ -932,25 +1071,29 @@ export class TrickRoomTag extends ArenaTag {
/**
* Reverses Speed-based turn order for all Pokemon on the field
- * @param arena n/a
- * @param simulated n/a
+ * @param _arena n/a
+ * @param _simulated n/a
* @param speedReversed a {@linkcode BooleanHolder} used to flag if Speed-based
* turn order should be reversed.
* @returns `true` if turn order is successfully reversed; `false` otherwise
*/
- override apply(arena: Arena, simulated: boolean, speedReversed: BooleanHolder): boolean {
+ override apply(_arena: Arena, _simulated: boolean, speedReversed: BooleanHolder): boolean {
speedReversed.value = !speedReversed.value;
return true;
}
- onAdd(arena: Arena): void {
+ onAdd(_arena: Arena): void {
const source = this.sourceId ? globalScene.getPokemonById(this.sourceId) : null;
if (source) {
- globalScene.queueMessage(i18next.t("arenaTag:trickRoomOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(source) }));
+ globalScene.queueMessage(
+ i18next.t("arenaTag:trickRoomOnAdd", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(source),
+ }),
+ );
}
}
- onRemove(arena: Arena): void {
+ onRemove(_arena: Arena): void {
globalScene.queueMessage(i18next.t("arenaTag:trickRoomOnRemove"));
}
}
@@ -965,9 +1108,9 @@ export class GravityTag extends ArenaTag {
super(ArenaTagType.GRAVITY, turnCount, Moves.GRAVITY);
}
- onAdd(arena: Arena): void {
+ onAdd(_arena: Arena): void {
globalScene.queueMessage(i18next.t("arenaTag:gravityOnAdd"));
- globalScene.getField(true).forEach((pokemon) => {
+ globalScene.getField(true).forEach(pokemon => {
if (pokemon !== null) {
pokemon.removeTag(BattlerTagType.FLOATING);
pokemon.removeTag(BattlerTagType.TELEKINESIS);
@@ -978,7 +1121,7 @@ export class GravityTag extends ArenaTag {
});
}
- onRemove(arena: Arena): void {
+ onRemove(_arena: Arena): void {
globalScene.queueMessage(i18next.t("arenaTag:gravityOnRemove"));
}
}
@@ -993,9 +1136,13 @@ class TailwindTag extends ArenaTag {
super(ArenaTagType.TAILWIND, turnCount, Moves.TAILWIND, sourceId, side);
}
- onAdd(arena: Arena, quiet: boolean = false): void {
+ onAdd(_arena: Arena, quiet = false): void {
if (!quiet) {
- globalScene.queueMessage(i18next.t(`arenaTag:tailwindOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`));
+ globalScene.queueMessage(
+ i18next.t(
+ `arenaTag:tailwindOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`,
+ ),
+ );
}
const source = globalScene.getPokemonById(this.sourceId!); //TODO: this bang is questionable!
@@ -1005,19 +1152,28 @@ class TailwindTag extends ArenaTag {
// Apply the CHARGED tag to party members with the WIND_POWER ability
if (pokemon.hasAbility(Abilities.WIND_POWER) && !pokemon.getTag(BattlerTagType.CHARGED)) {
pokemon.addTag(BattlerTagType.CHARGED);
- globalScene.queueMessage(i18next.t("abilityTriggers:windPowerCharged", { pokemonName: getPokemonNameWithAffix(pokemon), moveName: this.getMoveName() }));
+ globalScene.queueMessage(
+ i18next.t("abilityTriggers:windPowerCharged", {
+ pokemonName: getPokemonNameWithAffix(pokemon),
+ moveName: this.getMoveName(),
+ }),
+ );
}
// Raise attack by one stage if party member has WIND_RIDER ability
if (pokemon.hasAbility(Abilities.WIND_RIDER)) {
globalScene.unshiftPhase(new ShowAbilityPhase(pokemon.getBattlerIndex()));
- globalScene.unshiftPhase(new StatStageChangePhase(pokemon.getBattlerIndex(), true, [ Stat.ATK ], 1, true));
+ globalScene.unshiftPhase(new StatStageChangePhase(pokemon.getBattlerIndex(), true, [Stat.ATK], 1, true));
}
}
}
- onRemove(arena: Arena, quiet: boolean = false): void {
+ onRemove(_arena: Arena, quiet = false): void {
if (!quiet) {
- globalScene.queueMessage(i18next.t(`arenaTag:tailwindOnRemove${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`));
+ globalScene.queueMessage(
+ i18next.t(
+ `arenaTag:tailwindOnRemove${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`,
+ ),
+ );
}
}
}
@@ -1031,11 +1187,11 @@ class HappyHourTag extends ArenaTag {
super(ArenaTagType.HAPPY_HOUR, turnCount, Moves.HAPPY_HOUR, sourceId, side);
}
- onAdd(arena: Arena): void {
+ onAdd(_arena: Arena): void {
globalScene.queueMessage(i18next.t("arenaTag:happyHourOnAdd"));
}
- onRemove(arena: Arena): void {
+ onRemove(_arena: Arena): void {
globalScene.queueMessage(i18next.t("arenaTag:happyHourOnRemove"));
}
}
@@ -1045,12 +1201,20 @@ class SafeguardTag extends ArenaTag {
super(ArenaTagType.SAFEGUARD, turnCount, Moves.SAFEGUARD, sourceId, side);
}
- onAdd(arena: Arena): void {
- globalScene.queueMessage(i18next.t(`arenaTag:safeguardOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`));
+ onAdd(_arena: Arena): void {
+ globalScene.queueMessage(
+ i18next.t(
+ `arenaTag:safeguardOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`,
+ ),
+ );
}
- onRemove(arena: Arena): void {
- globalScene.queueMessage(i18next.t(`arenaTag:safeguardOnRemove${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`));
+ onRemove(_arena: Arena): void {
+ globalScene.queueMessage(
+ i18next.t(
+ `arenaTag:safeguardOnRemove${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`,
+ ),
+ );
}
}
@@ -1077,12 +1241,16 @@ class ImprisonTag extends ArenaTrapTag {
const source = this.getSourcePokemon();
if (source) {
const party = this.getAffectedPokemon();
- party?.forEach((p: Pokemon ) => {
+ party?.forEach((p: Pokemon) => {
if (p.isAllowedInBattle()) {
p.addTag(BattlerTagType.IMPRISON, 1, Moves.IMPRISON, this.sourceId);
}
});
- globalScene.queueMessage(i18next.t("battlerTags:imprisonOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(source) }));
+ globalScene.queueMessage(
+ i18next.t("battlerTags:imprisonOnAdd", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(source),
+ }),
+ );
}
}
@@ -1103,7 +1271,7 @@ class ImprisonTag extends ArenaTrapTag {
*/
override activateTrap(pokemon: Pokemon): boolean {
const source = this.getSourcePokemon();
- if (source && source.isActive(true) && pokemon.isAllowedInBattle()) {
+ if (source?.isActive(true) && pokemon.isAllowedInBattle()) {
pokemon.addTag(BattlerTagType.IMPRISON, 1, Moves.IMPRISON, this.sourceId);
}
return true;
@@ -1133,23 +1301,34 @@ class FireGrassPledgeTag extends ArenaTag {
super(ArenaTagType.FIRE_GRASS_PLEDGE, 4, Moves.FIRE_PLEDGE, sourceId, side);
}
- override onAdd(arena: Arena): void {
+ override onAdd(_arena: Arena): void {
// "A sea of fire enveloped your/the opposing team!"
- globalScene.queueMessage(i18next.t(`arenaTag:fireGrassPledgeOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`));
+ globalScene.queueMessage(
+ i18next.t(
+ `arenaTag:fireGrassPledgeOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`,
+ ),
+ );
}
override lapse(arena: Arena): boolean {
- const field: Pokemon[] = (this.side === ArenaTagSide.PLAYER)
- ? globalScene.getPlayerField()
- : globalScene.getEnemyField();
+ const field: Pokemon[] =
+ this.side === ArenaTagSide.PLAYER ? globalScene.getPlayerField() : globalScene.getEnemyField();
- field.filter(pokemon => !pokemon.isOfType(Type.FIRE) && !pokemon.switchOutStatus).forEach(pokemon => {
- // "{pokemonNameWithAffix} was hurt by the sea of fire!"
- globalScene.queueMessage(i18next.t("arenaTag:fireGrassPledgeLapse", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
- // TODO: Replace this with a proper animation
- globalScene.unshiftPhase(new CommonAnimPhase(pokemon.getBattlerIndex(), pokemon.getBattlerIndex(), CommonAnim.MAGMA_STORM));
- pokemon.damageAndUpdate(toDmgValue(pokemon.getMaxHp() / 8));
- });
+ field
+ .filter(pokemon => !pokemon.isOfType(PokemonType.FIRE) && !pokemon.switchOutStatus)
+ .forEach(pokemon => {
+ // "{pokemonNameWithAffix} was hurt by the sea of fire!"
+ globalScene.queueMessage(
+ i18next.t("arenaTag:fireGrassPledgeLapse", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
+ }),
+ );
+ // TODO: Replace this with a proper animation
+ globalScene.unshiftPhase(
+ new CommonAnimPhase(pokemon.getBattlerIndex(), pokemon.getBattlerIndex(), CommonAnim.MAGMA_STORM),
+ );
+ pokemon.damageAndUpdate(toDmgValue(pokemon.getMaxHp() / 8));
+ });
return super.lapse(arena);
}
@@ -1167,20 +1346,24 @@ class WaterFirePledgeTag extends ArenaTag {
super(ArenaTagType.WATER_FIRE_PLEDGE, 4, Moves.WATER_PLEDGE, sourceId, side);
}
- override onAdd(arena: Arena): void {
+ override onAdd(_arena: Arena): void {
// "A rainbow appeared in the sky on your/the opposing team's side!"
- globalScene.queueMessage(i18next.t(`arenaTag:waterFirePledgeOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`));
+ globalScene.queueMessage(
+ i18next.t(
+ `arenaTag:waterFirePledgeOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`,
+ ),
+ );
}
/**
* Doubles the chance for the given move's secondary effect(s) to trigger
- * @param arena the {@linkcode Arena} containing this tag
- * @param simulated n/a
+ * @param _arena the {@linkcode Arena} containing this tag
+ * @param _simulated n/a
* @param moveChance a {@linkcode NumberHolder} containing
* the move's current effect chance
* @returns `true` if the move's effect chance was doubled (currently always `true`)
*/
- override apply(arena: Arena, simulated: boolean, moveChance: NumberHolder): boolean {
+ override apply(_arena: Arena, _simulated: boolean, moveChance: NumberHolder): boolean {
moveChance.value *= 2;
return true;
}
@@ -1197,9 +1380,13 @@ class GrassWaterPledgeTag extends ArenaTag {
super(ArenaTagType.GRASS_WATER_PLEDGE, 4, Moves.GRASS_PLEDGE, sourceId, side);
}
- override onAdd(arena: Arena): void {
+ override onAdd(_arena: Arena): void {
// "A swamp enveloped your/the opposing team!"
- globalScene.queueMessage(i18next.t(`arenaTag:grassWaterPledgeOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`));
+ globalScene.queueMessage(
+ i18next.t(
+ `arenaTag:grassWaterPledgeOnAdd${this.side === ArenaTagSide.PLAYER ? "Player" : this.side === ArenaTagSide.ENEMY ? "Enemy" : ""}`,
+ ),
+ );
}
}
@@ -1215,14 +1402,96 @@ export class FairyLockTag extends ArenaTag {
super(ArenaTagType.FAIRY_LOCK, turnCount, Moves.FAIRY_LOCK, sourceId);
}
- onAdd(arena: Arena): void {
+ onAdd(_arena: Arena): void {
globalScene.queueMessage(i18next.t("arenaTag:fairyLockOnAdd"));
}
+}
+/**
+ * Arena tag class for {@link https://bulbapedia.bulbagarden.net/wiki/Neutralizing_Gas_(Ability) Neutralizing Gas}
+ *
+ * Keeps track of the number of pokemon on the field with Neutralizing Gas - If it drops to zero, the effect is ended and abilities are reactivated
+ *
+ * Additionally ends onLose abilities when it is activated
+ */
+export class SuppressAbilitiesTag extends ArenaTag {
+ private sourceCount: number;
+ private beingRemoved: boolean;
+
+ constructor(sourceId: number) {
+ super(ArenaTagType.NEUTRALIZING_GAS, 0, undefined, sourceId);
+ this.sourceCount = 1;
+ this.beingRemoved = false;
+ }
+
+ public override onAdd(_arena: Arena): void {
+ const pokemon = this.getSourcePokemon();
+ if (pokemon) {
+ globalScene.queueMessage(
+ i18next.t("arenaTag:neutralizingGasOnAdd", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
+ }),
+ );
+
+ for (const fieldPokemon of globalScene.getField()) {
+ if (fieldPokemon && fieldPokemon.id !== pokemon.id) {
+ [true, false].forEach(passive => applyOnLoseAbAttrs(fieldPokemon, passive));
+ }
+ }
+ }
+ }
+
+ public override onOverlap(_arena: Arena): void {
+ this.sourceCount++;
+ }
+
+ public onSourceLeave(arena: Arena): void {
+ this.sourceCount--;
+ if (this.sourceCount <= 0) {
+ arena.removeTag(ArenaTagType.NEUTRALIZING_GAS);
+ } else if (this.sourceCount === 1) {
+ // With 1 source left, that pokemon's other abilities should reactivate
+ // This may be confusing for players but would be the most accurate gameplay-wise
+ // Could have a custom message that plays when a specific pokemon's NG ends? This entire thing exists due to passives after all
+ const setter = globalScene
+ .getField()
+ .filter(p => p?.hasAbilityWithAttr(PreLeaveFieldRemoveSuppressAbilitiesSourceAbAttr, false))[0];
+ applyOnGainAbAttrs(setter, setter.getAbility().hasAttr(PreLeaveFieldRemoveSuppressAbilitiesSourceAbAttr));
+ }
+ }
+
+ public override onRemove(_arena: Arena, quiet = false) {
+ this.beingRemoved = true;
+ if (!quiet) {
+ globalScene.queueMessage(i18next.t("arenaTag:neutralizingGasOnRemove"));
+ }
+
+ for (const pokemon of globalScene.getField()) {
+ // There is only one pokemon with this attr on the field on removal, so its abilities are already active
+ if (pokemon && !pokemon.hasAbilityWithAttr(PreLeaveFieldRemoveSuppressAbilitiesSourceAbAttr, false)) {
+ [true, false].forEach(passive => applyOnGainAbAttrs(pokemon, passive));
+ }
+ }
+ }
+
+ public shouldApplyToSelf(): boolean {
+ return this.sourceCount > 1;
+ }
+
+ public isBeingRemoved() {
+ return this.beingRemoved;
+ }
}
// TODO: swap `sourceMove` and `sourceId` and make `sourceMove` an optional parameter
-export function getArenaTag(tagType: ArenaTagType, turnCount: number, sourceMove: Moves | undefined, sourceId: number, targetIndex?: BattlerIndex, side: ArenaTagSide = ArenaTagSide.BOTH): ArenaTag | null {
+export function getArenaTag(
+ tagType: ArenaTagType,
+ turnCount: number,
+ sourceMove: Moves | undefined,
+ sourceId: number,
+ targetIndex?: BattlerIndex,
+ side: ArenaTagSide = ArenaTagSide.BOTH,
+): ArenaTag | null {
switch (tagType) {
case ArenaTagType.MIST:
return new MistTag(turnCount, sourceId, side);
@@ -1281,6 +1550,8 @@ export function getArenaTag(tagType: ArenaTagType, turnCount: number, sourceMove
return new GrassWaterPledgeTag(sourceId, side);
case ArenaTagType.FAIRY_LOCK:
return new FairyLockTag(turnCount, sourceId);
+ case ArenaTagType.NEUTRALIZING_GAS:
+ return new SuppressAbilitiesTag(sourceId);
default:
return null;
}
@@ -1292,9 +1563,15 @@ export function getArenaTag(tagType: ArenaTagType, turnCount: number, sourceMove
* @return {ArenaTag} The valid arena tag
*/
export function loadArenaTag(source: ArenaTag | any): ArenaTag {
- const tag = getArenaTag(source.tagType, source.turnCount, source.sourceMove, source.sourceId, source.targetIndex, source.side)
- ?? new NoneTag();
+ const tag =
+ getArenaTag(
+ source.tagType,
+ source.turnCount,
+ source.sourceMove,
+ source.sourceId,
+ source.targetIndex,
+ source.side,
+ ) ?? new NoneTag();
tag.loadTag(source);
return tag;
}
-
diff --git a/src/data/balance/biomes.ts b/src/data/balance/biomes.ts
index 5b5e69b4042..71a48162e57 100644
--- a/src/data/balance/biomes.ts
+++ b/src/data/balance/biomes.ts
@@ -1,4 +1,4 @@
-import { Type } from "#enums/type";
+import { PokemonType } from "#enums/pokemon-type";
import * as Utils from "#app/utils";
import type { SpeciesFormEvolution } from "#app/data/balance/pokemon-evolutions";
import { pokemonEvolutions } from "#app/data/balance/pokemon-evolutions";
@@ -2022,450 +2022,451 @@ export const biomeTrainerPools: BiomeTrainerPools = {
}
};
+// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: init methods are expected to have many lines.
export function initBiomes() {
const pokemonBiomes = [
- [ Species.BULBASAUR, Type.GRASS, Type.POISON, [
+ [ Species.BULBASAUR, PokemonType.GRASS, PokemonType.POISON, [
[ Biome.GRASS, BiomePoolTier.RARE ]
]
],
- [ Species.IVYSAUR, Type.GRASS, Type.POISON, [
+ [ Species.IVYSAUR, PokemonType.GRASS, PokemonType.POISON, [
[ Biome.GRASS, BiomePoolTier.RARE ]
]
],
- [ Species.VENUSAUR, Type.GRASS, Type.POISON, [
+ [ Species.VENUSAUR, PokemonType.GRASS, PokemonType.POISON, [
[ Biome.GRASS, BiomePoolTier.RARE ],
[ Biome.GRASS, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.CHARMANDER, Type.FIRE, -1, [
+ [ Species.CHARMANDER, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.RARE ]
]
],
- [ Species.CHARMELEON, Type.FIRE, -1, [
+ [ Species.CHARMELEON, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.RARE ]
]
],
- [ Species.CHARIZARD, Type.FIRE, Type.FLYING, [
+ [ Species.CHARIZARD, PokemonType.FIRE, PokemonType.FLYING, [
[ Biome.VOLCANO, BiomePoolTier.RARE ],
[ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.SQUIRTLE, Type.WATER, -1, [
+ [ Species.SQUIRTLE, PokemonType.WATER, -1, [
[ Biome.LAKE, BiomePoolTier.RARE ]
]
],
- [ Species.WARTORTLE, Type.WATER, -1, [
+ [ Species.WARTORTLE, PokemonType.WATER, -1, [
[ Biome.LAKE, BiomePoolTier.RARE ]
]
],
- [ Species.BLASTOISE, Type.WATER, -1, [
+ [ Species.BLASTOISE, PokemonType.WATER, -1, [
[ Biome.LAKE, BiomePoolTier.RARE ],
[ Biome.LAKE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.CATERPIE, Type.BUG, -1, [
+ [ Species.CATERPIE, PokemonType.BUG, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.METAPOD, Type.BUG, -1, [
+ [ Species.METAPOD, PokemonType.BUG, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.BUTTERFREE, Type.BUG, Type.FLYING, [
+ [ Species.BUTTERFREE, PokemonType.BUG, PokemonType.FLYING, [
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.WEEDLE, Type.BUG, Type.POISON, [
+ [ Species.WEEDLE, PokemonType.BUG, PokemonType.POISON, [
[ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.KAKUNA, Type.BUG, Type.POISON, [
+ [ Species.KAKUNA, PokemonType.BUG, PokemonType.POISON, [
[ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.BEEDRILL, Type.BUG, Type.POISON, [
+ [ Species.BEEDRILL, PokemonType.BUG, PokemonType.POISON, [
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.PIDGEY, Type.NORMAL, Type.FLYING, [
+ [ Species.PIDGEY, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.TOWN, BiomePoolTier.COMMON ],
[ Biome.PLAINS, BiomePoolTier.UNCOMMON ],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON ]
]
],
- [ Species.PIDGEOTTO, Type.NORMAL, Type.FLYING, [
+ [ Species.PIDGEOTTO, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON ],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON ]
]
],
- [ Species.PIDGEOT, Type.NORMAL, Type.FLYING, [
+ [ Species.PIDGEOT, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON ],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON ],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS ]
]
],
- [ Species.RATTATA, Type.NORMAL, -1, [
+ [ Species.RATTATA, PokemonType.NORMAL, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON ],
[ Biome.METROPOLIS, BiomePoolTier.COMMON ],
[ Biome.SLUM, BiomePoolTier.COMMON ]
]
],
- [ Species.RATICATE, Type.NORMAL, -1, [
+ [ Species.RATICATE, PokemonType.NORMAL, -1, [
[ Biome.METROPOLIS, BiomePoolTier.COMMON ],
[ Biome.SLUM, BiomePoolTier.COMMON ]
]
],
- [ Species.SPEAROW, Type.NORMAL, Type.FLYING, [
+ [ Species.SPEAROW, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.TOWN, BiomePoolTier.COMMON ],
[ Biome.PLAINS, BiomePoolTier.UNCOMMON ],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON ]
]
],
- [ Species.FEAROW, Type.NORMAL, Type.FLYING, [
+ [ Species.FEAROW, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON ],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON ],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS ]
]
],
- [ Species.EKANS, Type.POISON, -1, [
+ [ Species.EKANS, PokemonType.POISON, -1, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.FOREST, BiomePoolTier.UNCOMMON ],
[ Biome.SWAMP, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.ARBOK, Type.POISON, -1, [
+ [ Species.ARBOK, PokemonType.POISON, -1, [
[ Biome.FOREST, BiomePoolTier.UNCOMMON ],
[ Biome.SWAMP, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.SWAMP, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.PIKACHU, Type.ELECTRIC, -1, [
+ [ Species.PIKACHU, PokemonType.ELECTRIC, -1, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON ],
[ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ],
[ Biome.POWER_PLANT, BiomePoolTier.COMMON ]
]
],
- [ Species.RAICHU, Type.ELECTRIC, -1, [
+ [ Species.RAICHU, PokemonType.ELECTRIC, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.BOSS ]
]
],
- [ Species.SANDSHREW, Type.GROUND, -1, [
+ [ Species.SANDSHREW, PokemonType.GROUND, -1, [
[ Biome.BADLANDS, BiomePoolTier.UNCOMMON ],
[ Biome.DESERT, BiomePoolTier.COMMON ]
]
],
- [ Species.SANDSLASH, Type.GROUND, -1, [
+ [ Species.SANDSLASH, PokemonType.GROUND, -1, [
[ Biome.BADLANDS, BiomePoolTier.UNCOMMON ],
[ Biome.DESERT, BiomePoolTier.COMMON ],
[ Biome.DESERT, BiomePoolTier.BOSS ]
]
],
- [ Species.NIDORAN_F, Type.POISON, -1, [
+ [ Species.NIDORAN_F, PokemonType.POISON, -1, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, TimeOfDay.DAY ],
[ Biome.TALL_GRASS, BiomePoolTier.COMMON, TimeOfDay.DAY ]
]
],
- [ Species.NIDORINA, Type.POISON, -1, [
+ [ Species.NIDORINA, PokemonType.POISON, -1, [
[ Biome.TALL_GRASS, BiomePoolTier.COMMON, TimeOfDay.DAY ]
]
],
- [ Species.NIDOQUEEN, Type.POISON, Type.GROUND, [
+ [ Species.NIDOQUEEN, PokemonType.POISON, PokemonType.GROUND, [
[ Biome.TALL_GRASS, BiomePoolTier.BOSS, TimeOfDay.DAY ]
]
],
- [ Species.NIDORAN_M, Type.POISON, -1, [
+ [ Species.NIDORAN_M, PokemonType.POISON, -1, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, TimeOfDay.DAY ],
[ Biome.TALL_GRASS, BiomePoolTier.COMMON, TimeOfDay.DAY ]
]
],
- [ Species.NIDORINO, Type.POISON, -1, [
+ [ Species.NIDORINO, PokemonType.POISON, -1, [
[ Biome.TALL_GRASS, BiomePoolTier.COMMON, TimeOfDay.DAY ]
]
],
- [ Species.NIDOKING, Type.POISON, Type.GROUND, [
+ [ Species.NIDOKING, PokemonType.POISON, PokemonType.GROUND, [
[ Biome.TALL_GRASS, BiomePoolTier.BOSS, TimeOfDay.DAY ]
]
],
- [ Species.CLEFAIRY, Type.FAIRY, -1, [
+ [ Species.CLEFAIRY, PokemonType.FAIRY, -1, [
[ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ],
[ Biome.SPACE, BiomePoolTier.COMMON ]
]
],
- [ Species.CLEFABLE, Type.FAIRY, -1, [
+ [ Species.CLEFABLE, PokemonType.FAIRY, -1, [
[ Biome.SPACE, BiomePoolTier.BOSS ]
]
],
- [ Species.VULPIX, Type.FIRE, -1, [
+ [ Species.VULPIX, PokemonType.FIRE, -1, [
[ Biome.TALL_GRASS, BiomePoolTier.UNCOMMON ],
[ Biome.VOLCANO, BiomePoolTier.COMMON ]
]
],
- [ Species.NINETALES, Type.FIRE, -1, [
+ [ Species.NINETALES, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.BOSS ]
]
],
- [ Species.JIGGLYPUFF, Type.NORMAL, Type.FAIRY, [
+ [ Species.JIGGLYPUFF, PokemonType.NORMAL, PokemonType.FAIRY, [
[ Biome.MEADOW, BiomePoolTier.UNCOMMON ],
[ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.WIGGLYTUFF, Type.NORMAL, Type.FAIRY, [
+ [ Species.WIGGLYTUFF, PokemonType.NORMAL, PokemonType.FAIRY, [
[ Biome.MEADOW, BiomePoolTier.UNCOMMON ],
[ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ],
[ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.ZUBAT, Type.POISON, Type.FLYING, [
+ [ Species.ZUBAT, PokemonType.POISON, PokemonType.FLYING, [
[ Biome.PLAINS, BiomePoolTier.COMMON, TimeOfDay.NIGHT ],
[ Biome.CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.GOLBAT, Type.POISON, Type.FLYING, [
+ [ Species.GOLBAT, PokemonType.POISON, PokemonType.FLYING, [
[ Biome.PLAINS, BiomePoolTier.COMMON, TimeOfDay.NIGHT ],
[ Biome.CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.ODDISH, Type.GRASS, Type.POISON, [
+ [ Species.ODDISH, PokemonType.GRASS, PokemonType.POISON, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.GLOOM, Type.GRASS, Type.POISON, [
+ [ Species.GLOOM, PokemonType.GRASS, PokemonType.POISON, [
[ Biome.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.VILEPLUME, Type.GRASS, Type.POISON, [
+ [ Species.VILEPLUME, PokemonType.GRASS, PokemonType.POISON, [
[ Biome.TALL_GRASS, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.PARAS, Type.BUG, Type.GRASS, [
+ [ Species.PARAS, PokemonType.BUG, PokemonType.GRASS, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ],
[ Biome.TALL_GRASS, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ],
[ Biome.CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.PARASECT, Type.BUG, Type.GRASS, [
+ [ Species.PARASECT, PokemonType.BUG, PokemonType.GRASS, [
[ Biome.TALL_GRASS, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ],
[ Biome.CAVE, BiomePoolTier.COMMON ],
[ Biome.CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.VENONAT, Type.BUG, Type.POISON, [
+ [ Species.VENONAT, PokemonType.BUG, PokemonType.POISON, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ],
[ Biome.TALL_GRASS, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ],
[ Biome.FOREST, BiomePoolTier.COMMON, TimeOfDay.NIGHT ]
]
],
- [ Species.VENOMOTH, Type.BUG, Type.POISON, [
+ [ Species.VENOMOTH, PokemonType.BUG, PokemonType.POISON, [
[ Biome.TALL_GRASS, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ],
[ Biome.FOREST, BiomePoolTier.COMMON, TimeOfDay.NIGHT ],
[ Biome.FOREST, BiomePoolTier.BOSS, TimeOfDay.NIGHT ]
]
],
- [ Species.DIGLETT, Type.GROUND, -1, [
+ [ Species.DIGLETT, PokemonType.GROUND, -1, [
[ Biome.BADLANDS, BiomePoolTier.COMMON ]
]
],
- [ Species.DUGTRIO, Type.GROUND, -1, [
+ [ Species.DUGTRIO, PokemonType.GROUND, -1, [
[ Biome.BADLANDS, BiomePoolTier.COMMON ],
[ Biome.BADLANDS, BiomePoolTier.BOSS ]
]
],
- [ Species.MEOWTH, Type.NORMAL, -1, [
+ [ Species.MEOWTH, PokemonType.NORMAL, -1, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.PERSIAN, Type.NORMAL, -1, [
+ [ Species.PERSIAN, PokemonType.NORMAL, -1, [
[ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.PLAINS, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.PSYDUCK, Type.WATER, -1, [
+ [ Species.PSYDUCK, PokemonType.WATER, -1, [
[ Biome.SWAMP, BiomePoolTier.UNCOMMON ],
[ Biome.LAKE, BiomePoolTier.COMMON ]
]
],
- [ Species.GOLDUCK, Type.WATER, -1, [
+ [ Species.GOLDUCK, PokemonType.WATER, -1, [
[ Biome.SWAMP, BiomePoolTier.UNCOMMON ],
[ Biome.LAKE, BiomePoolTier.COMMON ],
[ Biome.LAKE, BiomePoolTier.BOSS ]
]
],
- [ Species.MANKEY, Type.FIGHTING, -1, [
+ [ Species.MANKEY, PokemonType.FIGHTING, -1, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.DOJO, BiomePoolTier.COMMON ]
]
],
- [ Species.PRIMEAPE, Type.FIGHTING, -1, [
+ [ Species.PRIMEAPE, PokemonType.FIGHTING, -1, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.DOJO, BiomePoolTier.COMMON ]
]
],
- [ Species.GROWLITHE, Type.FIRE, -1, [
+ [ Species.GROWLITHE, PokemonType.FIRE, -1, [
[ Biome.GRASS, BiomePoolTier.RARE ],
[ Biome.VOLCANO, BiomePoolTier.COMMON ]
]
],
- [ Species.ARCANINE, Type.FIRE, -1, [
+ [ Species.ARCANINE, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.BOSS ]
]
],
- [ Species.POLIWAG, Type.WATER, -1, [
+ [ Species.POLIWAG, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.UNCOMMON ],
[ Biome.SWAMP, BiomePoolTier.COMMON ]
]
],
- [ Species.POLIWHIRL, Type.WATER, -1, [
+ [ Species.POLIWHIRL, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.UNCOMMON ],
[ Biome.SWAMP, BiomePoolTier.COMMON ]
]
],
- [ Species.POLIWRATH, Type.WATER, Type.FIGHTING, [
+ [ Species.POLIWRATH, PokemonType.WATER, PokemonType.FIGHTING, [
[ Biome.SWAMP, BiomePoolTier.BOSS ]
]
],
- [ Species.ABRA, Type.PSYCHIC, -1, [
+ [ Species.ABRA, PokemonType.PSYCHIC, -1, [
[ Biome.TOWN, BiomePoolTier.RARE ],
[ Biome.PLAINS, BiomePoolTier.RARE ],
[ Biome.RUINS, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.KADABRA, Type.PSYCHIC, -1, [
+ [ Species.KADABRA, PokemonType.PSYCHIC, -1, [
[ Biome.PLAINS, BiomePoolTier.RARE ],
[ Biome.RUINS, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.ALAKAZAM, Type.PSYCHIC, -1, [
+ [ Species.ALAKAZAM, PokemonType.PSYCHIC, -1, [
[ Biome.RUINS, BiomePoolTier.BOSS ]
]
],
- [ Species.MACHOP, Type.FIGHTING, -1, [
+ [ Species.MACHOP, PokemonType.FIGHTING, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ],
[ Biome.FACTORY, BiomePoolTier.COMMON ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.COMMON ]
]
],
- [ Species.MACHOKE, Type.FIGHTING, -1, [
+ [ Species.MACHOKE, PokemonType.FIGHTING, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ],
[ Biome.FACTORY, BiomePoolTier.COMMON ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.COMMON ]
]
],
- [ Species.MACHAMP, Type.FIGHTING, -1, [
+ [ Species.MACHAMP, PokemonType.FIGHTING, -1, [
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.BOSS ]
]
],
- [ Species.BELLSPROUT, Type.GRASS, Type.POISON, [
+ [ Species.BELLSPROUT, PokemonType.GRASS, PokemonType.POISON, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.WEEPINBELL, Type.GRASS, Type.POISON, [
+ [ Species.WEEPINBELL, PokemonType.GRASS, PokemonType.POISON, [
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.VICTREEBEL, Type.GRASS, Type.POISON, [
+ [ Species.VICTREEBEL, PokemonType.GRASS, PokemonType.POISON, [
[ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.TENTACOOL, Type.WATER, Type.POISON, [
+ [ Species.TENTACOOL, PokemonType.WATER, PokemonType.POISON, [
[ Biome.SEA, BiomePoolTier.COMMON ],
[ Biome.SEABED, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.TENTACRUEL, Type.WATER, Type.POISON, [
+ [ Species.TENTACRUEL, PokemonType.WATER, PokemonType.POISON, [
[ Biome.SEA, BiomePoolTier.COMMON ],
[ Biome.SEA, BiomePoolTier.BOSS ],
[ Biome.SEABED, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.GEODUDE, Type.ROCK, Type.GROUND, [
+ [ Species.GEODUDE, PokemonType.ROCK, PokemonType.GROUND, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ],
[ Biome.BADLANDS, BiomePoolTier.COMMON ],
[ Biome.CAVE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.GRAVELER, Type.ROCK, Type.GROUND, [
+ [ Species.GRAVELER, PokemonType.ROCK, PokemonType.GROUND, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ],
[ Biome.BADLANDS, BiomePoolTier.COMMON ],
[ Biome.CAVE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.GOLEM, Type.ROCK, Type.GROUND, [
+ [ Species.GOLEM, PokemonType.ROCK, PokemonType.GROUND, [
[ Biome.BADLANDS, BiomePoolTier.BOSS ]
]
],
- [ Species.PONYTA, Type.FIRE, -1, [
+ [ Species.PONYTA, PokemonType.FIRE, -1, [
[ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.VOLCANO, BiomePoolTier.COMMON ]
]
],
- [ Species.RAPIDASH, Type.FIRE, -1, [
+ [ Species.RAPIDASH, PokemonType.FIRE, -1, [
[ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.VOLCANO, BiomePoolTier.COMMON ],
[ Biome.VOLCANO, BiomePoolTier.BOSS ]
]
],
- [ Species.SLOWPOKE, Type.WATER, Type.PSYCHIC, [
+ [ Species.SLOWPOKE, PokemonType.WATER, PokemonType.PSYCHIC, [
[ Biome.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.LAKE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.SLOWBRO, Type.WATER, Type.PSYCHIC, [
+ [ Species.SLOWBRO, PokemonType.WATER, PokemonType.PSYCHIC, [
[ Biome.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.LAKE, BiomePoolTier.UNCOMMON ],
[ Biome.LAKE, BiomePoolTier.BOSS ]
]
],
- [ Species.MAGNEMITE, Type.ELECTRIC, Type.STEEL, [
+ [ Species.MAGNEMITE, PokemonType.ELECTRIC, PokemonType.STEEL, [
[ Biome.POWER_PLANT, BiomePoolTier.COMMON ],
[ Biome.FACTORY, BiomePoolTier.COMMON ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.COMMON ],
[ Biome.LABORATORY, BiomePoolTier.COMMON ]
]
],
- [ Species.MAGNETON, Type.ELECTRIC, Type.STEEL, [
+ [ Species.MAGNETON, PokemonType.ELECTRIC, PokemonType.STEEL, [
[ Biome.POWER_PLANT, BiomePoolTier.COMMON ],
[ Biome.FACTORY, BiomePoolTier.COMMON ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.COMMON ],
[ Biome.LABORATORY, BiomePoolTier.COMMON ]
]
],
- [ Species.FARFETCHD, Type.NORMAL, Type.FLYING, [
+ [ Species.FARFETCHD, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.PLAINS, BiomePoolTier.SUPER_RARE ],
[ Biome.PLAINS, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.DODUO, Type.NORMAL, Type.FLYING, [
+ [ Species.DODUO, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.DODRIO, Type.NORMAL, Type.FLYING, [
+ [ Species.DODRIO, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.PLAINS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SEEL, Type.WATER, -1, [
+ [ Species.SEEL, PokemonType.WATER, -1, [
[ Biome.ICE_CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.DEWGONG, Type.WATER, Type.ICE, [
+ [ Species.DEWGONG, PokemonType.WATER, PokemonType.ICE, [
[ Biome.ICE_CAVE, BiomePoolTier.COMMON ],
[ Biome.ICE_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.GRIMER, Type.POISON, -1, [
+ [ Species.GRIMER, PokemonType.POISON, -1, [
[ Biome.SLUM, BiomePoolTier.COMMON ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ],
[ Biome.LABORATORY, BiomePoolTier.COMMON ]
]
],
- [ Species.MUK, Type.POISON, -1, [
+ [ Species.MUK, PokemonType.POISON, -1, [
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ],
[ Biome.SLUM, BiomePoolTier.COMMON ],
[ Biome.SLUM, BiomePoolTier.BOSS ],
@@ -2473,84 +2474,84 @@ export function initBiomes() {
[ Biome.LABORATORY, BiomePoolTier.BOSS ]
]
],
- [ Species.SHELLDER, Type.WATER, -1, [
+ [ Species.SHELLDER, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.BEACH, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.SEABED, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.CLOYSTER, Type.WATER, Type.ICE, [
+ [ Species.CLOYSTER, PokemonType.WATER, PokemonType.ICE, [
[ Biome.BEACH, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.GASTLY, Type.GHOST, Type.POISON, [
+ [ Species.GASTLY, PokemonType.GHOST, PokemonType.POISON, [
[ Biome.GRAVEYARD, BiomePoolTier.COMMON ],
[ Biome.TEMPLE, BiomePoolTier.COMMON ]
]
],
- [ Species.HAUNTER, Type.GHOST, Type.POISON, [
+ [ Species.HAUNTER, PokemonType.GHOST, PokemonType.POISON, [
[ Biome.GRAVEYARD, BiomePoolTier.COMMON ],
[ Biome.TEMPLE, BiomePoolTier.COMMON ]
]
],
- [ Species.GENGAR, Type.GHOST, Type.POISON, [
+ [ Species.GENGAR, PokemonType.GHOST, PokemonType.POISON, [
[ Biome.GRAVEYARD, BiomePoolTier.BOSS ]
]
],
- [ Species.ONIX, Type.ROCK, Type.GROUND, [
+ [ Species.ONIX, PokemonType.ROCK, PokemonType.GROUND, [
[ Biome.BADLANDS, BiomePoolTier.RARE ],
[ Biome.CAVE, BiomePoolTier.RARE ],
[ Biome.CAVE, BiomePoolTier.BOSS ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.RARE ]
]
],
- [ Species.DROWZEE, Type.PSYCHIC, -1, [
+ [ Species.DROWZEE, PokemonType.PSYCHIC, -1, [
[ Biome.RUINS, BiomePoolTier.COMMON ]
]
],
- [ Species.HYPNO, Type.PSYCHIC, -1, [
+ [ Species.HYPNO, PokemonType.PSYCHIC, -1, [
[ Biome.RUINS, BiomePoolTier.COMMON ],
[ Biome.RUINS, BiomePoolTier.BOSS ]
]
],
- [ Species.KRABBY, Type.WATER, -1, [
+ [ Species.KRABBY, PokemonType.WATER, -1, [
[ Biome.BEACH, BiomePoolTier.COMMON ]
]
],
- [ Species.KINGLER, Type.WATER, -1, [
+ [ Species.KINGLER, PokemonType.WATER, -1, [
[ Biome.BEACH, BiomePoolTier.COMMON ],
[ Biome.BEACH, BiomePoolTier.BOSS ]
]
],
- [ Species.VOLTORB, Type.ELECTRIC, -1, [
+ [ Species.VOLTORB, PokemonType.ELECTRIC, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.COMMON ],
[ Biome.FACTORY, BiomePoolTier.COMMON ],
[ Biome.LABORATORY, BiomePoolTier.COMMON ]
]
],
- [ Species.ELECTRODE, Type.ELECTRIC, -1, [
+ [ Species.ELECTRODE, PokemonType.ELECTRIC, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.COMMON ],
[ Biome.FACTORY, BiomePoolTier.COMMON ],
[ Biome.LABORATORY, BiomePoolTier.COMMON ],
[ Biome.LABORATORY, BiomePoolTier.BOSS ]
]
],
- [ Species.EXEGGCUTE, Type.GRASS, Type.PSYCHIC, [
+ [ Species.EXEGGCUTE, PokemonType.GRASS, PokemonType.PSYCHIC, [
[ Biome.FOREST, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.EXEGGUTOR, Type.GRASS, Type.PSYCHIC, [
+ [ Species.EXEGGUTOR, PokemonType.GRASS, PokemonType.PSYCHIC, [
[ Biome.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.CUBONE, Type.GROUND, -1, [
+ [ Species.CUBONE, PokemonType.GROUND, -1, [
[ Biome.BADLANDS, BiomePoolTier.COMMON, TimeOfDay.NIGHT ],
[ Biome.GRAVEYARD, BiomePoolTier.UNCOMMON ],
[ Biome.TEMPLE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.MAROWAK, Type.GROUND, -1, [
+ [ Species.MAROWAK, PokemonType.GROUND, -1, [
[ Biome.BADLANDS, BiomePoolTier.COMMON, TimeOfDay.NIGHT ],
[ Biome.GRAVEYARD, BiomePoolTier.UNCOMMON ],
[ Biome.TEMPLE, BiomePoolTier.UNCOMMON ],
@@ -2558,143 +2559,143 @@ export function initBiomes() {
[ Biome.GRAVEYARD, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY, TimeOfDay.DUSK ]]
]
],
- [ Species.HITMONLEE, Type.FIGHTING, -1, [
+ [ Species.HITMONLEE, PokemonType.FIGHTING, -1, [
[ Biome.DOJO, BiomePoolTier.RARE ],
[ Biome.DOJO, BiomePoolTier.BOSS ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.RARE ]
]
],
- [ Species.HITMONCHAN, Type.FIGHTING, -1, [
+ [ Species.HITMONCHAN, PokemonType.FIGHTING, -1, [
[ Biome.DOJO, BiomePoolTier.RARE ],
[ Biome.DOJO, BiomePoolTier.BOSS ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.RARE ]
]
],
- [ Species.LICKITUNG, Type.NORMAL, -1, [
+ [ Species.LICKITUNG, PokemonType.NORMAL, -1, [
[ Biome.PLAINS, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.KOFFING, Type.POISON, -1, [
+ [ Species.KOFFING, PokemonType.POISON, -1, [
[ Biome.SLUM, BiomePoolTier.COMMON ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.WEEZING, Type.POISON, -1, [
+ [ Species.WEEZING, PokemonType.POISON, -1, [
[ Biome.SLUM, BiomePoolTier.COMMON ],
[ Biome.SLUM, BiomePoolTier.BOSS ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.RHYHORN, Type.GROUND, Type.ROCK, [
+ [ Species.RHYHORN, PokemonType.GROUND, PokemonType.ROCK, [
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.BADLANDS, BiomePoolTier.COMMON ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.RHYDON, Type.GROUND, Type.ROCK, [
+ [ Species.RHYDON, PokemonType.GROUND, PokemonType.ROCK, [
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.BADLANDS, BiomePoolTier.COMMON ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.CHANSEY, Type.NORMAL, -1, [
+ [ Species.CHANSEY, PokemonType.NORMAL, -1, [
[ Biome.PLAINS, BiomePoolTier.SUPER_RARE ],
[ Biome.MEADOW, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.TANGELA, Type.GRASS, -1, [
+ [ Species.TANGELA, PokemonType.GRASS, -1, [
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.KANGASKHAN, Type.NORMAL, -1, [
+ [ Species.KANGASKHAN, PokemonType.NORMAL, -1, [
[ Biome.JUNGLE, BiomePoolTier.SUPER_RARE ],
[ Biome.JUNGLE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.HORSEA, Type.WATER, -1, [
+ [ Species.HORSEA, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.SEADRA, Type.WATER, -1, [
+ [ Species.SEADRA, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.GOLDEEN, Type.WATER, -1, [
+ [ Species.GOLDEEN, PokemonType.WATER, -1, [
[ Biome.LAKE, BiomePoolTier.COMMON ],
[ Biome.SEA, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.SEAKING, Type.WATER, -1, [
+ [ Species.SEAKING, PokemonType.WATER, -1, [
[ Biome.LAKE, BiomePoolTier.COMMON ],
[ Biome.LAKE, BiomePoolTier.BOSS ],
[ Biome.SEA, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.STARYU, Type.WATER, -1, [
+ [ Species.STARYU, PokemonType.WATER, -1, [
[ Biome.BEACH, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.STARMIE, Type.WATER, Type.PSYCHIC, [
+ [ Species.STARMIE, PokemonType.WATER, PokemonType.PSYCHIC, [
[ Biome.BEACH, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.BEACH, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.MR_MIME, Type.PSYCHIC, Type.FAIRY, [
+ [ Species.MR_MIME, PokemonType.PSYCHIC, PokemonType.FAIRY, [
[ Biome.RUINS, BiomePoolTier.RARE ],
[ Biome.RUINS, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.SCYTHER, Type.BUG, Type.FLYING, [
+ [ Species.SCYTHER, PokemonType.BUG, PokemonType.FLYING, [
[ Biome.TALL_GRASS, BiomePoolTier.SUPER_RARE ],
[ Biome.FOREST, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.JUNGLE, BiomePoolTier.RARE ]
]
],
- [ Species.JYNX, Type.ICE, Type.PSYCHIC, [
+ [ Species.JYNX, PokemonType.ICE, PokemonType.PSYCHIC, [
[ Biome.ICE_CAVE, BiomePoolTier.RARE ],
[ Biome.ICE_CAVE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.ELECTABUZZ, Type.ELECTRIC, -1, [
+ [ Species.ELECTABUZZ, PokemonType.ELECTRIC, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.MAGMAR, Type.FIRE, -1, [
+ [ Species.MAGMAR, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.PINSIR, Type.BUG, -1, [
+ [ Species.PINSIR, PokemonType.BUG, -1, [
[ Biome.TALL_GRASS, BiomePoolTier.RARE ],
[ Biome.TALL_GRASS, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.TAUROS, Type.NORMAL, -1, [
+ [ Species.TAUROS, PokemonType.NORMAL, -1, [
[ Biome.MEADOW, BiomePoolTier.RARE ],
[ Biome.MEADOW, BiomePoolTier.BOSS ]
]
],
- [ Species.MAGIKARP, Type.WATER, -1, [
+ [ Species.MAGIKARP, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.COMMON ],
[ Biome.LAKE, BiomePoolTier.COMMON ]
]
],
- [ Species.GYARADOS, Type.WATER, Type.FLYING, [
+ [ Species.GYARADOS, PokemonType.WATER, PokemonType.FLYING, [
[ Biome.SEA, BiomePoolTier.COMMON ],
[ Biome.LAKE, BiomePoolTier.COMMON ],
[ Biome.LAKE, BiomePoolTier.BOSS ]
]
],
- [ Species.LAPRAS, Type.WATER, Type.ICE, [
+ [ Species.LAPRAS, PokemonType.WATER, PokemonType.ICE, [
[ Biome.SEA, BiomePoolTier.RARE ],
[ Biome.ICE_CAVE, BiomePoolTier.RARE ],
[ Biome.ICE_CAVE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.DITTO, Type.NORMAL, -1, [
+ [ Species.DITTO, PokemonType.NORMAL, -1, [
[ Biome.TOWN, BiomePoolTier.ULTRA_RARE ],
[ Biome.PLAINS, BiomePoolTier.ULTRA_RARE ],
[ Biome.METROPOLIS, BiomePoolTier.SUPER_RARE ],
@@ -2702,164 +2703,164 @@ export function initBiomes() {
[ Biome.LABORATORY, BiomePoolTier.RARE ]
]
],
- [ Species.EEVEE, Type.NORMAL, -1, [
+ [ Species.EEVEE, PokemonType.NORMAL, -1, [
[ Biome.TOWN, BiomePoolTier.SUPER_RARE ],
[ Biome.PLAINS, BiomePoolTier.SUPER_RARE ],
[ Biome.METROPOLIS, BiomePoolTier.SUPER_RARE ],
[ Biome.MEADOW, BiomePoolTier.RARE ]
]
],
- [ Species.VAPOREON, Type.WATER, -1, [
+ [ Species.VAPOREON, PokemonType.WATER, -1, [
[ Biome.LAKE, BiomePoolTier.SUPER_RARE ],
[ Biome.LAKE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.JOLTEON, Type.ELECTRIC, -1, [
+ [ Species.JOLTEON, PokemonType.ELECTRIC, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.SUPER_RARE ],
[ Biome.POWER_PLANT, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.FLAREON, Type.FIRE, -1, [
+ [ Species.FLAREON, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.SUPER_RARE ],
[ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.PORYGON, Type.NORMAL, -1, [
+ [ Species.PORYGON, PokemonType.NORMAL, -1, [
[ Biome.FACTORY, BiomePoolTier.RARE ],
[ Biome.SPACE, BiomePoolTier.SUPER_RARE ],
[ Biome.LABORATORY, BiomePoolTier.RARE ]
]
],
- [ Species.OMANYTE, Type.ROCK, Type.WATER, [
+ [ Species.OMANYTE, PokemonType.ROCK, PokemonType.WATER, [
[ Biome.SEABED, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.OMASTAR, Type.ROCK, Type.WATER, [
+ [ Species.OMASTAR, PokemonType.ROCK, PokemonType.WATER, [
[ Biome.SEABED, BiomePoolTier.SUPER_RARE ],
[ Biome.SEABED, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.KABUTO, Type.ROCK, Type.WATER, [
+ [ Species.KABUTO, PokemonType.ROCK, PokemonType.WATER, [
[ Biome.SEABED, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.KABUTOPS, Type.ROCK, Type.WATER, [
+ [ Species.KABUTOPS, PokemonType.ROCK, PokemonType.WATER, [
[ Biome.SEABED, BiomePoolTier.SUPER_RARE ],
[ Biome.SEABED, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.AERODACTYL, Type.ROCK, Type.FLYING, [
+ [ Species.AERODACTYL, PokemonType.ROCK, PokemonType.FLYING, [
[ Biome.WASTELAND, BiomePoolTier.SUPER_RARE ],
[ Biome.WASTELAND, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.SNORLAX, Type.NORMAL, -1, [
+ [ Species.SNORLAX, PokemonType.NORMAL, -1, [
[ Biome.PLAINS, BiomePoolTier.SUPER_RARE ],
[ Biome.PLAINS, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.ARTICUNO, Type.ICE, Type.FLYING, [
+ [ Species.ARTICUNO, PokemonType.ICE, PokemonType.FLYING, [
[ Biome.ICE_CAVE, BiomePoolTier.ULTRA_RARE ],
[ Biome.ICE_CAVE, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.ZAPDOS, Type.ELECTRIC, Type.FLYING, [
+ [ Species.ZAPDOS, PokemonType.ELECTRIC, PokemonType.FLYING, [
[ Biome.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.MOLTRES, Type.FIRE, Type.FLYING, [
+ [ Species.MOLTRES, PokemonType.FIRE, PokemonType.FLYING, [
[ Biome.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.DRATINI, Type.DRAGON, -1, [
+ [ Species.DRATINI, PokemonType.DRAGON, -1, [
[ Biome.WASTELAND, BiomePoolTier.RARE ]
]
],
- [ Species.DRAGONAIR, Type.DRAGON, -1, [
+ [ Species.DRAGONAIR, PokemonType.DRAGON, -1, [
[ Biome.WASTELAND, BiomePoolTier.RARE ]
]
],
- [ Species.DRAGONITE, Type.DRAGON, Type.FLYING, [
+ [ Species.DRAGONITE, PokemonType.DRAGON, PokemonType.FLYING, [
[ Biome.WASTELAND, BiomePoolTier.RARE ],
[ Biome.WASTELAND, BiomePoolTier.BOSS ]
]
],
- [ Species.MEWTWO, Type.PSYCHIC, -1, [
+ [ Species.MEWTWO, PokemonType.PSYCHIC, -1, [
[ Biome.LABORATORY, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.MEW, Type.PSYCHIC, -1, [ ]
+ [ Species.MEW, PokemonType.PSYCHIC, -1, [ ]
],
- [ Species.CHIKORITA, Type.GRASS, -1, [
+ [ Species.CHIKORITA, PokemonType.GRASS, -1, [
[ Biome.TALL_GRASS, BiomePoolTier.RARE ]
]
],
- [ Species.BAYLEEF, Type.GRASS, -1, [
+ [ Species.BAYLEEF, PokemonType.GRASS, -1, [
[ Biome.TALL_GRASS, BiomePoolTier.RARE ]
]
],
- [ Species.MEGANIUM, Type.GRASS, -1, [
+ [ Species.MEGANIUM, PokemonType.GRASS, -1, [
[ Biome.TALL_GRASS, BiomePoolTier.RARE ],
[ Biome.TALL_GRASS, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.CYNDAQUIL, Type.FIRE, -1, [
+ [ Species.CYNDAQUIL, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.RARE ]
]
],
- [ Species.QUILAVA, Type.FIRE, -1, [
+ [ Species.QUILAVA, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.RARE ]
]
],
- [ Species.TYPHLOSION, Type.FIRE, -1, [
+ [ Species.TYPHLOSION, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.RARE ],
[ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.TOTODILE, Type.WATER, -1, [
+ [ Species.TOTODILE, PokemonType.WATER, -1, [
[ Biome.SWAMP, BiomePoolTier.RARE ]
]
],
- [ Species.CROCONAW, Type.WATER, -1, [
+ [ Species.CROCONAW, PokemonType.WATER, -1, [
[ Biome.SWAMP, BiomePoolTier.RARE ]
]
],
- [ Species.FERALIGATR, Type.WATER, -1, [
+ [ Species.FERALIGATR, PokemonType.WATER, -1, [
[ Biome.SWAMP, BiomePoolTier.RARE ],
[ Biome.SWAMP, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.SENTRET, Type.NORMAL, -1, [
+ [ Species.SENTRET, PokemonType.NORMAL, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.FURRET, Type.NORMAL, -1, [
+ [ Species.FURRET, PokemonType.NORMAL, -1, [
[ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.PLAINS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.HOOTHOOT, Type.NORMAL, Type.FLYING, [
+ [ Species.HOOTHOOT, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.TOWN, BiomePoolTier.COMMON, TimeOfDay.NIGHT ],
[ Biome.FOREST, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ]
]
],
- [ Species.NOCTOWL, Type.NORMAL, Type.FLYING, [
+ [ Species.NOCTOWL, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.FOREST, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ],
[ Biome.FOREST, BiomePoolTier.BOSS, TimeOfDay.NIGHT ]
]
],
- [ Species.LEDYBA, Type.BUG, Type.FLYING, [
+ [ Species.LEDYBA, PokemonType.BUG, PokemonType.FLYING, [
[ Biome.TOWN, BiomePoolTier.COMMON, TimeOfDay.DAWN ],
[ Biome.MEADOW, BiomePoolTier.COMMON, TimeOfDay.DAWN ]
]
],
- [ Species.LEDIAN, Type.BUG, Type.FLYING, [
+ [ Species.LEDIAN, PokemonType.BUG, PokemonType.FLYING, [
[ Biome.MEADOW, BiomePoolTier.COMMON, TimeOfDay.DAWN ],
[ Biome.MEADOW, BiomePoolTier.BOSS, TimeOfDay.DAWN ]
]
],
- [ Species.SPINARAK, Type.BUG, Type.POISON, [
+ [ Species.SPINARAK, PokemonType.BUG, PokemonType.POISON, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, TimeOfDay.DUSK ],
[ Biome.TOWN, BiomePoolTier.COMMON, TimeOfDay.NIGHT ],
[ Biome.TALL_GRASS, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ],
@@ -2869,7 +2870,7 @@ export function initBiomes() {
[ Biome.JUNGLE, BiomePoolTier.COMMON, TimeOfDay.NIGHT ]
]
],
- [ Species.ARIADOS, Type.BUG, Type.POISON, [
+ [ Species.ARIADOS, PokemonType.BUG, PokemonType.POISON, [
[ Biome.TALL_GRASS, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ],
[ Biome.FOREST, BiomePoolTier.UNCOMMON, TimeOfDay.DUSK ],
[ Biome.FOREST, BiomePoolTier.COMMON, TimeOfDay.NIGHT ],
@@ -2878,227 +2879,227 @@ export function initBiomes() {
[ Biome.JUNGLE, BiomePoolTier.COMMON, TimeOfDay.NIGHT ]
]
],
- [ Species.CROBAT, Type.POISON, Type.FLYING, [
+ [ Species.CROBAT, PokemonType.POISON, PokemonType.FLYING, [
[ Biome.CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.CHINCHOU, Type.WATER, Type.ELECTRIC, [
+ [ Species.CHINCHOU, PokemonType.WATER, PokemonType.ELECTRIC, [
[ Biome.SEA, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ],
[ Biome.SEABED, BiomePoolTier.COMMON ]
]
],
- [ Species.LANTURN, Type.WATER, Type.ELECTRIC, [
+ [ Species.LANTURN, PokemonType.WATER, PokemonType.ELECTRIC, [
[ Biome.SEA, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ],
[ Biome.SEABED, BiomePoolTier.COMMON ],
[ Biome.SEABED, BiomePoolTier.BOSS ]
]
],
- [ Species.PICHU, Type.ELECTRIC, -1, [ ]
+ [ Species.PICHU, PokemonType.ELECTRIC, -1, [ ]
],
- [ Species.CLEFFA, Type.FAIRY, -1, [ ]
+ [ Species.CLEFFA, PokemonType.FAIRY, -1, [ ]
],
- [ Species.IGGLYBUFF, Type.NORMAL, Type.FAIRY, [ ]
+ [ Species.IGGLYBUFF, PokemonType.NORMAL, PokemonType.FAIRY, [ ]
],
- [ Species.TOGEPI, Type.FAIRY, -1, [ ]
+ [ Species.TOGEPI, PokemonType.FAIRY, -1, [ ]
],
- [ Species.TOGETIC, Type.FAIRY, Type.FLYING, [
+ [ Species.TOGETIC, PokemonType.FAIRY, PokemonType.FLYING, [
[ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.NATU, Type.PSYCHIC, Type.FLYING, [
+ [ Species.NATU, PokemonType.PSYCHIC, PokemonType.FLYING, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ],
[ Biome.RUINS, BiomePoolTier.COMMON ],
[ Biome.TEMPLE, BiomePoolTier.COMMON ]
]
],
- [ Species.XATU, Type.PSYCHIC, Type.FLYING, [
+ [ Species.XATU, PokemonType.PSYCHIC, PokemonType.FLYING, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ],
[ Biome.RUINS, BiomePoolTier.COMMON ],
[ Biome.RUINS, BiomePoolTier.BOSS ],
[ Biome.TEMPLE, BiomePoolTier.COMMON ]
]
],
- [ Species.MAREEP, Type.ELECTRIC, -1, [
+ [ Species.MAREEP, PokemonType.ELECTRIC, -1, [
[ Biome.MEADOW, BiomePoolTier.UNCOMMON ],
[ Biome.POWER_PLANT, BiomePoolTier.RARE ]
]
],
- [ Species.FLAAFFY, Type.ELECTRIC, -1, [
+ [ Species.FLAAFFY, PokemonType.ELECTRIC, -1, [
[ Biome.MEADOW, BiomePoolTier.UNCOMMON ],
[ Biome.POWER_PLANT, BiomePoolTier.RARE ]
]
],
- [ Species.AMPHAROS, Type.ELECTRIC, -1, [
+ [ Species.AMPHAROS, PokemonType.ELECTRIC, -1, [
[ Biome.MEADOW, BiomePoolTier.UNCOMMON ],
[ Biome.POWER_PLANT, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.BELLOSSOM, Type.GRASS, -1, [
+ [ Species.BELLOSSOM, PokemonType.GRASS, -1, [
[ Biome.TALL_GRASS, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.MARILL, Type.WATER, Type.FAIRY, [
+ [ Species.MARILL, PokemonType.WATER, PokemonType.FAIRY, [
[ Biome.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.AZUMARILL, Type.WATER, Type.FAIRY, [
+ [ Species.AZUMARILL, PokemonType.WATER, PokemonType.FAIRY, [
[ Biome.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.LAKE, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.SUDOWOODO, Type.ROCK, -1, [
+ [ Species.SUDOWOODO, PokemonType.ROCK, -1, [
[ Biome.GRASS, BiomePoolTier.SUPER_RARE ],
[ Biome.GRASS, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.POLITOED, Type.WATER, -1, [
+ [ Species.POLITOED, PokemonType.WATER, -1, [
[ Biome.SWAMP, BiomePoolTier.SUPER_RARE ],
[ Biome.SWAMP, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.HOPPIP, Type.GRASS, Type.FLYING, [
+ [ Species.HOPPIP, PokemonType.GRASS, PokemonType.FLYING, [
[ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SKIPLOOM, Type.GRASS, Type.FLYING, [
+ [ Species.SKIPLOOM, PokemonType.GRASS, PokemonType.FLYING, [
[ Biome.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.JUMPLUFF, Type.GRASS, Type.FLYING, [
+ [ Species.JUMPLUFF, PokemonType.GRASS, PokemonType.FLYING, [
[ Biome.GRASS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.AIPOM, Type.NORMAL, -1, [
+ [ Species.AIPOM, PokemonType.NORMAL, -1, [
[ Biome.JUNGLE, BiomePoolTier.COMMON ]
]
],
- [ Species.SUNKERN, Type.GRASS, -1, [
+ [ Species.SUNKERN, PokemonType.GRASS, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SUNFLORA, Type.GRASS, -1, [
+ [ Species.SUNFLORA, PokemonType.GRASS, -1, [
[ Biome.GRASS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.YANMA, Type.BUG, Type.FLYING, [
+ [ Species.YANMA, PokemonType.BUG, PokemonType.FLYING, [
[ Biome.JUNGLE, BiomePoolTier.RARE ]
]
],
- [ Species.WOOPER, Type.WATER, Type.GROUND, [
+ [ Species.WOOPER, PokemonType.WATER, PokemonType.GROUND, [
[ Biome.LAKE, BiomePoolTier.UNCOMMON ],
[ Biome.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.QUAGSIRE, Type.WATER, Type.GROUND, [
+ [ Species.QUAGSIRE, PokemonType.WATER, PokemonType.GROUND, [
[ Biome.LAKE, BiomePoolTier.UNCOMMON ],
[ Biome.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.SWAMP, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.ESPEON, Type.PSYCHIC, -1, [
+ [ Species.ESPEON, PokemonType.PSYCHIC, -1, [
[ Biome.RUINS, BiomePoolTier.SUPER_RARE, TimeOfDay.DAY ],
[ Biome.RUINS, BiomePoolTier.BOSS_RARE, TimeOfDay.DAY ]
]
],
- [ Species.UMBREON, Type.DARK, -1, [
+ [ Species.UMBREON, PokemonType.DARK, -1, [
[ Biome.ABYSS, BiomePoolTier.SUPER_RARE ],
[ Biome.ABYSS, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.MURKROW, Type.DARK, Type.FLYING, [
+ [ Species.MURKROW, PokemonType.DARK, PokemonType.FLYING, [
[ Biome.MOUNTAIN, BiomePoolTier.RARE, TimeOfDay.NIGHT ],
[ Biome.ABYSS, BiomePoolTier.COMMON ]
]
],
- [ Species.SLOWKING, Type.WATER, Type.PSYCHIC, [
+ [ Species.SLOWKING, PokemonType.WATER, PokemonType.PSYCHIC, [
[ Biome.LAKE, BiomePoolTier.SUPER_RARE ],
[ Biome.LAKE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.MISDREAVUS, Type.GHOST, -1, [
+ [ Species.MISDREAVUS, PokemonType.GHOST, -1, [
[ Biome.GRAVEYARD, BiomePoolTier.RARE ]
]
],
- [ Species.UNOWN, Type.PSYCHIC, -1, [
+ [ Species.UNOWN, PokemonType.PSYCHIC, -1, [
[ Biome.RUINS, BiomePoolTier.COMMON ]
]
],
- [ Species.WOBBUFFET, Type.PSYCHIC, -1, [
+ [ Species.WOBBUFFET, PokemonType.PSYCHIC, -1, [
[ Biome.RUINS, BiomePoolTier.RARE ],
[ Biome.RUINS, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.GIRAFARIG, Type.NORMAL, Type.PSYCHIC, [
+ [ Species.GIRAFARIG, PokemonType.NORMAL, PokemonType.PSYCHIC, [
[ Biome.TALL_GRASS, BiomePoolTier.RARE ]
]
],
- [ Species.PINECO, Type.BUG, -1, [
+ [ Species.PINECO, PokemonType.BUG, -1, [
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.FORRETRESS, Type.BUG, Type.STEEL, [
+ [ Species.FORRETRESS, PokemonType.BUG, PokemonType.STEEL, [
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.DUNSPARCE, Type.NORMAL, -1, [
+ [ Species.DUNSPARCE, PokemonType.NORMAL, -1, [
[ Biome.PLAINS, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.GLIGAR, Type.GROUND, Type.FLYING, [
+ [ Species.GLIGAR, PokemonType.GROUND, PokemonType.FLYING, [
[ Biome.BADLANDS, BiomePoolTier.RARE ]
]
],
- [ Species.STEELIX, Type.STEEL, Type.GROUND, [
+ [ Species.STEELIX, PokemonType.STEEL, PokemonType.GROUND, [
[ Biome.BADLANDS, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.SNUBBULL, Type.FAIRY, -1, [
+ [ Species.SNUBBULL, PokemonType.FAIRY, -1, [
[ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.GRANBULL, Type.FAIRY, -1, [
+ [ Species.GRANBULL, PokemonType.FAIRY, -1, [
[ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.QWILFISH, Type.WATER, Type.POISON, [
+ [ Species.QWILFISH, PokemonType.WATER, PokemonType.POISON, [
[ Biome.SEABED, BiomePoolTier.RARE ],
[ Biome.SEABED, BiomePoolTier.BOSS ]
]
],
- [ Species.SCIZOR, Type.BUG, Type.STEEL, [
+ [ Species.SCIZOR, PokemonType.BUG, PokemonType.STEEL, [
[ Biome.JUNGLE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.SHUCKLE, Type.BUG, Type.ROCK, [
+ [ Species.SHUCKLE, PokemonType.BUG, PokemonType.ROCK, [
[ Biome.CAVE, BiomePoolTier.SUPER_RARE ],
[ Biome.CAVE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.HERACROSS, Type.BUG, Type.FIGHTING, [
+ [ Species.HERACROSS, PokemonType.BUG, PokemonType.FIGHTING, [
[ Biome.FOREST, BiomePoolTier.RARE ],
[ Biome.FOREST, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.SNEASEL, Type.DARK, Type.ICE, [
+ [ Species.SNEASEL, PokemonType.DARK, PokemonType.ICE, [
[ Biome.ICE_CAVE, BiomePoolTier.UNCOMMON ],
[ Biome.SNOWY_FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.SNOWY_FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.TEDDIURSA, Type.NORMAL, -1, [
+ [ Species.TEDDIURSA, PokemonType.NORMAL, -1, [
[ Biome.FOREST, BiomePoolTier.UNCOMMON ],
[ Biome.CAVE, BiomePoolTier.COMMON ],
[ Biome.SNOWY_FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.SNOWY_FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.URSARING, Type.NORMAL, -1, [
+ [ Species.URSARING, PokemonType.NORMAL, -1, [
[ Biome.FOREST, BiomePoolTier.UNCOMMON ],
[ Biome.CAVE, BiomePoolTier.COMMON ],
[ Biome.CAVE, BiomePoolTier.BOSS ],
@@ -3106,926 +3107,926 @@ export function initBiomes() {
[ Biome.SNOWY_FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SLUGMA, Type.FIRE, -1, [
+ [ Species.SLUGMA, PokemonType.FIRE, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ],
[ Biome.VOLCANO, BiomePoolTier.COMMON ]
]
],
- [ Species.MAGCARGO, Type.FIRE, Type.ROCK, [
+ [ Species.MAGCARGO, PokemonType.FIRE, PokemonType.ROCK, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ],
[ Biome.VOLCANO, BiomePoolTier.COMMON ],
[ Biome.VOLCANO, BiomePoolTier.BOSS ]
]
],
- [ Species.SWINUB, Type.ICE, Type.GROUND, [
+ [ Species.SWINUB, PokemonType.ICE, PokemonType.GROUND, [
[ Biome.ICE_CAVE, BiomePoolTier.COMMON ],
[ Biome.SNOWY_FOREST, BiomePoolTier.COMMON ]
]
],
- [ Species.PILOSWINE, Type.ICE, Type.GROUND, [
+ [ Species.PILOSWINE, PokemonType.ICE, PokemonType.GROUND, [
[ Biome.ICE_CAVE, BiomePoolTier.COMMON ],
[ Biome.SNOWY_FOREST, BiomePoolTier.COMMON ]
]
],
- [ Species.CORSOLA, Type.WATER, Type.ROCK, [
+ [ Species.CORSOLA, PokemonType.WATER, PokemonType.ROCK, [
[ Biome.SEABED, BiomePoolTier.RARE ],
[ Biome.SEABED, BiomePoolTier.BOSS ]
]
],
- [ Species.REMORAID, Type.WATER, -1, [
+ [ Species.REMORAID, PokemonType.WATER, -1, [
[ Biome.SEABED, BiomePoolTier.COMMON ]
]
],
- [ Species.OCTILLERY, Type.WATER, -1, [
+ [ Species.OCTILLERY, PokemonType.WATER, -1, [
[ Biome.SEABED, BiomePoolTier.RARE ],
[ Biome.SEABED, BiomePoolTier.BOSS ]
]
],
- [ Species.DELIBIRD, Type.ICE, Type.FLYING, [
+ [ Species.DELIBIRD, PokemonType.ICE, PokemonType.FLYING, [
[ Biome.ICE_CAVE, BiomePoolTier.SUPER_RARE ],
[ Biome.SNOWY_FOREST, BiomePoolTier.RARE ]
]
],
- [ Species.MANTINE, Type.WATER, Type.FLYING, [
+ [ Species.MANTINE, PokemonType.WATER, PokemonType.FLYING, [
[ Biome.SEABED, BiomePoolTier.RARE ],
[ Biome.SEABED, BiomePoolTier.BOSS ]
]
],
- [ Species.SKARMORY, Type.STEEL, Type.FLYING, [
+ [ Species.SKARMORY, PokemonType.STEEL, PokemonType.FLYING, [
[ Biome.MOUNTAIN, BiomePoolTier.RARE ],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS ]
]
],
- [ Species.HOUNDOUR, Type.DARK, Type.FIRE, [
+ [ Species.HOUNDOUR, PokemonType.DARK, PokemonType.FIRE, [
[ Biome.METROPOLIS, BiomePoolTier.COMMON, TimeOfDay.NIGHT ],
[ Biome.ABYSS, BiomePoolTier.COMMON ]
]
],
- [ Species.HOUNDOOM, Type.DARK, Type.FIRE, [
+ [ Species.HOUNDOOM, PokemonType.DARK, PokemonType.FIRE, [
[ Biome.METROPOLIS, BiomePoolTier.COMMON, TimeOfDay.NIGHT ],
[ Biome.ABYSS, BiomePoolTier.COMMON ],
[ Biome.ABYSS, BiomePoolTier.BOSS ]
]
],
- [ Species.KINGDRA, Type.WATER, Type.DRAGON, [
+ [ Species.KINGDRA, PokemonType.WATER, PokemonType.DRAGON, [
[ Biome.SEA, BiomePoolTier.SUPER_RARE ],
[ Biome.SEA, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.PHANPY, Type.GROUND, -1, [
+ [ Species.PHANPY, PokemonType.GROUND, -1, [
[ Biome.BADLANDS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.DONPHAN, Type.GROUND, -1, [
+ [ Species.DONPHAN, PokemonType.GROUND, -1, [
[ Biome.BADLANDS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.BADLANDS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.PORYGON2, Type.NORMAL, -1, [
+ [ Species.PORYGON2, PokemonType.NORMAL, -1, [
[ Biome.FACTORY, BiomePoolTier.RARE ],
[ Biome.SPACE, BiomePoolTier.SUPER_RARE ],
[ Biome.LABORATORY, BiomePoolTier.RARE ]
]
],
- [ Species.STANTLER, Type.NORMAL, -1, [
+ [ Species.STANTLER, PokemonType.NORMAL, -1, [
[ Biome.FOREST, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.FOREST, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.SNOWY_FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SMEARGLE, Type.NORMAL, -1, [
+ [ Species.SMEARGLE, PokemonType.NORMAL, -1, [
[ Biome.METROPOLIS, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.TYROGUE, Type.FIGHTING, -1, [ ]
+ [ Species.TYROGUE, PokemonType.FIGHTING, -1, [ ]
],
- [ Species.HITMONTOP, Type.FIGHTING, -1, [
+ [ Species.HITMONTOP, PokemonType.FIGHTING, -1, [
[ Biome.DOJO, BiomePoolTier.SUPER_RARE ],
[ Biome.DOJO, BiomePoolTier.BOSS_RARE ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.SMOOCHUM, Type.ICE, Type.PSYCHIC, [ ]
+ [ Species.SMOOCHUM, PokemonType.ICE, PokemonType.PSYCHIC, [ ]
],
- [ Species.ELEKID, Type.ELECTRIC, -1, [ ]
+ [ Species.ELEKID, PokemonType.ELECTRIC, -1, [ ]
],
- [ Species.MAGBY, Type.FIRE, -1, [ ]
+ [ Species.MAGBY, PokemonType.FIRE, -1, [ ]
],
- [ Species.MILTANK, Type.NORMAL, -1, [
+ [ Species.MILTANK, PokemonType.NORMAL, -1, [
[ Biome.MEADOW, BiomePoolTier.RARE ],
[ Biome.MEADOW, BiomePoolTier.BOSS ]
]
],
- [ Species.BLISSEY, Type.NORMAL, -1, [
+ [ Species.BLISSEY, PokemonType.NORMAL, -1, [
[ Biome.MEADOW, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.RAIKOU, Type.ELECTRIC, -1, [
+ [ Species.RAIKOU, PokemonType.ELECTRIC, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.ULTRA_RARE ],
[ Biome.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.ENTEI, Type.FIRE, -1, [
+ [ Species.ENTEI, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.ULTRA_RARE ],
[ Biome.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.SUICUNE, Type.WATER, -1, [
+ [ Species.SUICUNE, PokemonType.WATER, -1, [
[ Biome.LAKE, BiomePoolTier.ULTRA_RARE ],
[ Biome.LAKE, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.LARVITAR, Type.ROCK, Type.GROUND, [
+ [ Species.LARVITAR, PokemonType.ROCK, PokemonType.GROUND, [
[ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ],
[ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.PUPITAR, Type.ROCK, Type.GROUND, [
+ [ Species.PUPITAR, PokemonType.ROCK, PokemonType.GROUND, [
[ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ],
[ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.TYRANITAR, Type.ROCK, Type.DARK, [
+ [ Species.TYRANITAR, PokemonType.ROCK, PokemonType.DARK, [
[ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.WASTELAND, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.LUGIA, Type.PSYCHIC, Type.FLYING, [
+ [ Species.LUGIA, PokemonType.PSYCHIC, PokemonType.FLYING, [
[ Biome.SEA, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.HO_OH, Type.FIRE, Type.FLYING, [
+ [ Species.HO_OH, PokemonType.FIRE, PokemonType.FLYING, [
[ Biome.MOUNTAIN, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.CELEBI, Type.PSYCHIC, Type.GRASS, [ ]
+ [ Species.CELEBI, PokemonType.PSYCHIC, PokemonType.GRASS, [ ]
],
- [ Species.TREECKO, Type.GRASS, -1, [
+ [ Species.TREECKO, PokemonType.GRASS, -1, [
[ Biome.FOREST, BiomePoolTier.RARE ]
]
],
- [ Species.GROVYLE, Type.GRASS, -1, [
+ [ Species.GROVYLE, PokemonType.GRASS, -1, [
[ Biome.FOREST, BiomePoolTier.RARE ]
]
],
- [ Species.SCEPTILE, Type.GRASS, -1, [
+ [ Species.SCEPTILE, PokemonType.GRASS, -1, [
[ Biome.FOREST, BiomePoolTier.RARE ],
[ Biome.FOREST, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.TORCHIC, Type.FIRE, -1, [
+ [ Species.TORCHIC, PokemonType.FIRE, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.RARE ]
]
],
- [ Species.COMBUSKEN, Type.FIRE, Type.FIGHTING, [
+ [ Species.COMBUSKEN, PokemonType.FIRE, PokemonType.FIGHTING, [
[ Biome.MOUNTAIN, BiomePoolTier.RARE ]
]
],
- [ Species.BLAZIKEN, Type.FIRE, Type.FIGHTING, [
+ [ Species.BLAZIKEN, PokemonType.FIRE, PokemonType.FIGHTING, [
[ Biome.MOUNTAIN, BiomePoolTier.RARE ],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.MUDKIP, Type.WATER, -1, [
+ [ Species.MUDKIP, PokemonType.WATER, -1, [
[ Biome.SWAMP, BiomePoolTier.RARE ]
]
],
- [ Species.MARSHTOMP, Type.WATER, Type.GROUND, [
+ [ Species.MARSHTOMP, PokemonType.WATER, PokemonType.GROUND, [
[ Biome.SWAMP, BiomePoolTier.RARE ]
]
],
- [ Species.SWAMPERT, Type.WATER, Type.GROUND, [
+ [ Species.SWAMPERT, PokemonType.WATER, PokemonType.GROUND, [
[ Biome.SWAMP, BiomePoolTier.RARE ],
[ Biome.SWAMP, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.POOCHYENA, Type.DARK, -1, [
+ [ Species.POOCHYENA, PokemonType.DARK, -1, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.MIGHTYENA, Type.DARK, -1, [
+ [ Species.MIGHTYENA, PokemonType.DARK, -1, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.PLAINS, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.ZIGZAGOON, Type.NORMAL, -1, [
+ [ Species.ZIGZAGOON, PokemonType.NORMAL, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON ],
[ Biome.PLAINS, BiomePoolTier.COMMON ],
[ Biome.METROPOLIS, BiomePoolTier.COMMON ]
]
],
- [ Species.LINOONE, Type.NORMAL, -1, [
+ [ Species.LINOONE, PokemonType.NORMAL, -1, [
[ Biome.PLAINS, BiomePoolTier.COMMON ],
[ Biome.PLAINS, BiomePoolTier.BOSS ],
[ Biome.METROPOLIS, BiomePoolTier.COMMON ]
]
],
- [ Species.WURMPLE, Type.BUG, -1, [
+ [ Species.WURMPLE, PokemonType.BUG, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON ]
]
],
- [ Species.SILCOON, Type.BUG, -1, [
+ [ Species.SILCOON, PokemonType.BUG, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON, TimeOfDay.DAY ]
]
],
- [ Species.BEAUTIFLY, Type.BUG, Type.FLYING, [
+ [ Species.BEAUTIFLY, PokemonType.BUG, PokemonType.FLYING, [
[ Biome.FOREST, BiomePoolTier.COMMON, TimeOfDay.DAY ],
[ Biome.FOREST, BiomePoolTier.BOSS, TimeOfDay.DAY ]
]
],
- [ Species.CASCOON, Type.BUG, -1, [
+ [ Species.CASCOON, PokemonType.BUG, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON, TimeOfDay.NIGHT ]
]
],
- [ Species.DUSTOX, Type.BUG, Type.POISON, [
+ [ Species.DUSTOX, PokemonType.BUG, PokemonType.POISON, [
[ Biome.FOREST, BiomePoolTier.COMMON, TimeOfDay.NIGHT ],
[ Biome.FOREST, BiomePoolTier.BOSS, TimeOfDay.NIGHT ]
]
],
- [ Species.LOTAD, Type.WATER, Type.GRASS, [
+ [ Species.LOTAD, PokemonType.WATER, PokemonType.GRASS, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.LOMBRE, Type.WATER, Type.GRASS, [
+ [ Species.LOMBRE, PokemonType.WATER, PokemonType.GRASS, [
[ Biome.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.LUDICOLO, Type.WATER, Type.GRASS, [
+ [ Species.LUDICOLO, PokemonType.WATER, PokemonType.GRASS, [
[ Biome.SWAMP, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SEEDOT, Type.GRASS, -1, [
+ [ Species.SEEDOT, PokemonType.GRASS, -1, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.NUZLEAF, Type.GRASS, Type.DARK, [
+ [ Species.NUZLEAF, PokemonType.GRASS, PokemonType.DARK, [
[ Biome.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.SHIFTRY, Type.GRASS, Type.DARK, [
+ [ Species.SHIFTRY, PokemonType.GRASS, PokemonType.DARK, [
[ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.TAILLOW, Type.NORMAL, Type.FLYING, [
+ [ Species.TAILLOW, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.TOWN, BiomePoolTier.COMMON ],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SWELLOW, Type.NORMAL, Type.FLYING, [
+ [ Species.SWELLOW, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.WINGULL, Type.WATER, Type.FLYING, [
+ [ Species.WINGULL, PokemonType.WATER, PokemonType.FLYING, [
[ Biome.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.PELIPPER, Type.WATER, Type.FLYING, [
+ [ Species.PELIPPER, PokemonType.WATER, PokemonType.FLYING, [
[ Biome.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.SEA, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.RALTS, Type.PSYCHIC, Type.FAIRY, [
+ [ Species.RALTS, PokemonType.PSYCHIC, PokemonType.FAIRY, [
[ Biome.TOWN, BiomePoolTier.SUPER_RARE ],
[ Biome.MEADOW, BiomePoolTier.UNCOMMON ],
[ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.KIRLIA, Type.PSYCHIC, Type.FAIRY, [
+ [ Species.KIRLIA, PokemonType.PSYCHIC, PokemonType.FAIRY, [
[ Biome.MEADOW, BiomePoolTier.UNCOMMON ],
[ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.GARDEVOIR, Type.PSYCHIC, Type.FAIRY, [
+ [ Species.GARDEVOIR, PokemonType.PSYCHIC, PokemonType.FAIRY, [
[ Biome.MEADOW, BiomePoolTier.UNCOMMON ],
[ Biome.MEADOW, BiomePoolTier.BOSS ],
[ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.SURSKIT, Type.BUG, Type.WATER, [
+ [ Species.SURSKIT, PokemonType.BUG, PokemonType.WATER, [
[ Biome.TOWN, BiomePoolTier.RARE ],
[ Biome.LAKE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.MASQUERAIN, Type.BUG, Type.FLYING, [
+ [ Species.MASQUERAIN, PokemonType.BUG, PokemonType.FLYING, [
[ Biome.LAKE, BiomePoolTier.UNCOMMON ],
[ Biome.LAKE, BiomePoolTier.BOSS ]
]
],
- [ Species.SHROOMISH, Type.GRASS, -1, [
+ [ Species.SHROOMISH, PokemonType.GRASS, -1, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.BRELOOM, Type.GRASS, Type.FIGHTING, [
+ [ Species.BRELOOM, PokemonType.GRASS, PokemonType.FIGHTING, [
[ Biome.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.SLAKOTH, Type.NORMAL, -1, [
+ [ Species.SLAKOTH, PokemonType.NORMAL, -1, [
[ Biome.JUNGLE, BiomePoolTier.RARE ]
]
],
- [ Species.VIGOROTH, Type.NORMAL, -1, [
+ [ Species.VIGOROTH, PokemonType.NORMAL, -1, [
[ Biome.JUNGLE, BiomePoolTier.RARE ]
]
],
- [ Species.SLAKING, Type.NORMAL, -1, [
+ [ Species.SLAKING, PokemonType.NORMAL, -1, [
[ Biome.JUNGLE, BiomePoolTier.RARE ],
[ Biome.JUNGLE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.NINCADA, Type.BUG, Type.GROUND, [
+ [ Species.NINCADA, PokemonType.BUG, PokemonType.GROUND, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON ],
[ Biome.TALL_GRASS, BiomePoolTier.COMMON ]
]
],
- [ Species.NINJASK, Type.BUG, Type.FLYING, [
+ [ Species.NINJASK, PokemonType.BUG, PokemonType.FLYING, [
[ Biome.TALL_GRASS, BiomePoolTier.COMMON ],
[ Biome.TALL_GRASS, BiomePoolTier.BOSS ]
]
],
- [ Species.SHEDINJA, Type.BUG, Type.GHOST, [
+ [ Species.SHEDINJA, PokemonType.BUG, PokemonType.GHOST, [
[ Biome.TALL_GRASS, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.WHISMUR, Type.NORMAL, -1, [
+ [ Species.WHISMUR, PokemonType.NORMAL, -1, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON ],
[ Biome.CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.LOUDRED, Type.NORMAL, -1, [
+ [ Species.LOUDRED, PokemonType.NORMAL, -1, [
[ Biome.CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.EXPLOUD, Type.NORMAL, -1, [
+ [ Species.EXPLOUD, PokemonType.NORMAL, -1, [
[ Biome.CAVE, BiomePoolTier.COMMON ],
[ Biome.CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.MAKUHITA, Type.FIGHTING, -1, [
+ [ Species.MAKUHITA, PokemonType.FIGHTING, -1, [
[ Biome.CAVE, BiomePoolTier.UNCOMMON ],
[ Biome.DOJO, BiomePoolTier.COMMON ]
]
],
- [ Species.HARIYAMA, Type.FIGHTING, -1, [
+ [ Species.HARIYAMA, PokemonType.FIGHTING, -1, [
[ Biome.CAVE, BiomePoolTier.UNCOMMON ],
[ Biome.DOJO, BiomePoolTier.COMMON ],
[ Biome.DOJO, BiomePoolTier.BOSS ]
]
],
- [ Species.AZURILL, Type.NORMAL, Type.FAIRY, [ ]
+ [ Species.AZURILL, PokemonType.NORMAL, PokemonType.FAIRY, [ ]
],
- [ Species.NOSEPASS, Type.ROCK, -1, [
+ [ Species.NOSEPASS, PokemonType.ROCK, -1, [
[ Biome.CAVE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.SKITTY, Type.NORMAL, -1, [
+ [ Species.SKITTY, PokemonType.NORMAL, -1, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.DELCATTY, Type.NORMAL, -1, [
+ [ Species.DELCATTY, PokemonType.NORMAL, -1, [
[ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SABLEYE, Type.DARK, Type.GHOST, [
+ [ Species.SABLEYE, PokemonType.DARK, PokemonType.GHOST, [
[ Biome.ABYSS, BiomePoolTier.COMMON ],
[ Biome.ABYSS, BiomePoolTier.BOSS ]
]
],
- [ Species.MAWILE, Type.STEEL, Type.FAIRY, [
+ [ Species.MAWILE, PokemonType.STEEL, PokemonType.FAIRY, [
[ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ],
[ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.ARON, Type.STEEL, Type.ROCK, [
+ [ Species.ARON, PokemonType.STEEL, PokemonType.ROCK, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.LAIRON, Type.STEEL, Type.ROCK, [
+ [ Species.LAIRON, PokemonType.STEEL, PokemonType.ROCK, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.AGGRON, Type.STEEL, Type.ROCK, [
+ [ Species.AGGRON, PokemonType.STEEL, PokemonType.ROCK, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS ]
]
],
- [ Species.MEDITITE, Type.FIGHTING, Type.PSYCHIC, [
+ [ Species.MEDITITE, PokemonType.FIGHTING, PokemonType.PSYCHIC, [
[ Biome.DOJO, BiomePoolTier.COMMON ]
]
],
- [ Species.MEDICHAM, Type.FIGHTING, Type.PSYCHIC, [
+ [ Species.MEDICHAM, PokemonType.FIGHTING, PokemonType.PSYCHIC, [
[ Biome.DOJO, BiomePoolTier.COMMON ],
[ Biome.DOJO, BiomePoolTier.BOSS ]
]
],
- [ Species.ELECTRIKE, Type.ELECTRIC, -1, [
+ [ Species.ELECTRIKE, PokemonType.ELECTRIC, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.COMMON ]
]
],
- [ Species.MANECTRIC, Type.ELECTRIC, -1, [
+ [ Species.MANECTRIC, PokemonType.ELECTRIC, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.COMMON ],
[ Biome.POWER_PLANT, BiomePoolTier.BOSS ]
]
],
- [ Species.PLUSLE, Type.ELECTRIC, -1, [
+ [ Species.PLUSLE, PokemonType.ELECTRIC, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.MINUN, Type.ELECTRIC, -1, [
+ [ Species.MINUN, PokemonType.ELECTRIC, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.VOLBEAT, Type.BUG, -1, [
+ [ Species.VOLBEAT, PokemonType.BUG, -1, [
[ Biome.MEADOW, BiomePoolTier.RARE, TimeOfDay.NIGHT ]
]
],
- [ Species.ILLUMISE, Type.BUG, -1, [
+ [ Species.ILLUMISE, PokemonType.BUG, -1, [
[ Biome.MEADOW, BiomePoolTier.RARE, TimeOfDay.NIGHT ]
]
],
- [ Species.ROSELIA, Type.GRASS, Type.POISON, [
+ [ Species.ROSELIA, PokemonType.GRASS, PokemonType.POISON, [
[ Biome.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MEADOW, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.GULPIN, Type.POISON, -1, [
+ [ Species.GULPIN, PokemonType.POISON, -1, [
[ Biome.SWAMP, BiomePoolTier.COMMON ]
]
],
- [ Species.SWALOT, Type.POISON, -1, [
+ [ Species.SWALOT, PokemonType.POISON, -1, [
[ Biome.SWAMP, BiomePoolTier.COMMON ],
[ Biome.SWAMP, BiomePoolTier.BOSS ]
]
],
- [ Species.CARVANHA, Type.WATER, Type.DARK, [
+ [ Species.CARVANHA, PokemonType.WATER, PokemonType.DARK, [
[ Biome.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.SHARPEDO, Type.WATER, Type.DARK, [
+ [ Species.SHARPEDO, PokemonType.WATER, PokemonType.DARK, [
[ Biome.SEA, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.SEA, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.WAILMER, Type.WATER, -1, [
+ [ Species.WAILMER, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.UNCOMMON ],
[ Biome.SEABED, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.WAILORD, Type.WATER, -1, [
+ [ Species.WAILORD, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.UNCOMMON ],
[ Biome.SEABED, BiomePoolTier.UNCOMMON ],
[ Biome.SEABED, BiomePoolTier.BOSS ]
]
],
- [ Species.NUMEL, Type.FIRE, Type.GROUND, [
+ [ Species.NUMEL, PokemonType.FIRE, PokemonType.GROUND, [
[ Biome.BADLANDS, BiomePoolTier.UNCOMMON ],
[ Biome.VOLCANO, BiomePoolTier.COMMON ]
]
],
- [ Species.CAMERUPT, Type.FIRE, Type.GROUND, [
+ [ Species.CAMERUPT, PokemonType.FIRE, PokemonType.GROUND, [
[ Biome.BADLANDS, BiomePoolTier.UNCOMMON ],
[ Biome.VOLCANO, BiomePoolTier.COMMON ],
[ Biome.VOLCANO, BiomePoolTier.BOSS ]
]
],
- [ Species.TORKOAL, Type.FIRE, -1, [
+ [ Species.TORKOAL, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.UNCOMMON ],
[ Biome.VOLCANO, BiomePoolTier.BOSS ]
]
],
- [ Species.SPOINK, Type.PSYCHIC, -1, [
+ [ Species.SPOINK, PokemonType.PSYCHIC, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.RARE ],
[ Biome.RUINS, BiomePoolTier.COMMON ]
]
],
- [ Species.GRUMPIG, Type.PSYCHIC, -1, [
+ [ Species.GRUMPIG, PokemonType.PSYCHIC, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.RARE ],
[ Biome.RUINS, BiomePoolTier.COMMON ],
[ Biome.RUINS, BiomePoolTier.BOSS ]
]
],
- [ Species.SPINDA, Type.NORMAL, -1, [
+ [ Species.SPINDA, PokemonType.NORMAL, -1, [
[ Biome.MEADOW, BiomePoolTier.RARE ]
]
],
- [ Species.TRAPINCH, Type.GROUND, -1, [
+ [ Species.TRAPINCH, PokemonType.GROUND, -1, [
[ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.VIBRAVA, Type.GROUND, Type.DRAGON, [
+ [ Species.VIBRAVA, PokemonType.GROUND, PokemonType.DRAGON, [
[ Biome.DESERT, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.WASTELAND, BiomePoolTier.COMMON ]
]
],
- [ Species.FLYGON, Type.GROUND, Type.DRAGON, [
+ [ Species.FLYGON, PokemonType.GROUND, PokemonType.DRAGON, [
[ Biome.DESERT, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.WASTELAND, BiomePoolTier.COMMON ],
[ Biome.WASTELAND, BiomePoolTier.BOSS ]
]
],
- [ Species.CACNEA, Type.GRASS, -1, [
+ [ Species.CACNEA, PokemonType.GRASS, -1, [
[ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.CACTURNE, Type.GRASS, Type.DARK, [
+ [ Species.CACTURNE, PokemonType.GRASS, PokemonType.DARK, [
[ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.DESERT, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.SWABLU, Type.NORMAL, Type.FLYING, [
+ [ Species.SWABLU, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.WASTELAND, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.ALTARIA, Type.DRAGON, Type.FLYING, [
+ [ Species.ALTARIA, PokemonType.DRAGON, PokemonType.FLYING, [
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.WASTELAND, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.ZANGOOSE, Type.NORMAL, -1, [
+ [ Species.ZANGOOSE, PokemonType.NORMAL, -1, [
[ Biome.TALL_GRASS, BiomePoolTier.RARE ],
[ Biome.TALL_GRASS, BiomePoolTier.BOSS ]
]
],
- [ Species.SEVIPER, Type.POISON, -1, [
+ [ Species.SEVIPER, PokemonType.POISON, -1, [
[ Biome.JUNGLE, BiomePoolTier.RARE ],
[ Biome.JUNGLE, BiomePoolTier.BOSS ]
]
],
- [ Species.LUNATONE, Type.ROCK, Type.PSYCHIC, [
+ [ Species.LUNATONE, PokemonType.ROCK, PokemonType.PSYCHIC, [
[ Biome.SPACE, BiomePoolTier.COMMON, TimeOfDay.NIGHT ],
[ Biome.SPACE, BiomePoolTier.BOSS, TimeOfDay.NIGHT ]
]
],
- [ Species.SOLROCK, Type.ROCK, Type.PSYCHIC, [
+ [ Species.SOLROCK, PokemonType.ROCK, PokemonType.PSYCHIC, [
[ Biome.SPACE, BiomePoolTier.COMMON, TimeOfDay.DAY ],
[ Biome.SPACE, BiomePoolTier.BOSS, TimeOfDay.DAY ]
]
],
- [ Species.BARBOACH, Type.WATER, Type.GROUND, [
+ [ Species.BARBOACH, PokemonType.WATER, PokemonType.GROUND, [
[ Biome.SWAMP, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.WHISCASH, Type.WATER, Type.GROUND, [
+ [ Species.WHISCASH, PokemonType.WATER, PokemonType.GROUND, [
[ Biome.SWAMP, BiomePoolTier.UNCOMMON ],
[ Biome.SWAMP, BiomePoolTier.BOSS ]
]
],
- [ Species.CORPHISH, Type.WATER, -1, [
+ [ Species.CORPHISH, PokemonType.WATER, -1, [
[ Biome.BEACH, BiomePoolTier.COMMON ]
]
],
- [ Species.CRAWDAUNT, Type.WATER, Type.DARK, [
+ [ Species.CRAWDAUNT, PokemonType.WATER, PokemonType.DARK, [
[ Biome.BEACH, BiomePoolTier.COMMON ],
[ Biome.BEACH, BiomePoolTier.BOSS ]
]
],
- [ Species.BALTOY, Type.GROUND, Type.PSYCHIC, [
+ [ Species.BALTOY, PokemonType.GROUND, PokemonType.PSYCHIC, [
[ Biome.RUINS, BiomePoolTier.COMMON ],
[ Biome.SPACE, BiomePoolTier.UNCOMMON ],
[ Biome.TEMPLE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.CLAYDOL, Type.GROUND, Type.PSYCHIC, [
+ [ Species.CLAYDOL, PokemonType.GROUND, PokemonType.PSYCHIC, [
[ Biome.RUINS, BiomePoolTier.COMMON ],
[ Biome.RUINS, BiomePoolTier.BOSS ],
[ Biome.SPACE, BiomePoolTier.UNCOMMON ],
[ Biome.TEMPLE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.LILEEP, Type.ROCK, Type.GRASS, [
+ [ Species.LILEEP, PokemonType.ROCK, PokemonType.GRASS, [
[ Biome.DESERT, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.CRADILY, Type.ROCK, Type.GRASS, [
+ [ Species.CRADILY, PokemonType.ROCK, PokemonType.GRASS, [
[ Biome.DESERT, BiomePoolTier.SUPER_RARE ],
[ Biome.DESERT, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.ANORITH, Type.ROCK, Type.BUG, [
+ [ Species.ANORITH, PokemonType.ROCK, PokemonType.BUG, [
[ Biome.DESERT, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.ARMALDO, Type.ROCK, Type.BUG, [
+ [ Species.ARMALDO, PokemonType.ROCK, PokemonType.BUG, [
[ Biome.DESERT, BiomePoolTier.SUPER_RARE ],
[ Biome.DESERT, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.FEEBAS, Type.WATER, -1, [
+ [ Species.FEEBAS, PokemonType.WATER, -1, [
[ Biome.SEABED, BiomePoolTier.ULTRA_RARE ]
]
],
- [ Species.MILOTIC, Type.WATER, -1, [
+ [ Species.MILOTIC, PokemonType.WATER, -1, [
[ Biome.SEABED, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.CASTFORM, Type.NORMAL, -1, [
+ [ Species.CASTFORM, PokemonType.NORMAL, -1, [
[ Biome.METROPOLIS, BiomePoolTier.ULTRA_RARE ],
[ Biome.METROPOLIS, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.KECLEON, Type.NORMAL, -1, [
+ [ Species.KECLEON, PokemonType.NORMAL, -1, [
[ Biome.TALL_GRASS, BiomePoolTier.RARE ],
[ Biome.TALL_GRASS, BiomePoolTier.BOSS ]
]
],
- [ Species.SHUPPET, Type.GHOST, -1, [
+ [ Species.SHUPPET, PokemonType.GHOST, -1, [
[ Biome.GRAVEYARD, BiomePoolTier.COMMON ]
]
],
- [ Species.BANETTE, Type.GHOST, -1, [
+ [ Species.BANETTE, PokemonType.GHOST, -1, [
[ Biome.GRAVEYARD, BiomePoolTier.COMMON ],
[ Biome.GRAVEYARD, BiomePoolTier.BOSS ]
]
],
- [ Species.DUSKULL, Type.GHOST, -1, [
+ [ Species.DUSKULL, PokemonType.GHOST, -1, [
[ Biome.GRAVEYARD, BiomePoolTier.COMMON ],
[ Biome.TEMPLE, BiomePoolTier.COMMON ]
]
],
- [ Species.DUSCLOPS, Type.GHOST, -1, [
+ [ Species.DUSCLOPS, PokemonType.GHOST, -1, [
[ Biome.GRAVEYARD, BiomePoolTier.COMMON ],
[ Biome.TEMPLE, BiomePoolTier.COMMON ]
]
],
- [ Species.TROPIUS, Type.GRASS, Type.FLYING, [
+ [ Species.TROPIUS, PokemonType.GRASS, PokemonType.FLYING, [
[ Biome.TALL_GRASS, BiomePoolTier.RARE ],
[ Biome.FOREST, BiomePoolTier.RARE ],
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.CHIMECHO, Type.PSYCHIC, -1, [
+ [ Species.CHIMECHO, PokemonType.PSYCHIC, -1, [
[ Biome.TEMPLE, BiomePoolTier.UNCOMMON ],
[ Biome.TEMPLE, BiomePoolTier.BOSS ]
]
],
- [ Species.ABSOL, Type.DARK, -1, [
+ [ Species.ABSOL, PokemonType.DARK, -1, [
[ Biome.ABYSS, BiomePoolTier.RARE ],
[ Biome.ABYSS, BiomePoolTier.BOSS ]
]
],
- [ Species.WYNAUT, Type.PSYCHIC, -1, [ ]
+ [ Species.WYNAUT, PokemonType.PSYCHIC, -1, [ ]
],
- [ Species.SNORUNT, Type.ICE, -1, [
+ [ Species.SNORUNT, PokemonType.ICE, -1, [
[ Biome.ICE_CAVE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.GLALIE, Type.ICE, -1, [
+ [ Species.GLALIE, PokemonType.ICE, -1, [
[ Biome.ICE_CAVE, BiomePoolTier.UNCOMMON ],
[ Biome.ICE_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.SPHEAL, Type.ICE, Type.WATER, [
+ [ Species.SPHEAL, PokemonType.ICE, PokemonType.WATER, [
[ Biome.ICE_CAVE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.SEALEO, Type.ICE, Type.WATER, [
+ [ Species.SEALEO, PokemonType.ICE, PokemonType.WATER, [
[ Biome.ICE_CAVE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.WALREIN, Type.ICE, Type.WATER, [
+ [ Species.WALREIN, PokemonType.ICE, PokemonType.WATER, [
[ Biome.ICE_CAVE, BiomePoolTier.UNCOMMON ],
[ Biome.ICE_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.CLAMPERL, Type.WATER, -1, [
+ [ Species.CLAMPERL, PokemonType.WATER, -1, [
[ Biome.SEABED, BiomePoolTier.COMMON ]
]
],
- [ Species.HUNTAIL, Type.WATER, -1, [
+ [ Species.HUNTAIL, PokemonType.WATER, -1, [
[ Biome.SEABED, BiomePoolTier.BOSS ]
]
],
- [ Species.GOREBYSS, Type.WATER, -1, [
+ [ Species.GOREBYSS, PokemonType.WATER, -1, [
[ Biome.SEABED, BiomePoolTier.BOSS ]
]
],
- [ Species.RELICANTH, Type.WATER, Type.ROCK, [
+ [ Species.RELICANTH, PokemonType.WATER, PokemonType.ROCK, [
[ Biome.SEABED, BiomePoolTier.SUPER_RARE ],
[ Biome.SEABED, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.LUVDISC, Type.WATER, -1, [
+ [ Species.LUVDISC, PokemonType.WATER, -1, [
[ Biome.SEABED, BiomePoolTier.UNCOMMON ],
[ Biome.SEABED, BiomePoolTier.BOSS ]
]
],
- [ Species.BAGON, Type.DRAGON, -1, [
+ [ Species.BAGON, PokemonType.DRAGON, -1, [
[ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SHELGON, Type.DRAGON, -1, [
+ [ Species.SHELGON, PokemonType.DRAGON, -1, [
[ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SALAMENCE, Type.DRAGON, Type.FLYING, [
+ [ Species.SALAMENCE, PokemonType.DRAGON, PokemonType.FLYING, [
[ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.WASTELAND, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.BELDUM, Type.STEEL, Type.PSYCHIC, [
+ [ Species.BELDUM, PokemonType.STEEL, PokemonType.PSYCHIC, [
[ Biome.FACTORY, BiomePoolTier.SUPER_RARE ],
[ Biome.SPACE, BiomePoolTier.RARE ]
]
],
- [ Species.METANG, Type.STEEL, Type.PSYCHIC, [
+ [ Species.METANG, PokemonType.STEEL, PokemonType.PSYCHIC, [
[ Biome.FACTORY, BiomePoolTier.SUPER_RARE ],
[ Biome.SPACE, BiomePoolTier.RARE ]
]
],
- [ Species.METAGROSS, Type.STEEL, Type.PSYCHIC, [
+ [ Species.METAGROSS, PokemonType.STEEL, PokemonType.PSYCHIC, [
[ Biome.FACTORY, BiomePoolTier.SUPER_RARE ],
[ Biome.SPACE, BiomePoolTier.RARE ],
[ Biome.SPACE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.REGIROCK, Type.ROCK, -1, [
+ [ Species.REGIROCK, PokemonType.ROCK, -1, [
[ Biome.DESERT, BiomePoolTier.ULTRA_RARE ],
[ Biome.DESERT, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.REGICE, Type.ICE, -1, [
+ [ Species.REGICE, PokemonType.ICE, -1, [
[ Biome.ICE_CAVE, BiomePoolTier.ULTRA_RARE ],
[ Biome.ICE_CAVE, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.REGISTEEL, Type.STEEL, -1, [
+ [ Species.REGISTEEL, PokemonType.STEEL, -1, [
[ Biome.RUINS, BiomePoolTier.ULTRA_RARE ],
[ Biome.RUINS, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.LATIAS, Type.DRAGON, Type.PSYCHIC, [
+ [ Species.LATIAS, PokemonType.DRAGON, PokemonType.PSYCHIC, [
[ Biome.PLAINS, BiomePoolTier.ULTRA_RARE ],
[ Biome.PLAINS, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.LATIOS, Type.DRAGON, Type.PSYCHIC, [
+ [ Species.LATIOS, PokemonType.DRAGON, PokemonType.PSYCHIC, [
[ Biome.PLAINS, BiomePoolTier.ULTRA_RARE ],
[ Biome.PLAINS, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.KYOGRE, Type.WATER, -1, [
+ [ Species.KYOGRE, PokemonType.WATER, -1, [
[ Biome.SEABED, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.GROUDON, Type.GROUND, -1, [
+ [ Species.GROUDON, PokemonType.GROUND, -1, [
[ Biome.BADLANDS, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.RAYQUAZA, Type.DRAGON, Type.FLYING, [
+ [ Species.RAYQUAZA, PokemonType.DRAGON, PokemonType.FLYING, [
[ Biome.SPACE, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.JIRACHI, Type.STEEL, Type.PSYCHIC, [ ]
+ [ Species.JIRACHI, PokemonType.STEEL, PokemonType.PSYCHIC, [ ]
],
- [ Species.DEOXYS, Type.PSYCHIC, -1, [ ]
+ [ Species.DEOXYS, PokemonType.PSYCHIC, -1, [ ]
],
- [ Species.TURTWIG, Type.GRASS, -1, [
+ [ Species.TURTWIG, PokemonType.GRASS, -1, [
[ Biome.GRASS, BiomePoolTier.RARE ]
]
],
- [ Species.GROTLE, Type.GRASS, -1, [
+ [ Species.GROTLE, PokemonType.GRASS, -1, [
[ Biome.GRASS, BiomePoolTier.RARE ]
]
],
- [ Species.TORTERRA, Type.GRASS, Type.GROUND, [
+ [ Species.TORTERRA, PokemonType.GRASS, PokemonType.GROUND, [
[ Biome.GRASS, BiomePoolTier.RARE ],
[ Biome.GRASS, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.CHIMCHAR, Type.FIRE, -1, [
+ [ Species.CHIMCHAR, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.RARE ]
]
],
- [ Species.MONFERNO, Type.FIRE, Type.FIGHTING, [
+ [ Species.MONFERNO, PokemonType.FIRE, PokemonType.FIGHTING, [
[ Biome.VOLCANO, BiomePoolTier.RARE ]
]
],
- [ Species.INFERNAPE, Type.FIRE, Type.FIGHTING, [
+ [ Species.INFERNAPE, PokemonType.FIRE, PokemonType.FIGHTING, [
[ Biome.VOLCANO, BiomePoolTier.RARE ],
[ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.PIPLUP, Type.WATER, -1, [
+ [ Species.PIPLUP, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.RARE ]
]
],
- [ Species.PRINPLUP, Type.WATER, -1, [
+ [ Species.PRINPLUP, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.RARE ]
]
],
- [ Species.EMPOLEON, Type.WATER, Type.STEEL, [
+ [ Species.EMPOLEON, PokemonType.WATER, PokemonType.STEEL, [
[ Biome.SEA, BiomePoolTier.RARE ],
[ Biome.SEA, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.STARLY, Type.NORMAL, Type.FLYING, [
+ [ Species.STARLY, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.STARAVIA, Type.NORMAL, Type.FLYING, [
+ [ Species.STARAVIA, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.STARAPTOR, Type.NORMAL, Type.FLYING, [
+ [ Species.STARAPTOR, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.BIDOOF, Type.NORMAL, -1, [
+ [ Species.BIDOOF, PokemonType.NORMAL, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON ],
[ Biome.PLAINS, BiomePoolTier.COMMON ]
]
],
- [ Species.BIBAREL, Type.NORMAL, Type.WATER, [
+ [ Species.BIBAREL, PokemonType.NORMAL, PokemonType.WATER, [
[ Biome.PLAINS, BiomePoolTier.COMMON ],
[ Biome.PLAINS, BiomePoolTier.BOSS ]
]
],
- [ Species.KRICKETOT, Type.BUG, -1, [
+ [ Species.KRICKETOT, PokemonType.BUG, -1, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.KRICKETUNE, Type.BUG, -1, [
+ [ Species.KRICKETUNE, PokemonType.BUG, -1, [
[ Biome.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.TALL_GRASS, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.SHINX, Type.ELECTRIC, -1, [
+ [ Species.SHINX, PokemonType.ELECTRIC, -1, [
[ Biome.PLAINS, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.POWER_PLANT, BiomePoolTier.COMMON ]
]
],
- [ Species.LUXIO, Type.ELECTRIC, -1, [
+ [ Species.LUXIO, PokemonType.ELECTRIC, -1, [
[ Biome.PLAINS, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.POWER_PLANT, BiomePoolTier.COMMON ]
]
],
- [ Species.LUXRAY, Type.ELECTRIC, -1, [
+ [ Species.LUXRAY, PokemonType.ELECTRIC, -1, [
[ Biome.PLAINS, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.POWER_PLANT, BiomePoolTier.COMMON ],
[ Biome.POWER_PLANT, BiomePoolTier.BOSS ]
]
],
- [ Species.BUDEW, Type.GRASS, Type.POISON, [ ]
+ [ Species.BUDEW, PokemonType.GRASS, PokemonType.POISON, [ ]
],
- [ Species.ROSERADE, Type.GRASS, Type.POISON, [
+ [ Species.ROSERADE, PokemonType.GRASS, PokemonType.POISON, [
[ Biome.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.CRANIDOS, Type.ROCK, -1, [
+ [ Species.CRANIDOS, PokemonType.ROCK, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.RAMPARDOS, Type.ROCK, -1, [
+ [ Species.RAMPARDOS, PokemonType.ROCK, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.SHIELDON, Type.ROCK, Type.STEEL, [
+ [ Species.SHIELDON, PokemonType.ROCK, PokemonType.STEEL, [
[ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.BASTIODON, Type.ROCK, Type.STEEL, [
+ [ Species.BASTIODON, PokemonType.ROCK, PokemonType.STEEL, [
[ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.BURMY, Type.BUG, -1, [
+ [ Species.BURMY, PokemonType.BUG, -1, [
[ Biome.FOREST, BiomePoolTier.UNCOMMON ],
[ Biome.BEACH, BiomePoolTier.UNCOMMON ],
[ Biome.SLUM, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.WORMADAM, Type.BUG, Type.GRASS, [
+ [ Species.WORMADAM, PokemonType.BUG, PokemonType.GRASS, [
[ Biome.FOREST, BiomePoolTier.UNCOMMON ],
[ Biome.FOREST, BiomePoolTier.BOSS ],
[ Biome.BEACH, BiomePoolTier.UNCOMMON ],
@@ -4034,122 +4035,122 @@ export function initBiomes() {
[ Biome.SLUM, BiomePoolTier.BOSS ]
]
],
- [ Species.MOTHIM, Type.BUG, Type.FLYING, [
+ [ Species.MOTHIM, PokemonType.BUG, PokemonType.FLYING, [
[ Biome.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.COMBEE, Type.BUG, Type.FLYING, [
+ [ Species.COMBEE, PokemonType.BUG, PokemonType.FLYING, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.GRASS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.VESPIQUEN, Type.BUG, Type.FLYING, [
+ [ Species.VESPIQUEN, PokemonType.BUG, PokemonType.FLYING, [
[ Biome.GRASS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.PACHIRISU, Type.ELECTRIC, -1, [
+ [ Species.PACHIRISU, PokemonType.ELECTRIC, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.BUIZEL, Type.WATER, -1, [
+ [ Species.BUIZEL, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.COMMON ]
]
],
- [ Species.FLOATZEL, Type.WATER, -1, [
+ [ Species.FLOATZEL, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.COMMON ],
[ Biome.SEA, BiomePoolTier.BOSS ]
]
],
- [ Species.CHERUBI, Type.GRASS, -1, [
+ [ Species.CHERUBI, PokemonType.GRASS, -1, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.GRASS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.CHERRIM, Type.GRASS, -1, [
+ [ Species.CHERRIM, PokemonType.GRASS, -1, [
[ Biome.GRASS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SHELLOS, Type.WATER, -1, [
+ [ Species.SHELLOS, PokemonType.WATER, -1, [
[ Biome.SWAMP, BiomePoolTier.COMMON ],
[ Biome.SEABED, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.GASTRODON, Type.WATER, Type.GROUND, [
+ [ Species.GASTRODON, PokemonType.WATER, PokemonType.GROUND, [
[ Biome.SWAMP, BiomePoolTier.COMMON ],
[ Biome.SWAMP, BiomePoolTier.BOSS ],
[ Biome.SEABED, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.AMBIPOM, Type.NORMAL, -1, [
+ [ Species.AMBIPOM, PokemonType.NORMAL, -1, [
[ Biome.JUNGLE, BiomePoolTier.BOSS ]
]
],
- [ Species.DRIFLOON, Type.GHOST, Type.FLYING, [
+ [ Species.DRIFLOON, PokemonType.GHOST, PokemonType.FLYING, [
[ Biome.GRAVEYARD, BiomePoolTier.COMMON ]
]
],
- [ Species.DRIFBLIM, Type.GHOST, Type.FLYING, [
+ [ Species.DRIFBLIM, PokemonType.GHOST, PokemonType.FLYING, [
[ Biome.GRAVEYARD, BiomePoolTier.COMMON ],
[ Biome.GRAVEYARD, BiomePoolTier.BOSS ]
]
],
- [ Species.BUNEARY, Type.NORMAL, -1, [
+ [ Species.BUNEARY, PokemonType.NORMAL, -1, [
[ Biome.PLAINS, BiomePoolTier.RARE ]
]
],
- [ Species.LOPUNNY, Type.NORMAL, -1, [
+ [ Species.LOPUNNY, PokemonType.NORMAL, -1, [
[ Biome.PLAINS, BiomePoolTier.RARE ],
[ Biome.PLAINS, BiomePoolTier.BOSS ]
]
],
- [ Species.MISMAGIUS, Type.GHOST, -1, [
+ [ Species.MISMAGIUS, PokemonType.GHOST, -1, [
[ Biome.GRAVEYARD, BiomePoolTier.BOSS ]
]
],
- [ Species.HONCHKROW, Type.DARK, Type.FLYING, [
+ [ Species.HONCHKROW, PokemonType.DARK, PokemonType.FLYING, [
[ Biome.ABYSS, BiomePoolTier.BOSS ]
]
],
- [ Species.GLAMEOW, Type.NORMAL, -1, [
+ [ Species.GLAMEOW, PokemonType.NORMAL, -1, [
[ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ],
[ Biome.MEADOW, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.PURUGLY, Type.NORMAL, -1, [
+ [ Species.PURUGLY, PokemonType.NORMAL, -1, [
[ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ],
[ Biome.MEADOW, BiomePoolTier.UNCOMMON ],
[ Biome.MEADOW, BiomePoolTier.BOSS ]
]
],
- [ Species.CHINGLING, Type.PSYCHIC, -1, [
+ [ Species.CHINGLING, PokemonType.PSYCHIC, -1, [
[ Biome.TEMPLE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.STUNKY, Type.POISON, Type.DARK, [
+ [ Species.STUNKY, PokemonType.POISON, PokemonType.DARK, [
[ Biome.SLUM, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.SKUNTANK, Type.POISON, Type.DARK, [
+ [ Species.SKUNTANK, PokemonType.POISON, PokemonType.DARK, [
[ Biome.SLUM, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.SLUM, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.BRONZOR, Type.STEEL, Type.PSYCHIC, [
+ [ Species.BRONZOR, PokemonType.STEEL, PokemonType.PSYCHIC, [
[ Biome.FACTORY, BiomePoolTier.UNCOMMON ],
[ Biome.SPACE, BiomePoolTier.COMMON ],
[ Biome.LABORATORY, BiomePoolTier.COMMON ]
]
],
- [ Species.BRONZONG, Type.STEEL, Type.PSYCHIC, [
+ [ Species.BRONZONG, PokemonType.STEEL, PokemonType.PSYCHIC, [
[ Biome.FACTORY, BiomePoolTier.UNCOMMON ],
[ Biome.SPACE, BiomePoolTier.COMMON ],
[ Biome.SPACE, BiomePoolTier.BOSS ],
@@ -4157,186 +4158,186 @@ export function initBiomes() {
[ Biome.LABORATORY, BiomePoolTier.BOSS ]
]
],
- [ Species.BONSLY, Type.ROCK, -1, [ ]
+ [ Species.BONSLY, PokemonType.ROCK, -1, [ ]
],
- [ Species.MIME_JR, Type.PSYCHIC, Type.FAIRY, [ ]
+ [ Species.MIME_JR, PokemonType.PSYCHIC, PokemonType.FAIRY, [ ]
],
- [ Species.HAPPINY, Type.NORMAL, -1, [ ]
+ [ Species.HAPPINY, PokemonType.NORMAL, -1, [ ]
],
- [ Species.CHATOT, Type.NORMAL, Type.FLYING, [
+ [ Species.CHATOT, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.JUNGLE, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.SPIRITOMB, Type.GHOST, Type.DARK, [
+ [ Species.SPIRITOMB, PokemonType.GHOST, PokemonType.DARK, [
[ Biome.GRAVEYARD, BiomePoolTier.SUPER_RARE ],
[ Biome.ABYSS, BiomePoolTier.RARE ],
[ Biome.ABYSS, BiomePoolTier.BOSS ]
]
],
- [ Species.GIBLE, Type.DRAGON, Type.GROUND, [
+ [ Species.GIBLE, PokemonType.DRAGON, PokemonType.GROUND, [
[ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ],
[ Biome.WASTELAND, BiomePoolTier.COMMON ]
]
],
- [ Species.GABITE, Type.DRAGON, Type.GROUND, [
+ [ Species.GABITE, PokemonType.DRAGON, PokemonType.GROUND, [
[ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ],
[ Biome.WASTELAND, BiomePoolTier.COMMON ]
]
],
- [ Species.GARCHOMP, Type.DRAGON, Type.GROUND, [
+ [ Species.GARCHOMP, PokemonType.DRAGON, PokemonType.GROUND, [
[ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ],
[ Biome.WASTELAND, BiomePoolTier.COMMON ],
[ Biome.WASTELAND, BiomePoolTier.BOSS ]
]
],
- [ Species.MUNCHLAX, Type.NORMAL, -1, [ ]
+ [ Species.MUNCHLAX, PokemonType.NORMAL, -1, [ ]
],
- [ Species.RIOLU, Type.FIGHTING, -1, [ ]
+ [ Species.RIOLU, PokemonType.FIGHTING, -1, [ ]
],
- [ Species.LUCARIO, Type.FIGHTING, Type.STEEL, [
+ [ Species.LUCARIO, PokemonType.FIGHTING, PokemonType.STEEL, [
[ Biome.DOJO, BiomePoolTier.RARE ],
[ Biome.DOJO, BiomePoolTier.BOSS ]
]
],
- [ Species.HIPPOPOTAS, Type.GROUND, -1, [
+ [ Species.HIPPOPOTAS, PokemonType.GROUND, -1, [
[ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.HIPPOWDON, Type.GROUND, -1, [
+ [ Species.HIPPOWDON, PokemonType.GROUND, -1, [
[ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.DESERT, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SKORUPI, Type.POISON, Type.BUG, [
+ [ Species.SKORUPI, PokemonType.POISON, PokemonType.BUG, [
[ Biome.SWAMP, BiomePoolTier.UNCOMMON ],
[ Biome.DESERT, BiomePoolTier.COMMON ],
[ Biome.TEMPLE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.DRAPION, Type.POISON, Type.DARK, [
+ [ Species.DRAPION, PokemonType.POISON, PokemonType.DARK, [
[ Biome.SWAMP, BiomePoolTier.UNCOMMON ],
[ Biome.DESERT, BiomePoolTier.COMMON ],
[ Biome.DESERT, BiomePoolTier.BOSS ],
[ Biome.TEMPLE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.CROAGUNK, Type.POISON, Type.FIGHTING, [
+ [ Species.CROAGUNK, PokemonType.POISON, PokemonType.FIGHTING, [
[ Biome.SWAMP, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.DOJO, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.TOXICROAK, Type.POISON, Type.FIGHTING, [
+ [ Species.TOXICROAK, PokemonType.POISON, PokemonType.FIGHTING, [
[ Biome.SWAMP, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.DOJO, BiomePoolTier.UNCOMMON ],
[ Biome.DOJO, BiomePoolTier.BOSS ]
]
],
- [ Species.CARNIVINE, Type.GRASS, -1, [
+ [ Species.CARNIVINE, PokemonType.GRASS, -1, [
[ Biome.JUNGLE, BiomePoolTier.RARE ],
[ Biome.JUNGLE, BiomePoolTier.BOSS ]
]
],
- [ Species.FINNEON, Type.WATER, -1, [
+ [ Species.FINNEON, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.COMMON, TimeOfDay.NIGHT ]
]
],
- [ Species.LUMINEON, Type.WATER, -1, [
+ [ Species.LUMINEON, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.COMMON, TimeOfDay.NIGHT ],
[ Biome.SEA, BiomePoolTier.BOSS, TimeOfDay.NIGHT ]
]
],
- [ Species.MANTYKE, Type.WATER, Type.FLYING, [
+ [ Species.MANTYKE, PokemonType.WATER, PokemonType.FLYING, [
[ Biome.SEABED, BiomePoolTier.RARE ]
]
],
- [ Species.SNOVER, Type.GRASS, Type.ICE, [
+ [ Species.SNOVER, PokemonType.GRASS, PokemonType.ICE, [
[ Biome.ICE_CAVE, BiomePoolTier.COMMON ],
[ Biome.SNOWY_FOREST, BiomePoolTier.COMMON ]
]
],
- [ Species.ABOMASNOW, Type.GRASS, Type.ICE, [
+ [ Species.ABOMASNOW, PokemonType.GRASS, PokemonType.ICE, [
[ Biome.ICE_CAVE, BiomePoolTier.COMMON ],
[ Biome.SNOWY_FOREST, BiomePoolTier.COMMON ],
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS ]
]
],
- [ Species.WEAVILE, Type.DARK, Type.ICE, [
+ [ Species.WEAVILE, PokemonType.DARK, PokemonType.ICE, [
[ Biome.ICE_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.MAGNEZONE, Type.ELECTRIC, Type.STEEL, [
+ [ Species.MAGNEZONE, PokemonType.ELECTRIC, PokemonType.STEEL, [
[ Biome.POWER_PLANT, BiomePoolTier.BOSS ],
[ Biome.LABORATORY, BiomePoolTier.BOSS ]
]
],
- [ Species.LICKILICKY, Type.NORMAL, -1, [
+ [ Species.LICKILICKY, PokemonType.NORMAL, -1, [
[ Biome.PLAINS, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.RHYPERIOR, Type.GROUND, Type.ROCK, [
+ [ Species.RHYPERIOR, PokemonType.GROUND, PokemonType.ROCK, [
[ Biome.BADLANDS, BiomePoolTier.BOSS ]
]
],
- [ Species.TANGROWTH, Type.GRASS, -1, [
+ [ Species.TANGROWTH, PokemonType.GRASS, -1, [
[ Biome.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.ELECTIVIRE, Type.ELECTRIC, -1, [
+ [ Species.ELECTIVIRE, PokemonType.ELECTRIC, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.BOSS ]
]
],
- [ Species.MAGMORTAR, Type.FIRE, -1, [
+ [ Species.MAGMORTAR, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.BOSS ]
]
],
- [ Species.TOGEKISS, Type.FAIRY, Type.FLYING, [
+ [ Species.TOGEKISS, PokemonType.FAIRY, PokemonType.FLYING, [
[ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.YANMEGA, Type.BUG, Type.FLYING, [
+ [ Species.YANMEGA, PokemonType.BUG, PokemonType.FLYING, [
[ Biome.JUNGLE, BiomePoolTier.BOSS ]
]
],
- [ Species.LEAFEON, Type.GRASS, -1, [
+ [ Species.LEAFEON, PokemonType.GRASS, -1, [
[ Biome.JUNGLE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.GLACEON, Type.ICE, -1, [
+ [ Species.GLACEON, PokemonType.ICE, -1, [
[ Biome.ICE_CAVE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.GLISCOR, Type.GROUND, Type.FLYING, [
+ [ Species.GLISCOR, PokemonType.GROUND, PokemonType.FLYING, [
[ Biome.BADLANDS, BiomePoolTier.BOSS ]
]
],
- [ Species.MAMOSWINE, Type.ICE, Type.GROUND, [
+ [ Species.MAMOSWINE, PokemonType.ICE, PokemonType.GROUND, [
[ Biome.ICE_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.PORYGON_Z, Type.NORMAL, -1, [
+ [ Species.PORYGON_Z, PokemonType.NORMAL, -1, [
[ Biome.SPACE, BiomePoolTier.BOSS_RARE ],
[ Biome.LABORATORY, BiomePoolTier.BOSS ]
]
],
- [ Species.GALLADE, Type.PSYCHIC, Type.FIGHTING, [
+ [ Species.GALLADE, PokemonType.PSYCHIC, PokemonType.FIGHTING, [
[ Biome.DOJO, BiomePoolTier.SUPER_RARE ],
[ Biome.DOJO, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.PROBOPASS, Type.ROCK, Type.STEEL, [
+ [ Species.PROBOPASS, PokemonType.ROCK, PokemonType.STEEL, [
[ Biome.CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.DUSKNOIR, Type.GHOST, -1, [
+ [ Species.DUSKNOIR, PokemonType.GHOST, -1, [
[ Biome.GRAVEYARD, BiomePoolTier.BOSS ]
]
],
- [ Species.FROSLASS, Type.ICE, Type.GHOST, [
+ [ Species.FROSLASS, PokemonType.ICE, PokemonType.GHOST, [
[ Biome.ICE_CAVE, BiomePoolTier.RARE ],
[ Biome.ICE_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.ROTOM, Type.ELECTRIC, Type.GHOST, [
+ [ Species.ROTOM, PokemonType.ELECTRIC, PokemonType.GHOST, [
[ Biome.LABORATORY, BiomePoolTier.SUPER_RARE ],
[ Biome.LABORATORY, BiomePoolTier.BOSS_SUPER_RARE ],
[ Biome.VOLCANO, BiomePoolTier.SUPER_RARE ],
@@ -4351,104 +4352,104 @@ export function initBiomes() {
[ Biome.TALL_GRASS, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.UXIE, Type.PSYCHIC, -1, [
+ [ Species.UXIE, PokemonType.PSYCHIC, -1, [
[ Biome.CAVE, BiomePoolTier.ULTRA_RARE ],
[ Biome.CAVE, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.MESPRIT, Type.PSYCHIC, -1, [
+ [ Species.MESPRIT, PokemonType.PSYCHIC, -1, [
[ Biome.LAKE, BiomePoolTier.ULTRA_RARE ],
[ Biome.LAKE, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.AZELF, Type.PSYCHIC, -1, [
+ [ Species.AZELF, PokemonType.PSYCHIC, -1, [
[ Biome.SWAMP, BiomePoolTier.ULTRA_RARE ],
[ Biome.SWAMP, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.DIALGA, Type.STEEL, Type.DRAGON, [
+ [ Species.DIALGA, PokemonType.STEEL, PokemonType.DRAGON, [
[ Biome.WASTELAND, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.PALKIA, Type.WATER, Type.DRAGON, [
+ [ Species.PALKIA, PokemonType.WATER, PokemonType.DRAGON, [
[ Biome.ABYSS, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.HEATRAN, Type.FIRE, Type.STEEL, [
+ [ Species.HEATRAN, PokemonType.FIRE, PokemonType.STEEL, [
[ Biome.VOLCANO, BiomePoolTier.ULTRA_RARE ],
[ Biome.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.REGIGIGAS, Type.NORMAL, -1, [
+ [ Species.REGIGIGAS, PokemonType.NORMAL, -1, [
[ Biome.TEMPLE, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.GIRATINA, Type.GHOST, Type.DRAGON, [
+ [ Species.GIRATINA, PokemonType.GHOST, PokemonType.DRAGON, [
[ Biome.GRAVEYARD, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.CRESSELIA, Type.PSYCHIC, -1, [
+ [ Species.CRESSELIA, PokemonType.PSYCHIC, -1, [
[ Biome.BEACH, BiomePoolTier.ULTRA_RARE ],
[ Biome.BEACH, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.PHIONE, Type.WATER, -1, [ ]
+ [ Species.PHIONE, PokemonType.WATER, -1, [ ]
],
- [ Species.MANAPHY, Type.WATER, -1, [ ]
+ [ Species.MANAPHY, PokemonType.WATER, -1, [ ]
],
- [ Species.DARKRAI, Type.DARK, -1, [
+ [ Species.DARKRAI, PokemonType.DARK, -1, [
[ Biome.ABYSS, BiomePoolTier.ULTRA_RARE ],
[ Biome.ABYSS, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.SHAYMIN, Type.GRASS, -1, [
+ [ Species.SHAYMIN, PokemonType.GRASS, -1, [
[ Biome.MEADOW, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.ARCEUS, Type.NORMAL, -1, [ ]
+ [ Species.ARCEUS, PokemonType.NORMAL, -1, [ ]
],
- [ Species.VICTINI, Type.PSYCHIC, Type.FIRE, [ ]
+ [ Species.VICTINI, PokemonType.PSYCHIC, PokemonType.FIRE, [ ]
],
- [ Species.SNIVY, Type.GRASS, -1, [
+ [ Species.SNIVY, PokemonType.GRASS, -1, [
[ Biome.JUNGLE, BiomePoolTier.RARE ]
]
],
- [ Species.SERVINE, Type.GRASS, -1, [
+ [ Species.SERVINE, PokemonType.GRASS, -1, [
[ Biome.JUNGLE, BiomePoolTier.RARE ]
]
],
- [ Species.SERPERIOR, Type.GRASS, -1, [
+ [ Species.SERPERIOR, PokemonType.GRASS, -1, [
[ Biome.JUNGLE, BiomePoolTier.RARE ],
[ Biome.JUNGLE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.TEPIG, Type.FIRE, -1, [
+ [ Species.TEPIG, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.RARE ]
]
],
- [ Species.PIGNITE, Type.FIRE, Type.FIGHTING, [
+ [ Species.PIGNITE, PokemonType.FIRE, PokemonType.FIGHTING, [
[ Biome.VOLCANO, BiomePoolTier.RARE ]
]
],
- [ Species.EMBOAR, Type.FIRE, Type.FIGHTING, [
+ [ Species.EMBOAR, PokemonType.FIRE, PokemonType.FIGHTING, [
[ Biome.VOLCANO, BiomePoolTier.RARE ],
[ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.OSHAWOTT, Type.WATER, -1, [
+ [ Species.OSHAWOTT, PokemonType.WATER, -1, [
[ Biome.LAKE, BiomePoolTier.RARE ]
]
],
- [ Species.DEWOTT, Type.WATER, -1, [
+ [ Species.DEWOTT, PokemonType.WATER, -1, [
[ Biome.LAKE, BiomePoolTier.RARE ]
]
],
- [ Species.SAMUROTT, Type.WATER, -1, [
+ [ Species.SAMUROTT, PokemonType.WATER, -1, [
[ Biome.LAKE, BiomePoolTier.RARE ],
[ Biome.LAKE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.PATRAT, Type.NORMAL, -1, [
+ [ Species.PATRAT, PokemonType.NORMAL, -1, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.METROPOLIS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
@@ -4456,437 +4457,437 @@ export function initBiomes() {
[ Biome.SLUM, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.WATCHOG, Type.NORMAL, -1, [
+ [ Species.WATCHOG, PokemonType.NORMAL, -1, [
[ Biome.METROPOLIS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.METROPOLIS, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.SLUM, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.SLUM, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.LILLIPUP, Type.NORMAL, -1, [
+ [ Species.LILLIPUP, PokemonType.NORMAL, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON ],
[ Biome.METROPOLIS, BiomePoolTier.COMMON ]
]
],
- [ Species.HERDIER, Type.NORMAL, -1, [
+ [ Species.HERDIER, PokemonType.NORMAL, -1, [
[ Biome.METROPOLIS, BiomePoolTier.COMMON ]
]
],
- [ Species.STOUTLAND, Type.NORMAL, -1, [
+ [ Species.STOUTLAND, PokemonType.NORMAL, -1, [
[ Biome.METROPOLIS, BiomePoolTier.COMMON ],
[ Biome.METROPOLIS, BiomePoolTier.BOSS ]
]
],
- [ Species.PURRLOIN, Type.DARK, -1, [
+ [ Species.PURRLOIN, PokemonType.DARK, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.ABYSS, BiomePoolTier.COMMON ],
[ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.LIEPARD, Type.DARK, -1, [
+ [ Species.LIEPARD, PokemonType.DARK, -1, [
[ Biome.ABYSS, BiomePoolTier.COMMON ],
[ Biome.ABYSS, BiomePoolTier.BOSS ],
[ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.PANSAGE, Type.GRASS, -1, [
+ [ Species.PANSAGE, PokemonType.GRASS, -1, [
[ Biome.FOREST, BiomePoolTier.UNCOMMON ],
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.SIMISAGE, Type.GRASS, -1, [
+ [ Species.SIMISAGE, PokemonType.GRASS, -1, [
[ Biome.FOREST, BiomePoolTier.UNCOMMON ],
[ Biome.FOREST, BiomePoolTier.BOSS ],
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.PANSEAR, Type.FIRE, -1, [
+ [ Species.PANSEAR, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.UNCOMMON ],
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.SIMISEAR, Type.FIRE, -1, [
+ [ Species.SIMISEAR, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.UNCOMMON ],
[ Biome.VOLCANO, BiomePoolTier.BOSS ],
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.PANPOUR, Type.WATER, -1, [
+ [ Species.PANPOUR, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.UNCOMMON ],
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.SIMIPOUR, Type.WATER, -1, [
+ [ Species.SIMIPOUR, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.UNCOMMON ],
[ Biome.SEA, BiomePoolTier.BOSS ],
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.MUNNA, Type.PSYCHIC, -1, [
+ [ Species.MUNNA, PokemonType.PSYCHIC, -1, [
[ Biome.SPACE, BiomePoolTier.COMMON ]
]
],
- [ Species.MUSHARNA, Type.PSYCHIC, -1, [
+ [ Species.MUSHARNA, PokemonType.PSYCHIC, -1, [
[ Biome.SPACE, BiomePoolTier.COMMON ],
[ Biome.SPACE, BiomePoolTier.BOSS ]
]
],
- [ Species.PIDOVE, Type.NORMAL, Type.FLYING, [
+ [ Species.PIDOVE, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.TRANQUILL, Type.NORMAL, Type.FLYING, [
+ [ Species.TRANQUILL, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.UNFEZANT, Type.NORMAL, Type.FLYING, [
+ [ Species.UNFEZANT, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.BLITZLE, Type.ELECTRIC, -1, [
+ [ Species.BLITZLE, PokemonType.ELECTRIC, -1, [
[ Biome.MEADOW, BiomePoolTier.COMMON ],
[ Biome.JUNGLE, BiomePoolTier.COMMON ]
]
],
- [ Species.ZEBSTRIKA, Type.ELECTRIC, -1, [
+ [ Species.ZEBSTRIKA, PokemonType.ELECTRIC, -1, [
[ Biome.MEADOW, BiomePoolTier.COMMON ],
[ Biome.MEADOW, BiomePoolTier.BOSS ],
[ Biome.JUNGLE, BiomePoolTier.COMMON ]
]
],
- [ Species.ROGGENROLA, Type.ROCK, -1, [
+ [ Species.ROGGENROLA, PokemonType.ROCK, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.BADLANDS, BiomePoolTier.UNCOMMON ],
[ Biome.CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.BOLDORE, Type.ROCK, -1, [
+ [ Species.BOLDORE, PokemonType.ROCK, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.BADLANDS, BiomePoolTier.UNCOMMON ],
[ Biome.CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.GIGALITH, Type.ROCK, -1, [
+ [ Species.GIGALITH, PokemonType.ROCK, -1, [
[ Biome.CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.WOOBAT, Type.PSYCHIC, Type.FLYING, [
+ [ Species.WOOBAT, PokemonType.PSYCHIC, PokemonType.FLYING, [
[ Biome.CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.SWOOBAT, Type.PSYCHIC, Type.FLYING, [
+ [ Species.SWOOBAT, PokemonType.PSYCHIC, PokemonType.FLYING, [
[ Biome.CAVE, BiomePoolTier.COMMON ],
[ Biome.CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.DRILBUR, Type.GROUND, -1, [
+ [ Species.DRILBUR, PokemonType.GROUND, -1, [
[ Biome.BADLANDS, BiomePoolTier.COMMON ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.COMMON ]
]
],
- [ Species.EXCADRILL, Type.GROUND, Type.STEEL, [
+ [ Species.EXCADRILL, PokemonType.GROUND, PokemonType.STEEL, [
[ Biome.BADLANDS, BiomePoolTier.COMMON ],
[ Biome.BADLANDS, BiomePoolTier.BOSS ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.COMMON ]
]
],
- [ Species.AUDINO, Type.NORMAL, -1, [
+ [ Species.AUDINO, PokemonType.NORMAL, -1, [
[ Biome.FAIRY_CAVE, BiomePoolTier.RARE ],
[ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.TIMBURR, Type.FIGHTING, -1, [
+ [ Species.TIMBURR, PokemonType.FIGHTING, -1, [
[ Biome.FACTORY, BiomePoolTier.COMMON ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.COMMON ]
]
],
- [ Species.GURDURR, Type.FIGHTING, -1, [
+ [ Species.GURDURR, PokemonType.FIGHTING, -1, [
[ Biome.FACTORY, BiomePoolTier.COMMON ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.COMMON ]
]
],
- [ Species.CONKELDURR, Type.FIGHTING, -1, [
+ [ Species.CONKELDURR, PokemonType.FIGHTING, -1, [
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.BOSS ]
]
],
- [ Species.TYMPOLE, Type.WATER, -1, [
+ [ Species.TYMPOLE, PokemonType.WATER, -1, [
[ Biome.SWAMP, BiomePoolTier.COMMON ]
]
],
- [ Species.PALPITOAD, Type.WATER, Type.GROUND, [
+ [ Species.PALPITOAD, PokemonType.WATER, PokemonType.GROUND, [
[ Biome.SWAMP, BiomePoolTier.COMMON ]
]
],
- [ Species.SEISMITOAD, Type.WATER, Type.GROUND, [
+ [ Species.SEISMITOAD, PokemonType.WATER, PokemonType.GROUND, [
[ Biome.SWAMP, BiomePoolTier.COMMON ],
[ Biome.SWAMP, BiomePoolTier.BOSS ]
]
],
- [ Species.THROH, Type.FIGHTING, -1, [
+ [ Species.THROH, PokemonType.FIGHTING, -1, [
[ Biome.DOJO, BiomePoolTier.RARE ],
[ Biome.DOJO, BiomePoolTier.BOSS ]
]
],
- [ Species.SAWK, Type.FIGHTING, -1, [
+ [ Species.SAWK, PokemonType.FIGHTING, -1, [
[ Biome.DOJO, BiomePoolTier.RARE ],
[ Biome.DOJO, BiomePoolTier.BOSS ]
]
],
- [ Species.SEWADDLE, Type.BUG, Type.GRASS, [
+ [ Species.SEWADDLE, PokemonType.BUG, PokemonType.GRASS, [
[ Biome.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SWADLOON, Type.BUG, Type.GRASS, [
+ [ Species.SWADLOON, PokemonType.BUG, PokemonType.GRASS, [
[ Biome.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.LEAVANNY, Type.BUG, Type.GRASS, [
+ [ Species.LEAVANNY, PokemonType.BUG, PokemonType.GRASS, [
[ Biome.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.VENIPEDE, Type.BUG, Type.POISON, [
+ [ Species.VENIPEDE, PokemonType.BUG, PokemonType.POISON, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.WHIRLIPEDE, Type.BUG, Type.POISON, [
+ [ Species.WHIRLIPEDE, PokemonType.BUG, PokemonType.POISON, [
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.SCOLIPEDE, Type.BUG, Type.POISON, [
+ [ Species.SCOLIPEDE, PokemonType.BUG, PokemonType.POISON, [
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.COTTONEE, Type.GRASS, Type.FAIRY, [
+ [ Species.COTTONEE, PokemonType.GRASS, PokemonType.FAIRY, [
[ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MEADOW, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.WHIMSICOTT, Type.GRASS, Type.FAIRY, [
+ [ Species.WHIMSICOTT, PokemonType.GRASS, PokemonType.FAIRY, [
[ Biome.GRASS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.PETILIL, Type.GRASS, -1, [
+ [ Species.PETILIL, PokemonType.GRASS, -1, [
[ Biome.GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.LILLIGANT, Type.GRASS, -1, [
+ [ Species.LILLIGANT, PokemonType.GRASS, -1, [
[ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.BASCULIN, Type.WATER, -1, [
+ [ Species.BASCULIN, PokemonType.WATER, -1, [
[ Biome.SEABED, BiomePoolTier.COMMON ]
]
],
- [ Species.SANDILE, Type.GROUND, Type.DARK, [
+ [ Species.SANDILE, PokemonType.GROUND, PokemonType.DARK, [
[ Biome.DESERT, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.KROKOROK, Type.GROUND, Type.DARK, [
+ [ Species.KROKOROK, PokemonType.GROUND, PokemonType.DARK, [
[ Biome.DESERT, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.KROOKODILE, Type.GROUND, Type.DARK, [
+ [ Species.KROOKODILE, PokemonType.GROUND, PokemonType.DARK, [
[ Biome.DESERT, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.DESERT, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.DARUMAKA, Type.FIRE, -1, [
+ [ Species.DARUMAKA, PokemonType.FIRE, -1, [
[ Biome.DESERT, BiomePoolTier.RARE ]
]
],
- [ Species.DARMANITAN, Type.FIRE, -1, [
+ [ Species.DARMANITAN, PokemonType.FIRE, -1, [
[ Biome.DESERT, BiomePoolTier.RARE ],
[ Biome.DESERT, BiomePoolTier.BOSS ]
]
],
- [ Species.MARACTUS, Type.GRASS, -1, [
+ [ Species.MARACTUS, PokemonType.GRASS, -1, [
[ Biome.DESERT, BiomePoolTier.UNCOMMON ],
[ Biome.DESERT, BiomePoolTier.BOSS ]
]
],
- [ Species.DWEBBLE, Type.BUG, Type.ROCK, [
+ [ Species.DWEBBLE, PokemonType.BUG, PokemonType.ROCK, [
[ Biome.BEACH, BiomePoolTier.COMMON ]
]
],
- [ Species.CRUSTLE, Type.BUG, Type.ROCK, [
+ [ Species.CRUSTLE, PokemonType.BUG, PokemonType.ROCK, [
[ Biome.BEACH, BiomePoolTier.COMMON ],
[ Biome.BEACH, BiomePoolTier.BOSS ]
]
],
- [ Species.SCRAGGY, Type.DARK, Type.FIGHTING, [
+ [ Species.SCRAGGY, PokemonType.DARK, PokemonType.FIGHTING, [
[ Biome.DOJO, BiomePoolTier.UNCOMMON ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.SCRAFTY, Type.DARK, Type.FIGHTING, [
+ [ Species.SCRAFTY, PokemonType.DARK, PokemonType.FIGHTING, [
[ Biome.DOJO, BiomePoolTier.UNCOMMON ],
[ Biome.DOJO, BiomePoolTier.BOSS ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.SIGILYPH, Type.PSYCHIC, Type.FLYING, [
+ [ Species.SIGILYPH, PokemonType.PSYCHIC, PokemonType.FLYING, [
[ Biome.RUINS, BiomePoolTier.UNCOMMON ],
[ Biome.RUINS, BiomePoolTier.BOSS ],
[ Biome.SPACE, BiomePoolTier.RARE ]
]
],
- [ Species.YAMASK, Type.GHOST, -1, [
+ [ Species.YAMASK, PokemonType.GHOST, -1, [
[ Biome.GRAVEYARD, BiomePoolTier.UNCOMMON ],
[ Biome.TEMPLE, BiomePoolTier.COMMON ]
]
],
- [ Species.COFAGRIGUS, Type.GHOST, -1, [
+ [ Species.COFAGRIGUS, PokemonType.GHOST, -1, [
[ Biome.GRAVEYARD, BiomePoolTier.UNCOMMON ],
[ Biome.TEMPLE, BiomePoolTier.COMMON ],
[ Biome.TEMPLE, BiomePoolTier.BOSS ]
]
],
- [ Species.TIRTOUGA, Type.WATER, Type.ROCK, [
+ [ Species.TIRTOUGA, PokemonType.WATER, PokemonType.ROCK, [
[ Biome.SEA, BiomePoolTier.SUPER_RARE ],
[ Biome.BEACH, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.CARRACOSTA, Type.WATER, Type.ROCK, [
+ [ Species.CARRACOSTA, PokemonType.WATER, PokemonType.ROCK, [
[ Biome.SEA, BiomePoolTier.SUPER_RARE ],
[ Biome.BEACH, BiomePoolTier.SUPER_RARE ],
[ Biome.BEACH, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.ARCHEN, Type.ROCK, Type.FLYING, [
+ [ Species.ARCHEN, PokemonType.ROCK, PokemonType.FLYING, [
[ Biome.RUINS, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.ARCHEOPS, Type.ROCK, Type.FLYING, [
+ [ Species.ARCHEOPS, PokemonType.ROCK, PokemonType.FLYING, [
[ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ],
[ Biome.RUINS, BiomePoolTier.SUPER_RARE ],
[ Biome.RUINS, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.TRUBBISH, Type.POISON, -1, [
+ [ Species.TRUBBISH, PokemonType.POISON, -1, [
[ Biome.SLUM, BiomePoolTier.COMMON ]
]
],
- [ Species.GARBODOR, Type.POISON, -1, [
+ [ Species.GARBODOR, PokemonType.POISON, -1, [
[ Biome.SLUM, BiomePoolTier.COMMON ],
[ Biome.SLUM, BiomePoolTier.BOSS ]
]
],
- [ Species.ZORUA, Type.DARK, -1, [
+ [ Species.ZORUA, PokemonType.DARK, -1, [
[ Biome.ABYSS, BiomePoolTier.RARE ]
]
],
- [ Species.ZOROARK, Type.DARK, -1, [
+ [ Species.ZOROARK, PokemonType.DARK, -1, [
[ Biome.ABYSS, BiomePoolTier.RARE ],
[ Biome.ABYSS, BiomePoolTier.BOSS ]
]
],
- [ Species.MINCCINO, Type.NORMAL, -1, [
+ [ Species.MINCCINO, PokemonType.NORMAL, -1, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MEADOW, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.CINCCINO, Type.NORMAL, -1, [
+ [ Species.CINCCINO, PokemonType.NORMAL, -1, [
[ Biome.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.GOTHITA, Type.PSYCHIC, -1, [
+ [ Species.GOTHITA, PokemonType.PSYCHIC, -1, [
[ Biome.RUINS, BiomePoolTier.RARE ]
]
],
- [ Species.GOTHORITA, Type.PSYCHIC, -1, [
+ [ Species.GOTHORITA, PokemonType.PSYCHIC, -1, [
[ Biome.RUINS, BiomePoolTier.RARE ]
]
],
- [ Species.GOTHITELLE, Type.PSYCHIC, -1, [
+ [ Species.GOTHITELLE, PokemonType.PSYCHIC, -1, [
[ Biome.RUINS, BiomePoolTier.RARE ],
[ Biome.RUINS, BiomePoolTier.BOSS ]
]
],
- [ Species.SOLOSIS, Type.PSYCHIC, -1, [
+ [ Species.SOLOSIS, PokemonType.PSYCHIC, -1, [
[ Biome.SPACE, BiomePoolTier.RARE ],
[ Biome.LABORATORY, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.DUOSION, Type.PSYCHIC, -1, [
+ [ Species.DUOSION, PokemonType.PSYCHIC, -1, [
[ Biome.SPACE, BiomePoolTier.RARE ],
[ Biome.LABORATORY, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.REUNICLUS, Type.PSYCHIC, -1, [
+ [ Species.REUNICLUS, PokemonType.PSYCHIC, -1, [
[ Biome.SPACE, BiomePoolTier.RARE ],
[ Biome.SPACE, BiomePoolTier.BOSS ],
[ Biome.LABORATORY, BiomePoolTier.UNCOMMON ],
[ Biome.LABORATORY, BiomePoolTier.BOSS ]
]
],
- [ Species.DUCKLETT, Type.WATER, Type.FLYING, [
+ [ Species.DUCKLETT, PokemonType.WATER, PokemonType.FLYING, [
[ Biome.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SWANNA, Type.WATER, Type.FLYING, [
+ [ Species.SWANNA, PokemonType.WATER, PokemonType.FLYING, [
[ Biome.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.LAKE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.VANILLITE, Type.ICE, -1, [
+ [ Species.VANILLITE, PokemonType.ICE, -1, [
[ Biome.ICE_CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.VANILLISH, Type.ICE, -1, [
+ [ Species.VANILLISH, PokemonType.ICE, -1, [
[ Biome.ICE_CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.VANILLUXE, Type.ICE, -1, [
+ [ Species.VANILLUXE, PokemonType.ICE, -1, [
[ Biome.ICE_CAVE, BiomePoolTier.COMMON ],
[ Biome.ICE_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.DEERLING, Type.NORMAL, Type.GRASS, [
+ [ Species.DEERLING, PokemonType.NORMAL, PokemonType.GRASS, [
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SAWSBUCK, Type.NORMAL, Type.GRASS, [
+ [ Species.SAWSBUCK, PokemonType.NORMAL, PokemonType.GRASS, [
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.EMOLGA, Type.ELECTRIC, Type.FLYING, [
+ [ Species.EMOLGA, PokemonType.ELECTRIC, PokemonType.FLYING, [
[ Biome.POWER_PLANT, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.KARRABLAST, Type.BUG, -1, [
+ [ Species.KARRABLAST, PokemonType.BUG, -1, [
[ Biome.FOREST, BiomePoolTier.RARE ]
]
],
- [ Species.ESCAVALIER, Type.BUG, Type.STEEL, [
+ [ Species.ESCAVALIER, PokemonType.BUG, PokemonType.STEEL, [
[ Biome.FOREST, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.FOONGUS, Type.GRASS, Type.POISON, [
+ [ Species.FOONGUS, PokemonType.GRASS, PokemonType.POISON, [
[ Biome.GRASS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.JUNGLE, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.AMOONGUSS, Type.GRASS, Type.POISON, [
+ [ Species.AMOONGUSS, PokemonType.GRASS, PokemonType.POISON, [
[ Biome.GRASS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.JUNGLE, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.JUNGLE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
@@ -4894,712 +4895,712 @@ export function initBiomes() {
[ Biome.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.FRILLISH, Type.WATER, Type.GHOST, [
+ [ Species.FRILLISH, PokemonType.WATER, PokemonType.GHOST, [
[ Biome.SEABED, BiomePoolTier.COMMON ]
]
],
- [ Species.JELLICENT, Type.WATER, Type.GHOST, [
+ [ Species.JELLICENT, PokemonType.WATER, PokemonType.GHOST, [
[ Biome.SEABED, BiomePoolTier.COMMON ],
[ Biome.SEABED, BiomePoolTier.BOSS ]
]
],
- [ Species.ALOMOMOLA, Type.WATER, -1, [
+ [ Species.ALOMOMOLA, PokemonType.WATER, -1, [
[ Biome.SEABED, BiomePoolTier.RARE ],
[ Biome.SEABED, BiomePoolTier.BOSS ]
]
],
- [ Species.JOLTIK, Type.BUG, Type.ELECTRIC, [
+ [ Species.JOLTIK, PokemonType.BUG, PokemonType.ELECTRIC, [
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.GALVANTULA, Type.BUG, Type.ELECTRIC, [
+ [ Species.GALVANTULA, PokemonType.BUG, PokemonType.ELECTRIC, [
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON ],
[ Biome.JUNGLE, BiomePoolTier.BOSS ]
]
],
- [ Species.FERROSEED, Type.GRASS, Type.STEEL, [
+ [ Species.FERROSEED, PokemonType.GRASS, PokemonType.STEEL, [
[ Biome.CAVE, BiomePoolTier.RARE ]
]
],
- [ Species.FERROTHORN, Type.GRASS, Type.STEEL, [
+ [ Species.FERROTHORN, PokemonType.GRASS, PokemonType.STEEL, [
[ Biome.CAVE, BiomePoolTier.RARE ],
[ Biome.CAVE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.KLINK, Type.STEEL, -1, [
+ [ Species.KLINK, PokemonType.STEEL, -1, [
[ Biome.FACTORY, BiomePoolTier.COMMON ],
[ Biome.LABORATORY, BiomePoolTier.COMMON ]
]
],
- [ Species.KLANG, Type.STEEL, -1, [
+ [ Species.KLANG, PokemonType.STEEL, -1, [
[ Biome.FACTORY, BiomePoolTier.COMMON ],
[ Biome.LABORATORY, BiomePoolTier.COMMON ]
]
],
- [ Species.KLINKLANG, Type.STEEL, -1, [
+ [ Species.KLINKLANG, PokemonType.STEEL, -1, [
[ Biome.FACTORY, BiomePoolTier.COMMON ],
[ Biome.FACTORY, BiomePoolTier.BOSS ],
[ Biome.LABORATORY, BiomePoolTier.COMMON ],
[ Biome.LABORATORY, BiomePoolTier.BOSS ]
]
],
- [ Species.TYNAMO, Type.ELECTRIC, -1, [
+ [ Species.TYNAMO, PokemonType.ELECTRIC, -1, [
[ Biome.SEABED, BiomePoolTier.RARE ]
]
],
- [ Species.EELEKTRIK, Type.ELECTRIC, -1, [
+ [ Species.EELEKTRIK, PokemonType.ELECTRIC, -1, [
[ Biome.SEABED, BiomePoolTier.RARE ]
]
],
- [ Species.EELEKTROSS, Type.ELECTRIC, -1, [
+ [ Species.EELEKTROSS, PokemonType.ELECTRIC, -1, [
[ Biome.SEABED, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.ELGYEM, Type.PSYCHIC, -1, [
+ [ Species.ELGYEM, PokemonType.PSYCHIC, -1, [
[ Biome.RUINS, BiomePoolTier.COMMON ],
[ Biome.SPACE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.BEHEEYEM, Type.PSYCHIC, -1, [
+ [ Species.BEHEEYEM, PokemonType.PSYCHIC, -1, [
[ Biome.RUINS, BiomePoolTier.COMMON ],
[ Biome.RUINS, BiomePoolTier.BOSS ],
[ Biome.SPACE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.LITWICK, Type.GHOST, Type.FIRE, [
+ [ Species.LITWICK, PokemonType.GHOST, PokemonType.FIRE, [
[ Biome.GRAVEYARD, BiomePoolTier.COMMON ],
[ Biome.TEMPLE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.LAMPENT, Type.GHOST, Type.FIRE, [
+ [ Species.LAMPENT, PokemonType.GHOST, PokemonType.FIRE, [
[ Biome.GRAVEYARD, BiomePoolTier.COMMON ],
[ Biome.TEMPLE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.CHANDELURE, Type.GHOST, Type.FIRE, [
+ [ Species.CHANDELURE, PokemonType.GHOST, PokemonType.FIRE, [
[ Biome.GRAVEYARD, BiomePoolTier.BOSS ]
]
],
- [ Species.AXEW, Type.DRAGON, -1, [
+ [ Species.AXEW, PokemonType.DRAGON, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ],
[ Biome.WASTELAND, BiomePoolTier.COMMON ]
]
],
- [ Species.FRAXURE, Type.DRAGON, -1, [
+ [ Species.FRAXURE, PokemonType.DRAGON, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.SUPER_RARE ],
[ Biome.WASTELAND, BiomePoolTier.COMMON ]
]
],
- [ Species.HAXORUS, Type.DRAGON, -1, [
+ [ Species.HAXORUS, PokemonType.DRAGON, -1, [
[ Biome.WASTELAND, BiomePoolTier.COMMON ],
[ Biome.WASTELAND, BiomePoolTier.BOSS ]
]
],
- [ Species.CUBCHOO, Type.ICE, -1, [
+ [ Species.CUBCHOO, PokemonType.ICE, -1, [
[ Biome.ICE_CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.BEARTIC, Type.ICE, -1, [
+ [ Species.BEARTIC, PokemonType.ICE, -1, [
[ Biome.ICE_CAVE, BiomePoolTier.COMMON ],
[ Biome.ICE_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.CRYOGONAL, Type.ICE, -1, [
+ [ Species.CRYOGONAL, PokemonType.ICE, -1, [
[ Biome.ICE_CAVE, BiomePoolTier.RARE ],
[ Biome.ICE_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.SHELMET, Type.BUG, -1, [
+ [ Species.SHELMET, PokemonType.BUG, -1, [
[ Biome.FOREST, BiomePoolTier.RARE ]
]
],
- [ Species.ACCELGOR, Type.BUG, -1, [
+ [ Species.ACCELGOR, PokemonType.BUG, -1, [
[ Biome.FOREST, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.STUNFISK, Type.GROUND, Type.ELECTRIC, [
+ [ Species.STUNFISK, PokemonType.GROUND, PokemonType.ELECTRIC, [
[ Biome.SWAMP, BiomePoolTier.UNCOMMON ],
[ Biome.SWAMP, BiomePoolTier.BOSS ]
]
],
- [ Species.MIENFOO, Type.FIGHTING, -1, [
+ [ Species.MIENFOO, PokemonType.FIGHTING, -1, [
[ Biome.DOJO, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.MIENSHAO, Type.FIGHTING, -1, [
+ [ Species.MIENSHAO, PokemonType.FIGHTING, -1, [
[ Biome.DOJO, BiomePoolTier.UNCOMMON ],
[ Biome.DOJO, BiomePoolTier.BOSS ]
]
],
- [ Species.DRUDDIGON, Type.DRAGON, -1, [
+ [ Species.DRUDDIGON, PokemonType.DRAGON, -1, [
[ Biome.WASTELAND, BiomePoolTier.SUPER_RARE ],
[ Biome.WASTELAND, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.GOLETT, Type.GROUND, Type.GHOST, [
+ [ Species.GOLETT, PokemonType.GROUND, PokemonType.GHOST, [
[ Biome.TEMPLE, BiomePoolTier.COMMON ]
]
],
- [ Species.GOLURK, Type.GROUND, Type.GHOST, [
+ [ Species.GOLURK, PokemonType.GROUND, PokemonType.GHOST, [
[ Biome.TEMPLE, BiomePoolTier.COMMON ],
[ Biome.TEMPLE, BiomePoolTier.BOSS ]
]
],
- [ Species.PAWNIARD, Type.DARK, Type.STEEL, [
+ [ Species.PAWNIARD, PokemonType.DARK, PokemonType.STEEL, [
[ Biome.ABYSS, BiomePoolTier.COMMON ]
]
],
- [ Species.BISHARP, Type.DARK, Type.STEEL, [
+ [ Species.BISHARP, PokemonType.DARK, PokemonType.STEEL, [
[ Biome.ABYSS, BiomePoolTier.COMMON ]
]
],
- [ Species.BOUFFALANT, Type.NORMAL, -1, [
+ [ Species.BOUFFALANT, PokemonType.NORMAL, -1, [
[ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.RUFFLET, Type.NORMAL, Type.FLYING, [
+ [ Species.RUFFLET, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.BRAVIARY, Type.NORMAL, Type.FLYING, [
+ [ Species.BRAVIARY, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.VULLABY, Type.DARK, Type.FLYING, [
+ [ Species.VULLABY, PokemonType.DARK, PokemonType.FLYING, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.MANDIBUZZ, Type.DARK, Type.FLYING, [
+ [ Species.MANDIBUZZ, PokemonType.DARK, PokemonType.FLYING, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.HEATMOR, Type.FIRE, -1, [
+ [ Species.HEATMOR, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.UNCOMMON ],
[ Biome.VOLCANO, BiomePoolTier.BOSS ]
]
],
- [ Species.DURANT, Type.BUG, Type.STEEL, [
+ [ Species.DURANT, PokemonType.BUG, PokemonType.STEEL, [
[ Biome.FOREST, BiomePoolTier.SUPER_RARE ],
[ Biome.FOREST, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.DEINO, Type.DARK, Type.DRAGON, [
+ [ Species.DEINO, PokemonType.DARK, PokemonType.DRAGON, [
[ Biome.WASTELAND, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.ABYSS, BiomePoolTier.RARE ]
]
],
- [ Species.ZWEILOUS, Type.DARK, Type.DRAGON, [
+ [ Species.ZWEILOUS, PokemonType.DARK, PokemonType.DRAGON, [
[ Biome.WASTELAND, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.ABYSS, BiomePoolTier.RARE ]
]
],
- [ Species.HYDREIGON, Type.DARK, Type.DRAGON, [
+ [ Species.HYDREIGON, PokemonType.DARK, PokemonType.DRAGON, [
[ Biome.WASTELAND, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.ABYSS, BiomePoolTier.RARE ],
[ Biome.ABYSS, BiomePoolTier.BOSS ]
]
],
- [ Species.LARVESTA, Type.BUG, Type.FIRE, [
+ [ Species.LARVESTA, PokemonType.BUG, PokemonType.FIRE, [
[ Biome.VOLCANO, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.VOLCARONA, Type.BUG, Type.FIRE, [
+ [ Species.VOLCARONA, PokemonType.BUG, PokemonType.FIRE, [
[ Biome.VOLCANO, BiomePoolTier.SUPER_RARE ],
[ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.COBALION, Type.STEEL, Type.FIGHTING, [
+ [ Species.COBALION, PokemonType.STEEL, PokemonType.FIGHTING, [
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.ULTRA_RARE ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.TERRAKION, Type.ROCK, Type.FIGHTING, [
+ [ Species.TERRAKION, PokemonType.ROCK, PokemonType.FIGHTING, [
[ Biome.DOJO, BiomePoolTier.ULTRA_RARE ],
[ Biome.DOJO, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.VIRIZION, Type.GRASS, Type.FIGHTING, [
+ [ Species.VIRIZION, PokemonType.GRASS, PokemonType.FIGHTING, [
[ Biome.GRASS, BiomePoolTier.ULTRA_RARE ],
[ Biome.GRASS, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.TORNADUS, Type.FLYING, -1, [
+ [ Species.TORNADUS, PokemonType.FLYING, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.ULTRA_RARE ],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.THUNDURUS, Type.ELECTRIC, Type.FLYING, [
+ [ Species.THUNDURUS, PokemonType.ELECTRIC, PokemonType.FLYING, [
[ Biome.POWER_PLANT, BiomePoolTier.ULTRA_RARE ],
[ Biome.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.RESHIRAM, Type.DRAGON, Type.FIRE, [
+ [ Species.RESHIRAM, PokemonType.DRAGON, PokemonType.FIRE, [
[ Biome.VOLCANO, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.ZEKROM, Type.DRAGON, Type.ELECTRIC, [
+ [ Species.ZEKROM, PokemonType.DRAGON, PokemonType.ELECTRIC, [
[ Biome.POWER_PLANT, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.LANDORUS, Type.GROUND, Type.FLYING, [
+ [ Species.LANDORUS, PokemonType.GROUND, PokemonType.FLYING, [
[ Biome.BADLANDS, BiomePoolTier.ULTRA_RARE ],
[ Biome.BADLANDS, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.KYUREM, Type.DRAGON, Type.ICE, [
+ [ Species.KYUREM, PokemonType.DRAGON, PokemonType.ICE, [
[ Biome.ICE_CAVE, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.KELDEO, Type.WATER, Type.FIGHTING, [
+ [ Species.KELDEO, PokemonType.WATER, PokemonType.FIGHTING, [
[ Biome.BEACH, BiomePoolTier.ULTRA_RARE ],
[ Biome.BEACH, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.MELOETTA, Type.NORMAL, Type.PSYCHIC, [
+ [ Species.MELOETTA, PokemonType.NORMAL, PokemonType.PSYCHIC, [
[ Biome.MEADOW, BiomePoolTier.ULTRA_RARE ],
[ Biome.MEADOW, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.GENESECT, Type.BUG, Type.STEEL, [
+ [ Species.GENESECT, PokemonType.BUG, PokemonType.STEEL, [
[ Biome.FACTORY, BiomePoolTier.ULTRA_RARE ],
[ Biome.FACTORY, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.CHESPIN, Type.GRASS, -1, [
+ [ Species.CHESPIN, PokemonType.GRASS, -1, [
[ Biome.FOREST, BiomePoolTier.RARE ]
]
],
- [ Species.QUILLADIN, Type.GRASS, -1, [
+ [ Species.QUILLADIN, PokemonType.GRASS, -1, [
[ Biome.FOREST, BiomePoolTier.RARE ]
]
],
- [ Species.CHESNAUGHT, Type.GRASS, Type.FIGHTING, [
+ [ Species.CHESNAUGHT, PokemonType.GRASS, PokemonType.FIGHTING, [
[ Biome.FOREST, BiomePoolTier.RARE ],
[ Biome.FOREST, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.FENNEKIN, Type.FIRE, -1, [
+ [ Species.FENNEKIN, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.RARE ]
]
],
- [ Species.BRAIXEN, Type.FIRE, -1, [
+ [ Species.BRAIXEN, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.RARE ]
]
],
- [ Species.DELPHOX, Type.FIRE, Type.PSYCHIC, [
+ [ Species.DELPHOX, PokemonType.FIRE, PokemonType.PSYCHIC, [
[ Biome.VOLCANO, BiomePoolTier.RARE ],
[ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.FROAKIE, Type.WATER, -1, [
+ [ Species.FROAKIE, PokemonType.WATER, -1, [
[ Biome.LAKE, BiomePoolTier.RARE ]
]
],
- [ Species.FROGADIER, Type.WATER, -1, [
+ [ Species.FROGADIER, PokemonType.WATER, -1, [
[ Biome.LAKE, BiomePoolTier.RARE ]
]
],
- [ Species.GRENINJA, Type.WATER, Type.DARK, [
+ [ Species.GRENINJA, PokemonType.WATER, PokemonType.DARK, [
[ Biome.LAKE, BiomePoolTier.RARE ],
[ Biome.LAKE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.BUNNELBY, Type.NORMAL, -1, [
+ [ Species.BUNNELBY, PokemonType.NORMAL, -1, [
[ Biome.CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.DIGGERSBY, Type.NORMAL, Type.GROUND, [
+ [ Species.DIGGERSBY, PokemonType.NORMAL, PokemonType.GROUND, [
[ Biome.CAVE, BiomePoolTier.COMMON ],
[ Biome.CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.FLETCHLING, Type.NORMAL, Type.FLYING, [
+ [ Species.FLETCHLING, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.TOWN, BiomePoolTier.COMMON ],
[ Biome.PLAINS, BiomePoolTier.UNCOMMON ],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.FLETCHINDER, Type.FIRE, Type.FLYING, [
+ [ Species.FLETCHINDER, PokemonType.FIRE, PokemonType.FLYING, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON ],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.TALONFLAME, Type.FIRE, Type.FLYING, [
+ [ Species.TALONFLAME, PokemonType.FIRE, PokemonType.FLYING, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON ],
[ Biome.MOUNTAIN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SCATTERBUG, Type.BUG, -1, [
+ [ Species.SCATTERBUG, PokemonType.BUG, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SPEWPA, Type.BUG, -1, [
+ [ Species.SPEWPA, PokemonType.BUG, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.VIVILLON, Type.BUG, Type.FLYING, [
+ [ Species.VIVILLON, PokemonType.BUG, PokemonType.FLYING, [
[ Biome.FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.LITLEO, Type.FIRE, Type.NORMAL, [
+ [ Species.LITLEO, PokemonType.FIRE, PokemonType.NORMAL, [
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.PYROAR, Type.FIRE, Type.NORMAL, [
+ [ Species.PYROAR, PokemonType.FIRE, PokemonType.NORMAL, [
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON ],
[ Biome.JUNGLE, BiomePoolTier.BOSS ]
]
],
- [ Species.FLABEBE, Type.FAIRY, -1, [
+ [ Species.FLABEBE, PokemonType.FAIRY, -1, [
[ Biome.MEADOW, BiomePoolTier.COMMON ]
]
],
- [ Species.FLOETTE, Type.FAIRY, -1, [
+ [ Species.FLOETTE, PokemonType.FAIRY, -1, [
[ Biome.MEADOW, BiomePoolTier.COMMON ]
]
],
- [ Species.FLORGES, Type.FAIRY, -1, [
+ [ Species.FLORGES, PokemonType.FAIRY, -1, [
[ Biome.MEADOW, BiomePoolTier.BOSS ]
]
],
- [ Species.SKIDDO, Type.GRASS, -1, [
+ [ Species.SKIDDO, PokemonType.GRASS, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.COMMON ]
]
],
- [ Species.GOGOAT, Type.GRASS, -1, [
+ [ Species.GOGOAT, PokemonType.GRASS, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.COMMON ],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS ]
]
],
- [ Species.PANCHAM, Type.FIGHTING, -1, [
+ [ Species.PANCHAM, PokemonType.FIGHTING, -1, [
[ Biome.DOJO, BiomePoolTier.RARE ],
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.PANGORO, Type.FIGHTING, Type.DARK, [
+ [ Species.PANGORO, PokemonType.FIGHTING, PokemonType.DARK, [
[ Biome.DOJO, BiomePoolTier.RARE ],
[ Biome.DOJO, BiomePoolTier.BOSS_RARE ],
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.FURFROU, Type.NORMAL, -1, [
+ [ Species.FURFROU, PokemonType.NORMAL, -1, [
[ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ],
[ Biome.METROPOLIS, BiomePoolTier.BOSS ]
]
],
- [ Species.ESPURR, Type.PSYCHIC, -1, [
+ [ Species.ESPURR, PokemonType.PSYCHIC, -1, [
[ Biome.METROPOLIS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.MEOWSTIC, Type.PSYCHIC, -1, [
+ [ Species.MEOWSTIC, PokemonType.PSYCHIC, -1, [
[ Biome.METROPOLIS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.METROPOLIS, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.HONEDGE, Type.STEEL, Type.GHOST, [
+ [ Species.HONEDGE, PokemonType.STEEL, PokemonType.GHOST, [
[ Biome.TEMPLE, BiomePoolTier.COMMON ]
]
],
- [ Species.DOUBLADE, Type.STEEL, Type.GHOST, [
+ [ Species.DOUBLADE, PokemonType.STEEL, PokemonType.GHOST, [
[ Biome.TEMPLE, BiomePoolTier.COMMON ]
]
],
- [ Species.AEGISLASH, Type.STEEL, Type.GHOST, [
+ [ Species.AEGISLASH, PokemonType.STEEL, PokemonType.GHOST, [
[ Biome.TEMPLE, BiomePoolTier.BOSS ]
]
],
- [ Species.SPRITZEE, Type.FAIRY, -1, [
+ [ Species.SPRITZEE, PokemonType.FAIRY, -1, [
[ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.AROMATISSE, Type.FAIRY, -1, [
+ [ Species.AROMATISSE, PokemonType.FAIRY, -1, [
[ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ],
[ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.SWIRLIX, Type.FAIRY, -1, [
+ [ Species.SWIRLIX, PokemonType.FAIRY, -1, [
[ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.SLURPUFF, Type.FAIRY, -1, [
+ [ Species.SLURPUFF, PokemonType.FAIRY, -1, [
[ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ],
[ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.INKAY, Type.DARK, Type.PSYCHIC, [
+ [ Species.INKAY, PokemonType.DARK, PokemonType.PSYCHIC, [
[ Biome.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.MALAMAR, Type.DARK, Type.PSYCHIC, [
+ [ Species.MALAMAR, PokemonType.DARK, PokemonType.PSYCHIC, [
[ Biome.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.SEA, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.BINACLE, Type.ROCK, Type.WATER, [
+ [ Species.BINACLE, PokemonType.ROCK, PokemonType.WATER, [
[ Biome.BEACH, BiomePoolTier.COMMON ]
]
],
- [ Species.BARBARACLE, Type.ROCK, Type.WATER, [
+ [ Species.BARBARACLE, PokemonType.ROCK, PokemonType.WATER, [
[ Biome.BEACH, BiomePoolTier.COMMON ],
[ Biome.BEACH, BiomePoolTier.BOSS ]
]
],
- [ Species.SKRELP, Type.POISON, Type.WATER, [
+ [ Species.SKRELP, PokemonType.POISON, PokemonType.WATER, [
[ Biome.SEABED, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.DRAGALGE, Type.POISON, Type.DRAGON, [
+ [ Species.DRAGALGE, PokemonType.POISON, PokemonType.DRAGON, [
[ Biome.SEABED, BiomePoolTier.UNCOMMON ],
[ Biome.SEABED, BiomePoolTier.BOSS ]
]
],
- [ Species.CLAUNCHER, Type.WATER, -1, [
+ [ Species.CLAUNCHER, PokemonType.WATER, -1, [
[ Biome.BEACH, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.CLAWITZER, Type.WATER, -1, [
+ [ Species.CLAWITZER, PokemonType.WATER, -1, [
[ Biome.BEACH, BiomePoolTier.UNCOMMON ],
[ Biome.BEACH, BiomePoolTier.BOSS ]
]
],
- [ Species.HELIOPTILE, Type.ELECTRIC, Type.NORMAL, [
+ [ Species.HELIOPTILE, PokemonType.ELECTRIC, PokemonType.NORMAL, [
[ Biome.DESERT, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.HELIOLISK, Type.ELECTRIC, Type.NORMAL, [
+ [ Species.HELIOLISK, PokemonType.ELECTRIC, PokemonType.NORMAL, [
[ Biome.DESERT, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.TYRUNT, Type.ROCK, Type.DRAGON, [
+ [ Species.TYRUNT, PokemonType.ROCK, PokemonType.DRAGON, [
[ Biome.WASTELAND, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.TYRANTRUM, Type.ROCK, Type.DRAGON, [
+ [ Species.TYRANTRUM, PokemonType.ROCK, PokemonType.DRAGON, [
[ Biome.WASTELAND, BiomePoolTier.SUPER_RARE ],
[ Biome.WASTELAND, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.AMAURA, Type.ROCK, Type.ICE, [
+ [ Species.AMAURA, PokemonType.ROCK, PokemonType.ICE, [
[ Biome.ICE_CAVE, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.AURORUS, Type.ROCK, Type.ICE, [
+ [ Species.AURORUS, PokemonType.ROCK, PokemonType.ICE, [
[ Biome.ICE_CAVE, BiomePoolTier.SUPER_RARE ],
[ Biome.ICE_CAVE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.SYLVEON, Type.FAIRY, -1, [
+ [ Species.SYLVEON, PokemonType.FAIRY, -1, [
[ Biome.MEADOW, BiomePoolTier.SUPER_RARE ],
[ Biome.MEADOW, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.HAWLUCHA, Type.FIGHTING, Type.FLYING, [
+ [ Species.HAWLUCHA, PokemonType.FIGHTING, PokemonType.FLYING, [
[ Biome.MOUNTAIN, BiomePoolTier.RARE ],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.DEDENNE, Type.ELECTRIC, Type.FAIRY, [
+ [ Species.DEDENNE, PokemonType.ELECTRIC, PokemonType.FAIRY, [
[ Biome.POWER_PLANT, BiomePoolTier.COMMON ],
[ Biome.POWER_PLANT, BiomePoolTier.BOSS ]
]
],
- [ Species.CARBINK, Type.ROCK, Type.FAIRY, [
+ [ Species.CARBINK, PokemonType.ROCK, PokemonType.FAIRY, [
[ Biome.CAVE, BiomePoolTier.RARE ],
[ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ],
[ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.GOOMY, Type.DRAGON, -1, [
+ [ Species.GOOMY, PokemonType.DRAGON, -1, [
[ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SLIGGOO, Type.DRAGON, -1, [
+ [ Species.SLIGGOO, PokemonType.DRAGON, -1, [
[ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.GOODRA, Type.DRAGON, -1, [
+ [ Species.GOODRA, PokemonType.DRAGON, -1, [
[ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.WASTELAND, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.KLEFKI, Type.STEEL, Type.FAIRY, [
+ [ Species.KLEFKI, PokemonType.STEEL, PokemonType.FAIRY, [
[ Biome.FACTORY, BiomePoolTier.UNCOMMON ],
[ Biome.FACTORY, BiomePoolTier.BOSS ]
]
],
- [ Species.PHANTUMP, Type.GHOST, Type.GRASS, [
+ [ Species.PHANTUMP, PokemonType.GHOST, PokemonType.GRASS, [
[ Biome.GRAVEYARD, BiomePoolTier.COMMON ]
]
],
- [ Species.TREVENANT, Type.GHOST, Type.GRASS, [
+ [ Species.TREVENANT, PokemonType.GHOST, PokemonType.GRASS, [
[ Biome.GRAVEYARD, BiomePoolTier.BOSS ]
]
],
- [ Species.PUMPKABOO, Type.GHOST, Type.GRASS, [
+ [ Species.PUMPKABOO, PokemonType.GHOST, PokemonType.GRASS, [
[ Biome.GRAVEYARD, BiomePoolTier.COMMON ]
]
],
- [ Species.GOURGEIST, Type.GHOST, Type.GRASS, [
+ [ Species.GOURGEIST, PokemonType.GHOST, PokemonType.GRASS, [
[ Biome.GRAVEYARD, BiomePoolTier.BOSS ]
]
],
- [ Species.BERGMITE, Type.ICE, -1, [
+ [ Species.BERGMITE, PokemonType.ICE, -1, [
[ Biome.ICE_CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.AVALUGG, Type.ICE, -1, [
+ [ Species.AVALUGG, PokemonType.ICE, -1, [
[ Biome.ICE_CAVE, BiomePoolTier.COMMON ],
[ Biome.ICE_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.NOIBAT, Type.FLYING, Type.DRAGON, [
+ [ Species.NOIBAT, PokemonType.FLYING, PokemonType.DRAGON, [
[ Biome.CAVE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.NOIVERN, Type.FLYING, Type.DRAGON, [
+ [ Species.NOIVERN, PokemonType.FLYING, PokemonType.DRAGON, [
[ Biome.CAVE, BiomePoolTier.UNCOMMON ],
[ Biome.CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.XERNEAS, Type.FAIRY, -1, [
+ [ Species.XERNEAS, PokemonType.FAIRY, -1, [
[ Biome.FAIRY_CAVE, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.YVELTAL, Type.DARK, Type.FLYING, [
+ [ Species.YVELTAL, PokemonType.DARK, PokemonType.FLYING, [
[ Biome.ABYSS, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.ZYGARDE, Type.DRAGON, Type.GROUND, [
+ [ Species.ZYGARDE, PokemonType.DRAGON, PokemonType.GROUND, [
[ Biome.LABORATORY, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.DIANCIE, Type.ROCK, Type.FAIRY, [
+ [ Species.DIANCIE, PokemonType.ROCK, PokemonType.FAIRY, [
[ Biome.FAIRY_CAVE, BiomePoolTier.ULTRA_RARE ],
[ Biome.FAIRY_CAVE, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.HOOPA, Type.PSYCHIC, Type.GHOST, [
+ [ Species.HOOPA, PokemonType.PSYCHIC, PokemonType.GHOST, [
[ Biome.TEMPLE, BiomePoolTier.ULTRA_RARE ],
[ Biome.TEMPLE, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.VOLCANION, Type.FIRE, Type.WATER, [
+ [ Species.VOLCANION, PokemonType.FIRE, PokemonType.WATER, [
[ Biome.VOLCANO, BiomePoolTier.ULTRA_RARE ],
[ Biome.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.ROWLET, Type.GRASS, Type.FLYING, [
+ [ Species.ROWLET, PokemonType.GRASS, PokemonType.FLYING, [
[ Biome.FOREST, BiomePoolTier.RARE ]
]
],
- [ Species.DARTRIX, Type.GRASS, Type.FLYING, [
+ [ Species.DARTRIX, PokemonType.GRASS, PokemonType.FLYING, [
[ Biome.FOREST, BiomePoolTier.RARE ]
]
],
- [ Species.DECIDUEYE, Type.GRASS, Type.GHOST, [
+ [ Species.DECIDUEYE, PokemonType.GRASS, PokemonType.GHOST, [
[ Biome.FOREST, BiomePoolTier.RARE ],
[ Biome.FOREST, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.LITTEN, Type.FIRE, -1, [
+ [ Species.LITTEN, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.RARE ]
]
],
- [ Species.TORRACAT, Type.FIRE, -1, [
+ [ Species.TORRACAT, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.RARE ]
]
],
- [ Species.INCINEROAR, Type.FIRE, Type.DARK, [
+ [ Species.INCINEROAR, PokemonType.FIRE, PokemonType.DARK, [
[ Biome.VOLCANO, BiomePoolTier.RARE ],
[ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.POPPLIO, Type.WATER, -1, [
+ [ Species.POPPLIO, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.RARE ]
]
],
- [ Species.BRIONNE, Type.WATER, -1, [
+ [ Species.BRIONNE, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.RARE ]
]
],
- [ Species.PRIMARINA, Type.WATER, Type.FAIRY, [
+ [ Species.PRIMARINA, PokemonType.WATER, PokemonType.FAIRY, [
[ Biome.SEA, BiomePoolTier.RARE ],
[ Biome.SEA, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.PIKIPEK, Type.NORMAL, Type.FLYING, [
+ [ Species.PIKIPEK, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.JUNGLE, BiomePoolTier.COMMON ]
]
],
- [ Species.TRUMBEAK, Type.NORMAL, Type.FLYING, [
+ [ Species.TRUMBEAK, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.JUNGLE, BiomePoolTier.COMMON ]
]
],
- [ Species.TOUCANNON, Type.NORMAL, Type.FLYING, [
+ [ Species.TOUCANNON, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.JUNGLE, BiomePoolTier.COMMON ],
[ Biome.JUNGLE, BiomePoolTier.BOSS ]
]
],
- [ Species.YUNGOOS, Type.NORMAL, -1, [
+ [ Species.YUNGOOS, PokemonType.NORMAL, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.GUMSHOOS, Type.NORMAL, -1, [
+ [ Species.GUMSHOOS, PokemonType.NORMAL, -1, [
[ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.PLAINS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.GRUBBIN, Type.BUG, -1, [
+ [ Species.GRUBBIN, PokemonType.BUG, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.COMMON ]
]
],
- [ Species.CHARJABUG, Type.BUG, Type.ELECTRIC, [
+ [ Species.CHARJABUG, PokemonType.BUG, PokemonType.ELECTRIC, [
[ Biome.POWER_PLANT, BiomePoolTier.COMMON ]
]
],
- [ Species.VIKAVOLT, Type.BUG, Type.ELECTRIC, [
+ [ Species.VIKAVOLT, PokemonType.BUG, PokemonType.ELECTRIC, [
[ Biome.POWER_PLANT, BiomePoolTier.BOSS ]
]
],
- [ Species.CRABRAWLER, Type.FIGHTING, -1, [
+ [ Species.CRABRAWLER, PokemonType.FIGHTING, -1, [
[ Biome.ICE_CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.CRABOMINABLE, Type.FIGHTING, Type.ICE, [
+ [ Species.CRABOMINABLE, PokemonType.FIGHTING, PokemonType.ICE, [
[ Biome.ICE_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.ORICORIO, Type.FIRE, Type.FLYING, [
+ [ Species.ORICORIO, PokemonType.FIRE, PokemonType.FLYING, [
[ Biome.MEADOW, BiomePoolTier.UNCOMMON ],
[ Biome.ISLAND, BiomePoolTier.COMMON ],
[ Biome.ISLAND, BiomePoolTier.BOSS ]
]
],
- [ Species.CUTIEFLY, Type.BUG, Type.FAIRY, [
+ [ Species.CUTIEFLY, PokemonType.BUG, PokemonType.FAIRY, [
[ Biome.MEADOW, BiomePoolTier.COMMON ],
[ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.RIBOMBEE, Type.BUG, Type.FAIRY, [
+ [ Species.RIBOMBEE, PokemonType.BUG, PokemonType.FAIRY, [
[ Biome.MEADOW, BiomePoolTier.COMMON ],
[ Biome.MEADOW, BiomePoolTier.BOSS ],
[ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ],
[ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.ROCKRUFF, Type.ROCK, -1, [
+ [ Species.ROCKRUFF, PokemonType.ROCK, -1, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON, TimeOfDay.DAY ],
[ Biome.FOREST, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ],
[ Biome.CAVE, BiomePoolTier.UNCOMMON, TimeOfDay.DUSK ]
]
],
- [ Species.LYCANROC, Type.ROCK, -1, [
+ [ Species.LYCANROC, PokemonType.ROCK, -1, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON, TimeOfDay.DAY ],
[ Biome.PLAINS, BiomePoolTier.BOSS_RARE, TimeOfDay.DAY ],
[ Biome.FOREST, BiomePoolTier.UNCOMMON, TimeOfDay.NIGHT ],
@@ -5608,1529 +5609,1529 @@ export function initBiomes() {
[ Biome.CAVE, BiomePoolTier.BOSS_RARE, TimeOfDay.DUSK ]
]
],
- [ Species.WISHIWASHI, Type.WATER, -1, [
+ [ Species.WISHIWASHI, PokemonType.WATER, -1, [
[ Biome.LAKE, BiomePoolTier.UNCOMMON ],
[ Biome.LAKE, BiomePoolTier.BOSS ]
]
],
- [ Species.MAREANIE, Type.POISON, Type.WATER, [
+ [ Species.MAREANIE, PokemonType.POISON, PokemonType.WATER, [
[ Biome.BEACH, BiomePoolTier.COMMON ],
[ Biome.SWAMP, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.TOXAPEX, Type.POISON, Type.WATER, [
+ [ Species.TOXAPEX, PokemonType.POISON, PokemonType.WATER, [
[ Biome.BEACH, BiomePoolTier.COMMON ],
[ Biome.BEACH, BiomePoolTier.BOSS ],
[ Biome.SWAMP, BiomePoolTier.UNCOMMON ],
[ Biome.SWAMP, BiomePoolTier.BOSS ]
]
],
- [ Species.MUDBRAY, Type.GROUND, -1, [
+ [ Species.MUDBRAY, PokemonType.GROUND, -1, [
[ Biome.BADLANDS, BiomePoolTier.COMMON ]
]
],
- [ Species.MUDSDALE, Type.GROUND, -1, [
+ [ Species.MUDSDALE, PokemonType.GROUND, -1, [
[ Biome.BADLANDS, BiomePoolTier.COMMON ],
[ Biome.BADLANDS, BiomePoolTier.BOSS ]
]
],
- [ Species.DEWPIDER, Type.WATER, Type.BUG, [
+ [ Species.DEWPIDER, PokemonType.WATER, PokemonType.BUG, [
[ Biome.LAKE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.ARAQUANID, Type.WATER, Type.BUG, [
+ [ Species.ARAQUANID, PokemonType.WATER, PokemonType.BUG, [
[ Biome.LAKE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.LAKE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.FOMANTIS, Type.GRASS, -1, [
+ [ Species.FOMANTIS, PokemonType.GRASS, -1, [
[ Biome.TALL_GRASS, BiomePoolTier.COMMON ],
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.LURANTIS, Type.GRASS, -1, [
+ [ Species.LURANTIS, PokemonType.GRASS, -1, [
[ Biome.TALL_GRASS, BiomePoolTier.COMMON ],
[ Biome.TALL_GRASS, BiomePoolTier.BOSS ],
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON ],
[ Biome.JUNGLE, BiomePoolTier.BOSS ]
]
],
- [ Species.MORELULL, Type.GRASS, Type.FAIRY, [
+ [ Species.MORELULL, PokemonType.GRASS, PokemonType.FAIRY, [
[ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.SHIINOTIC, Type.GRASS, Type.FAIRY, [
+ [ Species.SHIINOTIC, PokemonType.GRASS, PokemonType.FAIRY, [
[ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ],
[ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.SALANDIT, Type.POISON, Type.FIRE, [
+ [ Species.SALANDIT, PokemonType.POISON, PokemonType.FIRE, [
[ Biome.VOLCANO, BiomePoolTier.COMMON ]
]
],
- [ Species.SALAZZLE, Type.POISON, Type.FIRE, [
+ [ Species.SALAZZLE, PokemonType.POISON, PokemonType.FIRE, [
[ Biome.VOLCANO, BiomePoolTier.COMMON ],
[ Biome.VOLCANO, BiomePoolTier.BOSS ]
]
],
- [ Species.STUFFUL, Type.NORMAL, Type.FIGHTING, [
+ [ Species.STUFFUL, PokemonType.NORMAL, PokemonType.FIGHTING, [
[ Biome.DOJO, BiomePoolTier.COMMON ]
]
],
- [ Species.BEWEAR, Type.NORMAL, Type.FIGHTING, [
+ [ Species.BEWEAR, PokemonType.NORMAL, PokemonType.FIGHTING, [
[ Biome.DOJO, BiomePoolTier.COMMON ],
[ Biome.DOJO, BiomePoolTier.BOSS ]
]
],
- [ Species.BOUNSWEET, Type.GRASS, -1, [
+ [ Species.BOUNSWEET, PokemonType.GRASS, -1, [
[ Biome.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.STEENEE, Type.GRASS, -1, [
+ [ Species.STEENEE, PokemonType.GRASS, -1, [
[ Biome.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.TSAREENA, Type.GRASS, -1, [
+ [ Species.TSAREENA, PokemonType.GRASS, -1, [
[ Biome.TALL_GRASS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.TALL_GRASS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.COMFEY, Type.FAIRY, -1, [
+ [ Species.COMFEY, PokemonType.FAIRY, -1, [
[ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ],
[ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.ORANGURU, Type.NORMAL, Type.PSYCHIC, [
+ [ Species.ORANGURU, PokemonType.NORMAL, PokemonType.PSYCHIC, [
[ Biome.JUNGLE, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.PASSIMIAN, Type.FIGHTING, -1, [
+ [ Species.PASSIMIAN, PokemonType.FIGHTING, -1, [
[ Biome.JUNGLE, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.WIMPOD, Type.BUG, Type.WATER, [
+ [ Species.WIMPOD, PokemonType.BUG, PokemonType.WATER, [
[ Biome.CAVE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.GOLISOPOD, Type.BUG, Type.WATER, [
+ [ Species.GOLISOPOD, PokemonType.BUG, PokemonType.WATER, [
[ Biome.CAVE, BiomePoolTier.UNCOMMON ],
[ Biome.CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.SANDYGAST, Type.GHOST, Type.GROUND, [
+ [ Species.SANDYGAST, PokemonType.GHOST, PokemonType.GROUND, [
[ Biome.BEACH, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.PALOSSAND, Type.GHOST, Type.GROUND, [
+ [ Species.PALOSSAND, PokemonType.GHOST, PokemonType.GROUND, [
[ Biome.BEACH, BiomePoolTier.UNCOMMON ],
[ Biome.BEACH, BiomePoolTier.BOSS ]
]
],
- [ Species.PYUKUMUKU, Type.WATER, -1, [
+ [ Species.PYUKUMUKU, PokemonType.WATER, -1, [
[ Biome.SEABED, BiomePoolTier.SUPER_RARE ],
[ Biome.SEABED, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.TYPE_NULL, Type.NORMAL, -1, [
+ [ Species.TYPE_NULL, PokemonType.NORMAL, -1, [
[ Biome.LABORATORY, BiomePoolTier.ULTRA_RARE ]
]
],
- [ Species.SILVALLY, Type.NORMAL, -1, [
+ [ Species.SILVALLY, PokemonType.NORMAL, -1, [
[ Biome.LABORATORY, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.MINIOR, Type.ROCK, Type.FLYING, [
+ [ Species.MINIOR, PokemonType.ROCK, PokemonType.FLYING, [
[ Biome.SPACE, BiomePoolTier.COMMON ],
[ Biome.SPACE, BiomePoolTier.BOSS ]
]
],
- [ Species.KOMALA, Type.NORMAL, -1, [
+ [ Species.KOMALA, PokemonType.NORMAL, -1, [
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.JUNGLE, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.TURTONATOR, Type.FIRE, Type.DRAGON, [
+ [ Species.TURTONATOR, PokemonType.FIRE, PokemonType.DRAGON, [
[ Biome.VOLCANO, BiomePoolTier.UNCOMMON ],
[ Biome.VOLCANO, BiomePoolTier.BOSS ]
]
],
- [ Species.TOGEDEMARU, Type.ELECTRIC, Type.STEEL, [
+ [ Species.TOGEDEMARU, PokemonType.ELECTRIC, PokemonType.STEEL, [
[ Biome.POWER_PLANT, BiomePoolTier.UNCOMMON ],
[ Biome.POWER_PLANT, BiomePoolTier.BOSS ]
]
],
- [ Species.MIMIKYU, Type.GHOST, Type.FAIRY, [
+ [ Species.MIMIKYU, PokemonType.GHOST, PokemonType.FAIRY, [
[ Biome.GRAVEYARD, BiomePoolTier.RARE ],
[ Biome.GRAVEYARD, BiomePoolTier.BOSS ]
]
],
- [ Species.BRUXISH, Type.WATER, Type.PSYCHIC, [
+ [ Species.BRUXISH, PokemonType.WATER, PokemonType.PSYCHIC, [
[ Biome.ISLAND, BiomePoolTier.UNCOMMON ],
[ Biome.ISLAND, BiomePoolTier.BOSS ]
]
],
- [ Species.DRAMPA, Type.NORMAL, Type.DRAGON, [
+ [ Species.DRAMPA, PokemonType.NORMAL, PokemonType.DRAGON, [
[ Biome.WASTELAND, BiomePoolTier.UNCOMMON ],
[ Biome.WASTELAND, BiomePoolTier.BOSS ]
]
],
- [ Species.DHELMISE, Type.GHOST, Type.GRASS, [
+ [ Species.DHELMISE, PokemonType.GHOST, PokemonType.GRASS, [
[ Biome.SEABED, BiomePoolTier.RARE ],
[ Biome.SEABED, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.JANGMO_O, Type.DRAGON, -1, [
+ [ Species.JANGMO_O, PokemonType.DRAGON, -1, [
[ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.HAKAMO_O, Type.DRAGON, Type.FIGHTING, [
+ [ Species.HAKAMO_O, PokemonType.DRAGON, PokemonType.FIGHTING, [
[ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.KOMMO_O, Type.DRAGON, Type.FIGHTING, [
+ [ Species.KOMMO_O, PokemonType.DRAGON, PokemonType.FIGHTING, [
[ Biome.WASTELAND, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.WASTELAND, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.TAPU_KOKO, Type.ELECTRIC, Type.FAIRY, [
+ [ Species.TAPU_KOKO, PokemonType.ELECTRIC, PokemonType.FAIRY, [
[ Biome.TEMPLE, BiomePoolTier.ULTRA_RARE ],
[ Biome.TEMPLE, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.TAPU_LELE, Type.PSYCHIC, Type.FAIRY, [
+ [ Species.TAPU_LELE, PokemonType.PSYCHIC, PokemonType.FAIRY, [
[ Biome.JUNGLE, BiomePoolTier.ULTRA_RARE ],
[ Biome.JUNGLE, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.TAPU_BULU, Type.GRASS, Type.FAIRY, [
+ [ Species.TAPU_BULU, PokemonType.GRASS, PokemonType.FAIRY, [
[ Biome.DESERT, BiomePoolTier.ULTRA_RARE ],
[ Biome.DESERT, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.TAPU_FINI, Type.WATER, Type.FAIRY, [
+ [ Species.TAPU_FINI, PokemonType.WATER, PokemonType.FAIRY, [
[ Biome.BEACH, BiomePoolTier.ULTRA_RARE ],
[ Biome.BEACH, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.COSMOG, Type.PSYCHIC, -1, [
+ [ Species.COSMOG, PokemonType.PSYCHIC, -1, [
[ Biome.SPACE, BiomePoolTier.ULTRA_RARE ]
]
],
- [ Species.COSMOEM, Type.PSYCHIC, -1, [
+ [ Species.COSMOEM, PokemonType.PSYCHIC, -1, [
[ Biome.SPACE, BiomePoolTier.ULTRA_RARE ]
]
],
- [ Species.SOLGALEO, Type.PSYCHIC, Type.STEEL, [
+ [ Species.SOLGALEO, PokemonType.PSYCHIC, PokemonType.STEEL, [
[ Biome.SPACE, BiomePoolTier.BOSS_ULTRA_RARE, TimeOfDay.DAY ]
]
],
- [ Species.LUNALA, Type.PSYCHIC, Type.GHOST, [
+ [ Species.LUNALA, PokemonType.PSYCHIC, PokemonType.GHOST, [
[ Biome.SPACE, BiomePoolTier.BOSS_ULTRA_RARE, TimeOfDay.NIGHT ]
]
],
- [ Species.NIHILEGO, Type.ROCK, Type.POISON, [
+ [ Species.NIHILEGO, PokemonType.ROCK, PokemonType.POISON, [
[ Biome.SEABED, BiomePoolTier.ULTRA_RARE ],
[ Biome.SEABED, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.BUZZWOLE, Type.BUG, Type.FIGHTING, [
+ [ Species.BUZZWOLE, PokemonType.BUG, PokemonType.FIGHTING, [
[ Biome.JUNGLE, BiomePoolTier.ULTRA_RARE ],
[ Biome.JUNGLE, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.PHEROMOSA, Type.BUG, Type.FIGHTING, [
+ [ Species.PHEROMOSA, PokemonType.BUG, PokemonType.FIGHTING, [
[ Biome.DESERT, BiomePoolTier.ULTRA_RARE ],
[ Biome.DESERT, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.XURKITREE, Type.ELECTRIC, -1, [
+ [ Species.XURKITREE, PokemonType.ELECTRIC, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.ULTRA_RARE ],
[ Biome.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.CELESTEELA, Type.STEEL, Type.FLYING, [
+ [ Species.CELESTEELA, PokemonType.STEEL, PokemonType.FLYING, [
[ Biome.SPACE, BiomePoolTier.ULTRA_RARE ],
[ Biome.SPACE, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.KARTANA, Type.GRASS, Type.STEEL, [
+ [ Species.KARTANA, PokemonType.GRASS, PokemonType.STEEL, [
[ Biome.FOREST, BiomePoolTier.ULTRA_RARE ],
[ Biome.FOREST, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.GUZZLORD, Type.DARK, Type.DRAGON, [
+ [ Species.GUZZLORD, PokemonType.DARK, PokemonType.DRAGON, [
[ Biome.SLUM, BiomePoolTier.ULTRA_RARE ],
[ Biome.SLUM, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.NECROZMA, Type.PSYCHIC, -1, [
+ [ Species.NECROZMA, PokemonType.PSYCHIC, -1, [
[ Biome.SPACE, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.MAGEARNA, Type.STEEL, Type.FAIRY, [
+ [ Species.MAGEARNA, PokemonType.STEEL, PokemonType.FAIRY, [
[ Biome.FACTORY, BiomePoolTier.ULTRA_RARE ],
[ Biome.FACTORY, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.MARSHADOW, Type.FIGHTING, Type.GHOST, [
+ [ Species.MARSHADOW, PokemonType.FIGHTING, PokemonType.GHOST, [
[ Biome.GRAVEYARD, BiomePoolTier.ULTRA_RARE ],
[ Biome.GRAVEYARD, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.POIPOLE, Type.POISON, -1, [
+ [ Species.POIPOLE, PokemonType.POISON, -1, [
[ Biome.SWAMP, BiomePoolTier.ULTRA_RARE ]
]
],
- [ Species.NAGANADEL, Type.POISON, Type.DRAGON, [
+ [ Species.NAGANADEL, PokemonType.POISON, PokemonType.DRAGON, [
[ Biome.SWAMP, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.STAKATAKA, Type.ROCK, Type.STEEL, [
+ [ Species.STAKATAKA, PokemonType.ROCK, PokemonType.STEEL, [
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.ULTRA_RARE ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.BLACEPHALON, Type.FIRE, Type.GHOST, [
+ [ Species.BLACEPHALON, PokemonType.FIRE, PokemonType.GHOST, [
[ Biome.ISLAND, BiomePoolTier.ULTRA_RARE ],
[ Biome.ISLAND, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.ZERAORA, Type.ELECTRIC, -1, [
+ [ Species.ZERAORA, PokemonType.ELECTRIC, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.ULTRA_RARE ],
[ Biome.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.MELTAN, Type.STEEL, -1, [ ]
+ [ Species.MELTAN, PokemonType.STEEL, -1, [ ]
],
- [ Species.MELMETAL, Type.STEEL, -1, [ ]
+ [ Species.MELMETAL, PokemonType.STEEL, -1, [ ]
],
- [ Species.GROOKEY, Type.GRASS, -1, [
+ [ Species.GROOKEY, PokemonType.GRASS, -1, [
[ Biome.JUNGLE, BiomePoolTier.RARE ]
]
],
- [ Species.THWACKEY, Type.GRASS, -1, [
+ [ Species.THWACKEY, PokemonType.GRASS, -1, [
[ Biome.JUNGLE, BiomePoolTier.RARE ]
]
],
- [ Species.RILLABOOM, Type.GRASS, -1, [
+ [ Species.RILLABOOM, PokemonType.GRASS, -1, [
[ Biome.JUNGLE, BiomePoolTier.RARE ],
[ Biome.JUNGLE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.SCORBUNNY, Type.FIRE, -1, [
+ [ Species.SCORBUNNY, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.RARE ]
]
],
- [ Species.RABOOT, Type.FIRE, -1, [
+ [ Species.RABOOT, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.RARE ]
]
],
- [ Species.CINDERACE, Type.FIRE, -1, [
+ [ Species.CINDERACE, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.RARE ],
[ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.SOBBLE, Type.WATER, -1, [
+ [ Species.SOBBLE, PokemonType.WATER, -1, [
[ Biome.LAKE, BiomePoolTier.RARE ]
]
],
- [ Species.DRIZZILE, Type.WATER, -1, [
+ [ Species.DRIZZILE, PokemonType.WATER, -1, [
[ Biome.LAKE, BiomePoolTier.RARE ]
]
],
- [ Species.INTELEON, Type.WATER, -1, [
+ [ Species.INTELEON, PokemonType.WATER, -1, [
[ Biome.LAKE, BiomePoolTier.RARE ],
[ Biome.LAKE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.SKWOVET, Type.NORMAL, -1, [
+ [ Species.SKWOVET, PokemonType.NORMAL, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.GREEDENT, Type.NORMAL, -1, [
+ [ Species.GREEDENT, PokemonType.NORMAL, -1, [
[ Biome.PLAINS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.PLAINS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.ROOKIDEE, Type.FLYING, -1, [
+ [ Species.ROOKIDEE, PokemonType.FLYING, -1, [
[ Biome.TOWN, BiomePoolTier.RARE ],
[ Biome.PLAINS, BiomePoolTier.RARE ],
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.CORVISQUIRE, Type.FLYING, -1, [
+ [ Species.CORVISQUIRE, PokemonType.FLYING, -1, [
[ Biome.PLAINS, BiomePoolTier.RARE ],
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.CORVIKNIGHT, Type.FLYING, Type.STEEL, [
+ [ Species.CORVIKNIGHT, PokemonType.FLYING, PokemonType.STEEL, [
[ Biome.PLAINS, BiomePoolTier.RARE ],
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.BLIPBUG, Type.BUG, -1, [
+ [ Species.BLIPBUG, PokemonType.BUG, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.DOTTLER, Type.BUG, Type.PSYCHIC, [
+ [ Species.DOTTLER, PokemonType.BUG, PokemonType.PSYCHIC, [
[ Biome.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.ORBEETLE, Type.BUG, Type.PSYCHIC, [
+ [ Species.ORBEETLE, PokemonType.BUG, PokemonType.PSYCHIC, [
[ Biome.FOREST, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.NICKIT, Type.DARK, -1, [
+ [ Species.NICKIT, PokemonType.DARK, -1, [
[ Biome.ABYSS, BiomePoolTier.COMMON ]
]
],
- [ Species.THIEVUL, Type.DARK, -1, [
+ [ Species.THIEVUL, PokemonType.DARK, -1, [
[ Biome.ABYSS, BiomePoolTier.COMMON ],
[ Biome.ABYSS, BiomePoolTier.BOSS ]
]
],
- [ Species.GOSSIFLEUR, Type.GRASS, -1, [
+ [ Species.GOSSIFLEUR, PokemonType.GRASS, -1, [
[ Biome.MEADOW, BiomePoolTier.COMMON ]
]
],
- [ Species.ELDEGOSS, Type.GRASS, -1, [
+ [ Species.ELDEGOSS, PokemonType.GRASS, -1, [
[ Biome.MEADOW, BiomePoolTier.COMMON ]
]
],
- [ Species.WOOLOO, Type.NORMAL, -1, [
+ [ Species.WOOLOO, PokemonType.NORMAL, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON ],
[ Biome.MEADOW, BiomePoolTier.COMMON ]
]
],
- [ Species.DUBWOOL, Type.NORMAL, -1, [
+ [ Species.DUBWOOL, PokemonType.NORMAL, -1, [
[ Biome.MEADOW, BiomePoolTier.COMMON ],
[ Biome.MEADOW, BiomePoolTier.BOSS ]
]
],
- [ Species.CHEWTLE, Type.WATER, -1, [
+ [ Species.CHEWTLE, PokemonType.WATER, -1, [
[ Biome.LAKE, BiomePoolTier.COMMON ]
]
],
- [ Species.DREDNAW, Type.WATER, Type.ROCK, [
+ [ Species.DREDNAW, PokemonType.WATER, PokemonType.ROCK, [
[ Biome.LAKE, BiomePoolTier.COMMON ],
[ Biome.LAKE, BiomePoolTier.BOSS ]
]
],
- [ Species.YAMPER, Type.ELECTRIC, -1, [
+ [ Species.YAMPER, PokemonType.ELECTRIC, -1, [
[ Biome.METROPOLIS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.BOLTUND, Type.ELECTRIC, -1, [
+ [ Species.BOLTUND, PokemonType.ELECTRIC, -1, [
[ Biome.METROPOLIS, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.METROPOLIS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.ROLYCOLY, Type.ROCK, -1, [
+ [ Species.ROLYCOLY, PokemonType.ROCK, -1, [
[ Biome.VOLCANO, BiomePoolTier.COMMON ]
]
],
- [ Species.CARKOL, Type.ROCK, Type.FIRE, [
+ [ Species.CARKOL, PokemonType.ROCK, PokemonType.FIRE, [
[ Biome.VOLCANO, BiomePoolTier.COMMON ]
]
],
- [ Species.COALOSSAL, Type.ROCK, Type.FIRE, [
+ [ Species.COALOSSAL, PokemonType.ROCK, PokemonType.FIRE, [
[ Biome.VOLCANO, BiomePoolTier.COMMON ],
[ Biome.VOLCANO, BiomePoolTier.BOSS ]
]
],
- [ Species.APPLIN, Type.GRASS, Type.DRAGON, [
+ [ Species.APPLIN, PokemonType.GRASS, PokemonType.DRAGON, [
[ Biome.MEADOW, BiomePoolTier.RARE ]
]
],
- [ Species.FLAPPLE, Type.GRASS, Type.DRAGON, [
+ [ Species.FLAPPLE, PokemonType.GRASS, PokemonType.DRAGON, [
[ Biome.MEADOW, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.APPLETUN, Type.GRASS, Type.DRAGON, [
+ [ Species.APPLETUN, PokemonType.GRASS, PokemonType.DRAGON, [
[ Biome.MEADOW, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.SILICOBRA, Type.GROUND, -1, [
+ [ Species.SILICOBRA, PokemonType.GROUND, -1, [
[ Biome.DESERT, BiomePoolTier.COMMON ]
]
],
- [ Species.SANDACONDA, Type.GROUND, -1, [
+ [ Species.SANDACONDA, PokemonType.GROUND, -1, [
[ Biome.DESERT, BiomePoolTier.COMMON ],
[ Biome.DESERT, BiomePoolTier.BOSS ]
]
],
- [ Species.CRAMORANT, Type.FLYING, Type.WATER, [
+ [ Species.CRAMORANT, PokemonType.FLYING, PokemonType.WATER, [
[ Biome.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.SEA, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.ARROKUDA, Type.WATER, -1, [
+ [ Species.ARROKUDA, PokemonType.WATER, -1, [
[ Biome.SEABED, BiomePoolTier.COMMON ]
]
],
- [ Species.BARRASKEWDA, Type.WATER, -1, [
+ [ Species.BARRASKEWDA, PokemonType.WATER, -1, [
[ Biome.SEABED, BiomePoolTier.COMMON ],
[ Biome.SEABED, BiomePoolTier.BOSS ]
]
],
- [ Species.TOXEL, Type.ELECTRIC, Type.POISON, [ ]
+ [ Species.TOXEL, PokemonType.ELECTRIC, PokemonType.POISON, [ ]
],
- [ Species.TOXTRICITY, Type.ELECTRIC, Type.POISON, [
+ [ Species.TOXTRICITY, PokemonType.ELECTRIC, PokemonType.POISON, [
[ Biome.SLUM, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.SLUM, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.SIZZLIPEDE, Type.FIRE, Type.BUG, [
+ [ Species.SIZZLIPEDE, PokemonType.FIRE, PokemonType.BUG, [
[ Biome.BADLANDS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.CENTISKORCH, Type.FIRE, Type.BUG, [
+ [ Species.CENTISKORCH, PokemonType.FIRE, PokemonType.BUG, [
[ Biome.BADLANDS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.BADLANDS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.CLOBBOPUS, Type.FIGHTING, -1, [
+ [ Species.CLOBBOPUS, PokemonType.FIGHTING, -1, [
[ Biome.DOJO, BiomePoolTier.COMMON ]
]
],
- [ Species.GRAPPLOCT, Type.FIGHTING, -1, [
+ [ Species.GRAPPLOCT, PokemonType.FIGHTING, -1, [
[ Biome.DOJO, BiomePoolTier.COMMON ],
[ Biome.DOJO, BiomePoolTier.BOSS ]
]
],
- [ Species.SINISTEA, Type.GHOST, -1, [
+ [ Species.SINISTEA, PokemonType.GHOST, -1, [
[ Biome.GRAVEYARD, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.POLTEAGEIST, Type.GHOST, -1, [
+ [ Species.POLTEAGEIST, PokemonType.GHOST, -1, [
[ Biome.GRAVEYARD, BiomePoolTier.UNCOMMON ],
[ Biome.GRAVEYARD, BiomePoolTier.BOSS ]
]
],
- [ Species.HATENNA, Type.PSYCHIC, -1, [
+ [ Species.HATENNA, PokemonType.PSYCHIC, -1, [
[ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.HATTREM, Type.PSYCHIC, -1, [
+ [ Species.HATTREM, PokemonType.PSYCHIC, -1, [
[ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.HATTERENE, Type.PSYCHIC, Type.FAIRY, [
+ [ Species.HATTERENE, PokemonType.PSYCHIC, PokemonType.FAIRY, [
[ Biome.FAIRY_CAVE, BiomePoolTier.UNCOMMON ],
[ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.IMPIDIMP, Type.DARK, Type.FAIRY, [
+ [ Species.IMPIDIMP, PokemonType.DARK, PokemonType.FAIRY, [
[ Biome.ABYSS, BiomePoolTier.COMMON ]
]
],
- [ Species.MORGREM, Type.DARK, Type.FAIRY, [
+ [ Species.MORGREM, PokemonType.DARK, PokemonType.FAIRY, [
[ Biome.ABYSS, BiomePoolTier.COMMON ]
]
],
- [ Species.GRIMMSNARL, Type.DARK, Type.FAIRY, [
+ [ Species.GRIMMSNARL, PokemonType.DARK, PokemonType.FAIRY, [
[ Biome.ABYSS, BiomePoolTier.COMMON ],
[ Biome.ABYSS, BiomePoolTier.BOSS ]
]
],
- [ Species.OBSTAGOON, Type.DARK, Type.NORMAL, [
+ [ Species.OBSTAGOON, PokemonType.DARK, PokemonType.NORMAL, [
[ Biome.SLUM, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.SLUM, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.PERRSERKER, Type.STEEL, -1, [
+ [ Species.PERRSERKER, PokemonType.STEEL, -1, [
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.RARE, TimeOfDay.DUSK ],
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.BOSS_RARE, TimeOfDay.DUSK ]
]
],
- [ Species.CURSOLA, Type.GHOST, -1, [
+ [ Species.CURSOLA, PokemonType.GHOST, -1, [
[ Biome.SEABED, BiomePoolTier.SUPER_RARE ],
[ Biome.SEABED, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.SIRFETCHD, Type.FIGHTING, -1, [
+ [ Species.SIRFETCHD, PokemonType.FIGHTING, -1, [
[ Biome.DOJO, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.MR_RIME, Type.ICE, Type.PSYCHIC, [
+ [ Species.MR_RIME, PokemonType.ICE, PokemonType.PSYCHIC, [
[ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE ],
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.RUNERIGUS, Type.GROUND, Type.GHOST, [
+ [ Species.RUNERIGUS, PokemonType.GROUND, PokemonType.GHOST, [
[ Biome.RUINS, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.RUINS, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.MILCERY, Type.FAIRY, -1, [
+ [ Species.MILCERY, PokemonType.FAIRY, -1, [
[ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.ALCREMIE, Type.FAIRY, -1, [
+ [ Species.ALCREMIE, PokemonType.FAIRY, -1, [
[ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ],
[ Biome.FAIRY_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.FALINKS, Type.FIGHTING, -1, [
+ [ Species.FALINKS, PokemonType.FIGHTING, -1, [
[ Biome.JUNGLE, BiomePoolTier.UNCOMMON ],
[ Biome.JUNGLE, BiomePoolTier.BOSS ]
]
],
- [ Species.PINCURCHIN, Type.ELECTRIC, -1, [
+ [ Species.PINCURCHIN, PokemonType.ELECTRIC, -1, [
[ Biome.SEABED, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.SNOM, Type.ICE, Type.BUG, [
+ [ Species.SNOM, PokemonType.ICE, PokemonType.BUG, [
[ Biome.ICE_CAVE, BiomePoolTier.COMMON ],
[ Biome.SNOWY_FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.FROSMOTH, Type.ICE, Type.BUG, [
+ [ Species.FROSMOTH, PokemonType.ICE, PokemonType.BUG, [
[ Biome.ICE_CAVE, BiomePoolTier.COMMON ],
[ Biome.SNOWY_FOREST, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.STONJOURNER, Type.ROCK, -1, [
+ [ Species.STONJOURNER, PokemonType.ROCK, -1, [
[ Biome.RUINS, BiomePoolTier.RARE ]
]
],
- [ Species.EISCUE, Type.ICE, -1, [
+ [ Species.EISCUE, PokemonType.ICE, -1, [
[ Biome.ICE_CAVE, BiomePoolTier.UNCOMMON ],
[ Biome.SNOWY_FOREST, BiomePoolTier.COMMON ]
]
],
- [ Species.INDEEDEE, Type.PSYCHIC, Type.NORMAL, [
+ [ Species.INDEEDEE, PokemonType.PSYCHIC, PokemonType.NORMAL, [
[ Biome.METROPOLIS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.MORPEKO, Type.ELECTRIC, Type.DARK, [
+ [ Species.MORPEKO, PokemonType.ELECTRIC, PokemonType.DARK, [
[ Biome.METROPOLIS, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.CUFANT, Type.STEEL, -1, [
+ [ Species.CUFANT, PokemonType.STEEL, -1, [
[ Biome.BADLANDS, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.COPPERAJAH, Type.STEEL, -1, [
+ [ Species.COPPERAJAH, PokemonType.STEEL, -1, [
[ Biome.BADLANDS, BiomePoolTier.UNCOMMON ],
[ Biome.BADLANDS, BiomePoolTier.BOSS ]
]
],
- [ Species.DRACOZOLT, Type.ELECTRIC, Type.DRAGON, [
+ [ Species.DRACOZOLT, PokemonType.ELECTRIC, PokemonType.DRAGON, [
[ Biome.WASTELAND, BiomePoolTier.SUPER_RARE ],
[ Biome.WASTELAND, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.ARCTOZOLT, Type.ELECTRIC, Type.ICE, [
+ [ Species.ARCTOZOLT, PokemonType.ELECTRIC, PokemonType.ICE, [
[ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE ],
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.DRACOVISH, Type.WATER, Type.DRAGON, [
+ [ Species.DRACOVISH, PokemonType.WATER, PokemonType.DRAGON, [
[ Biome.WASTELAND, BiomePoolTier.SUPER_RARE ],
[ Biome.WASTELAND, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.ARCTOVISH, Type.WATER, Type.ICE, [
+ [ Species.ARCTOVISH, PokemonType.WATER, PokemonType.ICE, [
[ Biome.SEABED, BiomePoolTier.SUPER_RARE ],
[ Biome.SEABED, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.DURALUDON, Type.STEEL, Type.DRAGON, [
+ [ Species.DURALUDON, PokemonType.STEEL, PokemonType.DRAGON, [
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.RARE ]
]
],
- [ Species.DREEPY, Type.DRAGON, Type.GHOST, [
+ [ Species.DREEPY, PokemonType.DRAGON, PokemonType.GHOST, [
[ Biome.WASTELAND, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.DRAKLOAK, Type.DRAGON, Type.GHOST, [
+ [ Species.DRAKLOAK, PokemonType.DRAGON, PokemonType.GHOST, [
[ Biome.WASTELAND, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.DRAGAPULT, Type.DRAGON, Type.GHOST, [
+ [ Species.DRAGAPULT, PokemonType.DRAGON, PokemonType.GHOST, [
[ Biome.WASTELAND, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.WASTELAND, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.ZACIAN, Type.FAIRY, -1, [
+ [ Species.ZACIAN, PokemonType.FAIRY, -1, [
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.ZAMAZENTA, Type.FIGHTING, -1, [
+ [ Species.ZAMAZENTA, PokemonType.FIGHTING, -1, [
[ Biome.DOJO, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.ETERNATUS, Type.POISON, Type.DRAGON, [
+ [ Species.ETERNATUS, PokemonType.POISON, PokemonType.DRAGON, [
[ Biome.END, BiomePoolTier.BOSS ]
]
],
- [ Species.KUBFU, Type.FIGHTING, -1, [
+ [ Species.KUBFU, PokemonType.FIGHTING, -1, [
[ Biome.DOJO, BiomePoolTier.ULTRA_RARE ]
]
],
- [ Species.URSHIFU, Type.FIGHTING, Type.DARK, [
+ [ Species.URSHIFU, PokemonType.FIGHTING, PokemonType.DARK, [
[ Biome.DOJO, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.ZARUDE, Type.DARK, Type.GRASS, [
+ [ Species.ZARUDE, PokemonType.DARK, PokemonType.GRASS, [
[ Biome.JUNGLE, BiomePoolTier.ULTRA_RARE ],
[ Biome.JUNGLE, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.REGIELEKI, Type.ELECTRIC, -1, [
+ [ Species.REGIELEKI, PokemonType.ELECTRIC, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.ULTRA_RARE ],
[ Biome.POWER_PLANT, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.REGIDRAGO, Type.DRAGON, -1, [
+ [ Species.REGIDRAGO, PokemonType.DRAGON, -1, [
[ Biome.WASTELAND, BiomePoolTier.ULTRA_RARE ],
[ Biome.WASTELAND, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.GLASTRIER, Type.ICE, -1, [
+ [ Species.GLASTRIER, PokemonType.ICE, -1, [
[ Biome.SNOWY_FOREST, BiomePoolTier.ULTRA_RARE ],
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.SPECTRIER, Type.GHOST, -1, [
+ [ Species.SPECTRIER, PokemonType.GHOST, -1, [
[ Biome.GRAVEYARD, BiomePoolTier.ULTRA_RARE ],
[ Biome.GRAVEYARD, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.CALYREX, Type.PSYCHIC, Type.GRASS, [
+ [ Species.CALYREX, PokemonType.PSYCHIC, PokemonType.GRASS, [
[ Biome.FOREST, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.WYRDEER, Type.NORMAL, Type.PSYCHIC, [
+ [ Species.WYRDEER, PokemonType.NORMAL, PokemonType.PSYCHIC, [
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.KLEAVOR, Type.BUG, Type.ROCK, [
+ [ Species.KLEAVOR, PokemonType.BUG, PokemonType.ROCK, [
[ Biome.JUNGLE, BiomePoolTier.SUPER_RARE ],
[ Biome.JUNGLE, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.URSALUNA, Type.GROUND, Type.NORMAL, [
+ [ Species.URSALUNA, PokemonType.GROUND, PokemonType.NORMAL, [
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS ]
]
],
- [ Species.BASCULEGION, Type.WATER, Type.GHOST, [
+ [ Species.BASCULEGION, PokemonType.WATER, PokemonType.GHOST, [
[ Biome.SEABED, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.SNEASLER, Type.FIGHTING, Type.POISON, [
+ [ Species.SNEASLER, PokemonType.FIGHTING, PokemonType.POISON, [
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.OVERQWIL, Type.DARK, Type.POISON, [
+ [ Species.OVERQWIL, PokemonType.DARK, PokemonType.POISON, [
[ Biome.SEABED, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.ENAMORUS, Type.FAIRY, Type.FLYING, [
+ [ Species.ENAMORUS, PokemonType.FAIRY, PokemonType.FLYING, [
[ Biome.FAIRY_CAVE, BiomePoolTier.ULTRA_RARE ],
[ Biome.FAIRY_CAVE, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.SPRIGATITO, Type.GRASS, -1, [
+ [ Species.SPRIGATITO, PokemonType.GRASS, -1, [
[ Biome.MEADOW, BiomePoolTier.RARE ]
]
],
- [ Species.FLORAGATO, Type.GRASS, -1, [
+ [ Species.FLORAGATO, PokemonType.GRASS, -1, [
[ Biome.MEADOW, BiomePoolTier.RARE ]
]
],
- [ Species.MEOWSCARADA, Type.GRASS, Type.DARK, [
+ [ Species.MEOWSCARADA, PokemonType.GRASS, PokemonType.DARK, [
[ Biome.MEADOW, BiomePoolTier.RARE ],
[ Biome.MEADOW, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.FUECOCO, Type.FIRE, -1, [
+ [ Species.FUECOCO, PokemonType.FIRE, -1, [
[ Biome.GRAVEYARD, BiomePoolTier.RARE ]
]
],
- [ Species.CROCALOR, Type.FIRE, -1, [
+ [ Species.CROCALOR, PokemonType.FIRE, -1, [
[ Biome.GRAVEYARD, BiomePoolTier.RARE ]
]
],
- [ Species.SKELEDIRGE, Type.FIRE, Type.GHOST, [
+ [ Species.SKELEDIRGE, PokemonType.FIRE, PokemonType.GHOST, [
[ Biome.GRAVEYARD, BiomePoolTier.RARE ],
[ Biome.GRAVEYARD, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.QUAXLY, Type.WATER, -1, [
+ [ Species.QUAXLY, PokemonType.WATER, -1, [
[ Biome.BEACH, BiomePoolTier.RARE ]
]
],
- [ Species.QUAXWELL, Type.WATER, -1, [
+ [ Species.QUAXWELL, PokemonType.WATER, -1, [
[ Biome.BEACH, BiomePoolTier.RARE ]
]
],
- [ Species.QUAQUAVAL, Type.WATER, Type.FIGHTING, [
+ [ Species.QUAQUAVAL, PokemonType.WATER, PokemonType.FIGHTING, [
[ Biome.BEACH, BiomePoolTier.RARE ],
[ Biome.BEACH, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.LECHONK, Type.NORMAL, -1, [
+ [ Species.LECHONK, PokemonType.NORMAL, -1, [
[ Biome.TOWN, BiomePoolTier.COMMON ],
[ Biome.PLAINS, BiomePoolTier.COMMON ]
]
],
- [ Species.OINKOLOGNE, Type.NORMAL, -1, [
+ [ Species.OINKOLOGNE, PokemonType.NORMAL, -1, [
[ Biome.PLAINS, BiomePoolTier.COMMON ],
[ Biome.PLAINS, BiomePoolTier.BOSS ]
]
],
- [ Species.TAROUNTULA, Type.BUG, -1, [
+ [ Species.TAROUNTULA, PokemonType.BUG, -1, [
[ Biome.FOREST, BiomePoolTier.COMMON ]
]
],
- [ Species.SPIDOPS, Type.BUG, -1, [
+ [ Species.SPIDOPS, PokemonType.BUG, -1, [
[ Biome.FOREST, BiomePoolTier.COMMON ],
[ Biome.FOREST, BiomePoolTier.BOSS ]
]
],
- [ Species.NYMBLE, Type.BUG, -1, [
+ [ Species.NYMBLE, PokemonType.BUG, -1, [
[ Biome.TALL_GRASS, BiomePoolTier.COMMON ],
[ Biome.FOREST, BiomePoolTier.COMMON ]
]
],
- [ Species.LOKIX, Type.BUG, Type.DARK, [
+ [ Species.LOKIX, PokemonType.BUG, PokemonType.DARK, [
[ Biome.TALL_GRASS, BiomePoolTier.COMMON ],
[ Biome.TALL_GRASS, BiomePoolTier.BOSS ],
[ Biome.FOREST, BiomePoolTier.COMMON ],
[ Biome.FOREST, BiomePoolTier.BOSS ]
]
],
- [ Species.PAWMI, Type.ELECTRIC, -1, [
+ [ Species.PAWMI, PokemonType.ELECTRIC, -1, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.POWER_PLANT, BiomePoolTier.COMMON ]
]
],
- [ Species.PAWMO, Type.ELECTRIC, Type.FIGHTING, [
+ [ Species.PAWMO, PokemonType.ELECTRIC, PokemonType.FIGHTING, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.POWER_PLANT, BiomePoolTier.COMMON ]
]
],
- [ Species.PAWMOT, Type.ELECTRIC, Type.FIGHTING, [
+ [ Species.PAWMOT, PokemonType.ELECTRIC, PokemonType.FIGHTING, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.PLAINS, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.POWER_PLANT, BiomePoolTier.COMMON ],
[ Biome.POWER_PLANT, BiomePoolTier.BOSS ]
]
],
- [ Species.TANDEMAUS, Type.NORMAL, -1, [
+ [ Species.TANDEMAUS, PokemonType.NORMAL, -1, [
[ Biome.TOWN, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.METROPOLIS, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.MAUSHOLD, Type.NORMAL, -1, [
+ [ Species.MAUSHOLD, PokemonType.NORMAL, -1, [
[ Biome.METROPOLIS, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.METROPOLIS, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.FIDOUGH, Type.FAIRY, -1, [
+ [ Species.FIDOUGH, PokemonType.FAIRY, -1, [
[ Biome.TOWN, BiomePoolTier.UNCOMMON ],
[ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.DACHSBUN, Type.FAIRY, -1, [
+ [ Species.DACHSBUN, PokemonType.FAIRY, -1, [
[ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ],
[ Biome.METROPOLIS, BiomePoolTier.BOSS ]
]
],
- [ Species.SMOLIV, Type.GRASS, Type.NORMAL, [
+ [ Species.SMOLIV, PokemonType.GRASS, PokemonType.NORMAL, [
[ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.DOLLIV, Type.GRASS, Type.NORMAL, [
+ [ Species.DOLLIV, PokemonType.GRASS, PokemonType.NORMAL, [
[ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.ARBOLIVA, Type.GRASS, Type.NORMAL, [
+ [ Species.ARBOLIVA, PokemonType.GRASS, PokemonType.NORMAL, [
[ Biome.MEADOW, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SQUAWKABILLY, Type.NORMAL, Type.FLYING, [
+ [ Species.SQUAWKABILLY, PokemonType.NORMAL, PokemonType.FLYING, [
[ Biome.METROPOLIS, BiomePoolTier.UNCOMMON ],
[ Biome.FOREST, BiomePoolTier.RARE ]
]
],
- [ Species.NACLI, Type.ROCK, -1, [
+ [ Species.NACLI, PokemonType.ROCK, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ],
[ Biome.CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.NACLSTACK, Type.ROCK, -1, [
+ [ Species.NACLSTACK, PokemonType.ROCK, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ],
[ Biome.CAVE, BiomePoolTier.COMMON ]
]
],
- [ Species.GARGANACL, Type.ROCK, -1, [
+ [ Species.GARGANACL, PokemonType.ROCK, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON ],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS ],
[ Biome.CAVE, BiomePoolTier.COMMON ],
[ Biome.CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.CHARCADET, Type.FIRE, -1, [
+ [ Species.CHARCADET, PokemonType.FIRE, -1, [
[ Biome.VOLCANO, BiomePoolTier.RARE ]
]
],
- [ Species.ARMAROUGE, Type.FIRE, Type.PSYCHIC, [
+ [ Species.ARMAROUGE, PokemonType.FIRE, PokemonType.PSYCHIC, [
[ Biome.VOLCANO, BiomePoolTier.RARE ],
[ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.CERULEDGE, Type.FIRE, Type.GHOST, [
+ [ Species.CERULEDGE, PokemonType.FIRE, PokemonType.GHOST, [
[ Biome.GRAVEYARD, BiomePoolTier.RARE ],
[ Biome.GRAVEYARD, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.TADBULB, Type.ELECTRIC, -1, [
+ [ Species.TADBULB, PokemonType.ELECTRIC, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.COMMON ]
]
],
- [ Species.BELLIBOLT, Type.ELECTRIC, -1, [
+ [ Species.BELLIBOLT, PokemonType.ELECTRIC, -1, [
[ Biome.POWER_PLANT, BiomePoolTier.COMMON ],
[ Biome.POWER_PLANT, BiomePoolTier.BOSS ]
]
],
- [ Species.WATTREL, Type.ELECTRIC, Type.FLYING, [
+ [ Species.WATTREL, PokemonType.ELECTRIC, PokemonType.FLYING, [
[ Biome.SEA, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.KILOWATTREL, Type.ELECTRIC, Type.FLYING, [
+ [ Species.KILOWATTREL, PokemonType.ELECTRIC, PokemonType.FLYING, [
[ Biome.SEA, BiomePoolTier.UNCOMMON ],
[ Biome.SEA, BiomePoolTier.BOSS ]
]
],
- [ Species.MASCHIFF, Type.DARK, -1, [
+ [ Species.MASCHIFF, PokemonType.DARK, -1, [
[ Biome.ABYSS, BiomePoolTier.COMMON ]
]
],
- [ Species.MABOSSTIFF, Type.DARK, -1, [
+ [ Species.MABOSSTIFF, PokemonType.DARK, -1, [
[ Biome.ABYSS, BiomePoolTier.COMMON ],
[ Biome.ABYSS, BiomePoolTier.BOSS ]
]
],
- [ Species.SHROODLE, Type.POISON, Type.NORMAL, [
+ [ Species.SHROODLE, PokemonType.POISON, PokemonType.NORMAL, [
[ Biome.FOREST, BiomePoolTier.COMMON ]
]
],
- [ Species.GRAFAIAI, Type.POISON, Type.NORMAL, [
+ [ Species.GRAFAIAI, PokemonType.POISON, PokemonType.NORMAL, [
[ Biome.FOREST, BiomePoolTier.COMMON ],
[ Biome.FOREST, BiomePoolTier.BOSS ]
]
],
- [ Species.BRAMBLIN, Type.GRASS, Type.GHOST, [
+ [ Species.BRAMBLIN, PokemonType.GRASS, PokemonType.GHOST, [
[ Biome.DESERT, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.BRAMBLEGHAST, Type.GRASS, Type.GHOST, [
+ [ Species.BRAMBLEGHAST, PokemonType.GRASS, PokemonType.GHOST, [
[ Biome.DESERT, BiomePoolTier.UNCOMMON ],
[ Biome.DESERT, BiomePoolTier.BOSS ]
]
],
- [ Species.TOEDSCOOL, Type.GROUND, Type.GRASS, [
+ [ Species.TOEDSCOOL, PokemonType.GROUND, PokemonType.GRASS, [
[ Biome.FOREST, BiomePoolTier.RARE ]
]
],
- [ Species.TOEDSCRUEL, Type.GROUND, Type.GRASS, [
+ [ Species.TOEDSCRUEL, PokemonType.GROUND, PokemonType.GRASS, [
[ Biome.FOREST, BiomePoolTier.RARE ],
[ Biome.FOREST, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.KLAWF, Type.ROCK, -1, [
+ [ Species.KLAWF, PokemonType.ROCK, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.RARE ]
]
],
- [ Species.CAPSAKID, Type.GRASS, -1, [
+ [ Species.CAPSAKID, PokemonType.GRASS, -1, [
[ Biome.BADLANDS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.SCOVILLAIN, Type.GRASS, Type.FIRE, [
+ [ Species.SCOVILLAIN, PokemonType.GRASS, PokemonType.FIRE, [
[ Biome.BADLANDS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.BADLANDS, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.RELLOR, Type.BUG, -1, [
+ [ Species.RELLOR, PokemonType.BUG, -1, [
[ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.RABSCA, Type.BUG, Type.PSYCHIC, [
+ [ Species.RABSCA, PokemonType.BUG, PokemonType.PSYCHIC, [
[ Biome.DESERT, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.DESERT, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.FLITTLE, Type.PSYCHIC, -1, [
+ [ Species.FLITTLE, PokemonType.PSYCHIC, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.ESPATHRA, Type.PSYCHIC, -1, [
+ [ Species.ESPATHRA, PokemonType.PSYCHIC, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.TINKATINK, Type.FAIRY, Type.STEEL, [
+ [ Species.TINKATINK, PokemonType.FAIRY, PokemonType.STEEL, [
[ Biome.RUINS, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.TINKATUFF, Type.FAIRY, Type.STEEL, [
+ [ Species.TINKATUFF, PokemonType.FAIRY, PokemonType.STEEL, [
[ Biome.RUINS, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.TINKATON, Type.FAIRY, Type.STEEL, [
+ [ Species.TINKATON, PokemonType.FAIRY, PokemonType.STEEL, [
[ Biome.RUINS, BiomePoolTier.UNCOMMON ],
[ Biome.RUINS, BiomePoolTier.BOSS ]
]
],
- [ Species.WIGLETT, Type.WATER, -1, [
+ [ Species.WIGLETT, PokemonType.WATER, -1, [
[ Biome.BEACH, BiomePoolTier.COMMON ]
]
],
- [ Species.WUGTRIO, Type.WATER, -1, [
+ [ Species.WUGTRIO, PokemonType.WATER, -1, [
[ Biome.BEACH, BiomePoolTier.COMMON ]
]
],
- [ Species.BOMBIRDIER, Type.FLYING, Type.DARK, [
+ [ Species.BOMBIRDIER, PokemonType.FLYING, PokemonType.DARK, [
[ Biome.MOUNTAIN, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.FINIZEN, Type.WATER, -1, [
+ [ Species.FINIZEN, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.PALAFIN, Type.WATER, -1, [
+ [ Species.PALAFIN, PokemonType.WATER, -1, [
[ Biome.SEA, BiomePoolTier.COMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.SEA, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.VAROOM, Type.STEEL, Type.POISON, [
+ [ Species.VAROOM, PokemonType.STEEL, PokemonType.POISON, [
[ Biome.METROPOLIS, BiomePoolTier.RARE ],
[ Biome.SLUM, BiomePoolTier.RARE ]
]
],
- [ Species.REVAVROOM, Type.STEEL, Type.POISON, [
+ [ Species.REVAVROOM, PokemonType.STEEL, PokemonType.POISON, [
[ Biome.METROPOLIS, BiomePoolTier.RARE ],
[ Biome.METROPOLIS, BiomePoolTier.BOSS_RARE ],
[ Biome.SLUM, BiomePoolTier.RARE ],
[ Biome.SLUM, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.CYCLIZAR, Type.DRAGON, Type.NORMAL, [
+ [ Species.CYCLIZAR, PokemonType.DRAGON, PokemonType.NORMAL, [
[ Biome.WASTELAND, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.ORTHWORM, Type.STEEL, -1, [
+ [ Species.ORTHWORM, PokemonType.STEEL, -1, [
[ Biome.DESERT, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.GLIMMET, Type.ROCK, Type.POISON, [
+ [ Species.GLIMMET, PokemonType.ROCK, PokemonType.POISON, [
[ Biome.CAVE, BiomePoolTier.RARE ]
]
],
- [ Species.GLIMMORA, Type.ROCK, Type.POISON, [
+ [ Species.GLIMMORA, PokemonType.ROCK, PokemonType.POISON, [
[ Biome.CAVE, BiomePoolTier.RARE ],
[ Biome.CAVE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.GREAVARD, Type.GHOST, -1, [
+ [ Species.GREAVARD, PokemonType.GHOST, -1, [
[ Biome.GRAVEYARD, BiomePoolTier.COMMON ]
]
],
- [ Species.HOUNDSTONE, Type.GHOST, -1, [
+ [ Species.HOUNDSTONE, PokemonType.GHOST, -1, [
[ Biome.GRAVEYARD, BiomePoolTier.COMMON ],
[ Biome.GRAVEYARD, BiomePoolTier.BOSS ]
]
],
- [ Species.FLAMIGO, Type.FLYING, Type.FIGHTING, [
+ [ Species.FLAMIGO, PokemonType.FLYING, PokemonType.FIGHTING, [
[ Biome.LAKE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.CETODDLE, Type.ICE, -1, [
+ [ Species.CETODDLE, PokemonType.ICE, -1, [
[ Biome.ICE_CAVE, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.CETITAN, Type.ICE, -1, [
+ [ Species.CETITAN, PokemonType.ICE, -1, [
[ Biome.ICE_CAVE, BiomePoolTier.UNCOMMON ],
[ Biome.ICE_CAVE, BiomePoolTier.BOSS ]
]
],
- [ Species.VELUZA, Type.WATER, Type.PSYCHIC, [
+ [ Species.VELUZA, PokemonType.WATER, PokemonType.PSYCHIC, [
[ Biome.SEABED, BiomePoolTier.COMMON ]
]
],
- [ Species.DONDOZO, Type.WATER, -1, [
+ [ Species.DONDOZO, PokemonType.WATER, -1, [
[ Biome.SEABED, BiomePoolTier.UNCOMMON ],
[ Biome.SEABED, BiomePoolTier.BOSS ]
]
],
- [ Species.TATSUGIRI, Type.DRAGON, Type.WATER, [
+ [ Species.TATSUGIRI, PokemonType.DRAGON, PokemonType.WATER, [
[ Biome.BEACH, BiomePoolTier.RARE ]
]
],
- [ Species.ANNIHILAPE, Type.FIGHTING, Type.GHOST, [
+ [ Species.ANNIHILAPE, PokemonType.FIGHTING, PokemonType.GHOST, [
[ Biome.PLAINS, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.DOJO, BiomePoolTier.COMMON ],
[ Biome.DOJO, BiomePoolTier.BOSS ]
]
],
- [ Species.CLODSIRE, Type.POISON, Type.GROUND, [
+ [ Species.CLODSIRE, PokemonType.POISON, PokemonType.GROUND, [
[ Biome.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.SWAMP, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.FARIGIRAF, Type.NORMAL, Type.PSYCHIC, [
+ [ Species.FARIGIRAF, PokemonType.NORMAL, PokemonType.PSYCHIC, [
[ Biome.TALL_GRASS, BiomePoolTier.RARE ],
[ Biome.TALL_GRASS, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.DUDUNSPARCE, Type.NORMAL, -1, [
+ [ Species.DUDUNSPARCE, PokemonType.NORMAL, -1, [
[ Biome.PLAINS, BiomePoolTier.SUPER_RARE ],
[ Biome.PLAINS, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.KINGAMBIT, Type.DARK, Type.STEEL, [
+ [ Species.KINGAMBIT, PokemonType.DARK, PokemonType.STEEL, [
[ Biome.ABYSS, BiomePoolTier.COMMON ],
[ Biome.ABYSS, BiomePoolTier.BOSS ]
]
],
- [ Species.GREAT_TUSK, Type.GROUND, Type.FIGHTING, [
+ [ Species.GREAT_TUSK, PokemonType.GROUND, PokemonType.FIGHTING, [
[ Biome.END, BiomePoolTier.COMMON ]
]
],
- [ Species.SCREAM_TAIL, Type.FAIRY, Type.PSYCHIC, [
+ [ Species.SCREAM_TAIL, PokemonType.FAIRY, PokemonType.PSYCHIC, [
[ Biome.END, BiomePoolTier.COMMON ]
]
],
- [ Species.BRUTE_BONNET, Type.GRASS, Type.DARK, [
+ [ Species.BRUTE_BONNET, PokemonType.GRASS, PokemonType.DARK, [
[ Biome.END, BiomePoolTier.COMMON ]
]
],
- [ Species.FLUTTER_MANE, Type.GHOST, Type.FAIRY, [
+ [ Species.FLUTTER_MANE, PokemonType.GHOST, PokemonType.FAIRY, [
[ Biome.END, BiomePoolTier.COMMON ]
]
],
- [ Species.SLITHER_WING, Type.BUG, Type.FIGHTING, [
+ [ Species.SLITHER_WING, PokemonType.BUG, PokemonType.FIGHTING, [
[ Biome.END, BiomePoolTier.COMMON ]
]
],
- [ Species.SANDY_SHOCKS, Type.ELECTRIC, Type.GROUND, [
+ [ Species.SANDY_SHOCKS, PokemonType.ELECTRIC, PokemonType.GROUND, [
[ Biome.END, BiomePoolTier.COMMON ]
]
],
- [ Species.IRON_TREADS, Type.GROUND, Type.STEEL, [
+ [ Species.IRON_TREADS, PokemonType.GROUND, PokemonType.STEEL, [
[ Biome.END, BiomePoolTier.COMMON ]
]
],
- [ Species.IRON_BUNDLE, Type.ICE, Type.WATER, [
+ [ Species.IRON_BUNDLE, PokemonType.ICE, PokemonType.WATER, [
[ Biome.END, BiomePoolTier.COMMON ]
]
],
- [ Species.IRON_HANDS, Type.FIGHTING, Type.ELECTRIC, [
+ [ Species.IRON_HANDS, PokemonType.FIGHTING, PokemonType.ELECTRIC, [
[ Biome.END, BiomePoolTier.COMMON ]
]
],
- [ Species.IRON_JUGULIS, Type.DARK, Type.FLYING, [
+ [ Species.IRON_JUGULIS, PokemonType.DARK, PokemonType.FLYING, [
[ Biome.END, BiomePoolTier.COMMON ]
]
],
- [ Species.IRON_MOTH, Type.FIRE, Type.POISON, [
+ [ Species.IRON_MOTH, PokemonType.FIRE, PokemonType.POISON, [
[ Biome.END, BiomePoolTier.COMMON ]
]
],
- [ Species.IRON_THORNS, Type.ROCK, Type.ELECTRIC, [
+ [ Species.IRON_THORNS, PokemonType.ROCK, PokemonType.ELECTRIC, [
[ Biome.END, BiomePoolTier.COMMON ]
]
],
- [ Species.FRIGIBAX, Type.DRAGON, Type.ICE, [
+ [ Species.FRIGIBAX, PokemonType.DRAGON, PokemonType.ICE, [
[ Biome.WASTELAND, BiomePoolTier.RARE ]
]
],
- [ Species.ARCTIBAX, Type.DRAGON, Type.ICE, [
+ [ Species.ARCTIBAX, PokemonType.DRAGON, PokemonType.ICE, [
[ Biome.WASTELAND, BiomePoolTier.RARE ]
]
],
- [ Species.BAXCALIBUR, Type.DRAGON, Type.ICE, [
+ [ Species.BAXCALIBUR, PokemonType.DRAGON, PokemonType.ICE, [
[ Biome.WASTELAND, BiomePoolTier.RARE ],
[ Biome.WASTELAND, BiomePoolTier.BOSS ]
]
],
- [ Species.GIMMIGHOUL, Type.GHOST, -1, [
+ [ Species.GIMMIGHOUL, PokemonType.GHOST, -1, [
[ Biome.TEMPLE, BiomePoolTier.RARE ]
]
],
- [ Species.GHOLDENGO, Type.STEEL, Type.GHOST, [
+ [ Species.GHOLDENGO, PokemonType.STEEL, PokemonType.GHOST, [
[ Biome.TEMPLE, BiomePoolTier.RARE ],
[ Biome.TEMPLE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.WO_CHIEN, Type.DARK, Type.GRASS, [
+ [ Species.WO_CHIEN, PokemonType.DARK, PokemonType.GRASS, [
[ Biome.FOREST, BiomePoolTier.ULTRA_RARE ],
[ Biome.FOREST, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.CHIEN_PAO, Type.DARK, Type.ICE, [
+ [ Species.CHIEN_PAO, PokemonType.DARK, PokemonType.ICE, [
[ Biome.SNOWY_FOREST, BiomePoolTier.ULTRA_RARE ],
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.TING_LU, Type.DARK, Type.GROUND, [
+ [ Species.TING_LU, PokemonType.DARK, PokemonType.GROUND, [
[ Biome.MOUNTAIN, BiomePoolTier.ULTRA_RARE ],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.CHI_YU, Type.DARK, Type.FIRE, [
+ [ Species.CHI_YU, PokemonType.DARK, PokemonType.FIRE, [
[ Biome.VOLCANO, BiomePoolTier.ULTRA_RARE ],
[ Biome.VOLCANO, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.ROARING_MOON, Type.DRAGON, Type.DARK, [
+ [ Species.ROARING_MOON, PokemonType.DRAGON, PokemonType.DARK, [
[ Biome.END, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.IRON_VALIANT, Type.FAIRY, Type.FIGHTING, [
+ [ Species.IRON_VALIANT, PokemonType.FAIRY, PokemonType.FIGHTING, [
[ Biome.END, BiomePoolTier.UNCOMMON ]
]
],
- [ Species.KORAIDON, Type.FIGHTING, Type.DRAGON, [
+ [ Species.KORAIDON, PokemonType.FIGHTING, PokemonType.DRAGON, [
[ Biome.RUINS, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.MIRAIDON, Type.ELECTRIC, Type.DRAGON, [
+ [ Species.MIRAIDON, PokemonType.ELECTRIC, PokemonType.DRAGON, [
[ Biome.LABORATORY, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.WALKING_WAKE, Type.WATER, Type.DRAGON, [
+ [ Species.WALKING_WAKE, PokemonType.WATER, PokemonType.DRAGON, [
[ Biome.END, BiomePoolTier.RARE ]
]
],
- [ Species.IRON_LEAVES, Type.GRASS, Type.PSYCHIC, [
+ [ Species.IRON_LEAVES, PokemonType.GRASS, PokemonType.PSYCHIC, [
[ Biome.END, BiomePoolTier.RARE ]
]
],
- [ Species.DIPPLIN, Type.GRASS, Type.DRAGON, [
+ [ Species.DIPPLIN, PokemonType.GRASS, PokemonType.DRAGON, [
[ Biome.MEADOW, BiomePoolTier.RARE ]
]
],
- [ Species.POLTCHAGEIST, Type.GRASS, Type.GHOST, [
+ [ Species.POLTCHAGEIST, PokemonType.GRASS, PokemonType.GHOST, [
[ Biome.BADLANDS, BiomePoolTier.RARE ]
]
],
- [ Species.SINISTCHA, Type.GRASS, Type.GHOST, [
+ [ Species.SINISTCHA, PokemonType.GRASS, PokemonType.GHOST, [
[ Biome.BADLANDS, BiomePoolTier.RARE ],
[ Biome.BADLANDS, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.OKIDOGI, Type.POISON, Type.FIGHTING, [
+ [ Species.OKIDOGI, PokemonType.POISON, PokemonType.FIGHTING, [
[ Biome.BADLANDS, BiomePoolTier.ULTRA_RARE ],
[ Biome.BADLANDS, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.MUNKIDORI, Type.POISON, Type.PSYCHIC, [
+ [ Species.MUNKIDORI, PokemonType.POISON, PokemonType.PSYCHIC, [
[ Biome.JUNGLE, BiomePoolTier.ULTRA_RARE ],
[ Biome.JUNGLE, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.FEZANDIPITI, Type.POISON, Type.FAIRY, [
+ [ Species.FEZANDIPITI, PokemonType.POISON, PokemonType.FAIRY, [
[ Biome.RUINS, BiomePoolTier.ULTRA_RARE ],
[ Biome.RUINS, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.OGERPON, Type.GRASS, -1, [
+ [ Species.OGERPON, PokemonType.GRASS, -1, [
[ Biome.MOUNTAIN, BiomePoolTier.ULTRA_RARE ],
[ Biome.MOUNTAIN, BiomePoolTier.BOSS_SUPER_RARE ]
]
],
- [ Species.ARCHALUDON, Type.STEEL, Type.DRAGON, [
+ [ Species.ARCHALUDON, PokemonType.STEEL, PokemonType.DRAGON, [
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.HYDRAPPLE, Type.GRASS, Type.DRAGON, [
+ [ Species.HYDRAPPLE, PokemonType.GRASS, PokemonType.DRAGON, [
[ Biome.MEADOW, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.GOUGING_FIRE, Type.FIRE, Type.DRAGON, [
+ [ Species.GOUGING_FIRE, PokemonType.FIRE, PokemonType.DRAGON, [
[ Biome.END, BiomePoolTier.RARE ]
]
],
- [ Species.RAGING_BOLT, Type.ELECTRIC, Type.DRAGON, [
+ [ Species.RAGING_BOLT, PokemonType.ELECTRIC, PokemonType.DRAGON, [
[ Biome.END, BiomePoolTier.RARE ]
]
],
- [ Species.IRON_BOULDER, Type.ROCK, Type.PSYCHIC, [
+ [ Species.IRON_BOULDER, PokemonType.ROCK, PokemonType.PSYCHIC, [
[ Biome.END, BiomePoolTier.RARE ]
]
],
- [ Species.IRON_CROWN, Type.STEEL, Type.PSYCHIC, [
+ [ Species.IRON_CROWN, PokemonType.STEEL, PokemonType.PSYCHIC, [
[ Biome.END, BiomePoolTier.RARE ]
]
],
- [ Species.TERAPAGOS, Type.NORMAL, -1, [
+ [ Species.TERAPAGOS, PokemonType.NORMAL, -1, [
[ Biome.CAVE, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.PECHARUNT, Type.POISON, Type.GHOST, [ ]
+ [ Species.PECHARUNT, PokemonType.POISON, PokemonType.GHOST, [ ]
],
- [ Species.ALOLA_RATTATA, Type.DARK, Type.NORMAL, [
+ [ Species.ALOLA_RATTATA, PokemonType.DARK, PokemonType.NORMAL, [
[ Biome.ISLAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.ALOLA_RATICATE, Type.DARK, Type.NORMAL, [
+ [ Species.ALOLA_RATICATE, PokemonType.DARK, PokemonType.NORMAL, [
[ Biome.ISLAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.ISLAND, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.ALOLA_RAICHU, Type.ELECTRIC, Type.PSYCHIC, [
+ [ Species.ALOLA_RAICHU, PokemonType.ELECTRIC, PokemonType.PSYCHIC, [
[ Biome.ISLAND, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.ISLAND, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.ALOLA_SANDSHREW, Type.ICE, Type.STEEL, [
+ [ Species.ALOLA_SANDSHREW, PokemonType.ICE, PokemonType.STEEL, [
[ Biome.ISLAND, BiomePoolTier.COMMON ],
[ Biome.SNOWY_FOREST, BiomePoolTier.RARE ]
]
],
- [ Species.ALOLA_SANDSLASH, Type.ICE, Type.STEEL, [
+ [ Species.ALOLA_SANDSLASH, PokemonType.ICE, PokemonType.STEEL, [
[ Biome.ISLAND, BiomePoolTier.COMMON ],
[ Biome.ISLAND, BiomePoolTier.BOSS ],
[ Biome.SNOWY_FOREST, BiomePoolTier.RARE ],
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.ALOLA_VULPIX, Type.ICE, -1, [
+ [ Species.ALOLA_VULPIX, PokemonType.ICE, -1, [
[ Biome.ISLAND, BiomePoolTier.COMMON ],
[ Biome.SNOWY_FOREST, BiomePoolTier.RARE ]
]
],
- [ Species.ALOLA_NINETALES, Type.ICE, Type.FAIRY, [
+ [ Species.ALOLA_NINETALES, PokemonType.ICE, PokemonType.FAIRY, [
[ Biome.ISLAND, BiomePoolTier.COMMON ],
[ Biome.ISLAND, BiomePoolTier.BOSS ],
[ Biome.SNOWY_FOREST, BiomePoolTier.RARE ],
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.ALOLA_DIGLETT, Type.GROUND, Type.STEEL, [
+ [ Species.ALOLA_DIGLETT, PokemonType.GROUND, PokemonType.STEEL, [
[ Biome.ISLAND, BiomePoolTier.COMMON ]
]
],
- [ Species.ALOLA_DUGTRIO, Type.GROUND, Type.STEEL, [
+ [ Species.ALOLA_DUGTRIO, PokemonType.GROUND, PokemonType.STEEL, [
[ Biome.ISLAND, BiomePoolTier.COMMON ],
[ Biome.ISLAND, BiomePoolTier.BOSS ]
]
],
- [ Species.ALOLA_MEOWTH, Type.DARK, -1, [
+ [ Species.ALOLA_MEOWTH, PokemonType.DARK, -1, [
[ Biome.ISLAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.ALOLA_PERSIAN, Type.DARK, -1, [
+ [ Species.ALOLA_PERSIAN, PokemonType.DARK, -1, [
[ Biome.ISLAND, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.ISLAND, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.ALOLA_GEODUDE, Type.ROCK, Type.ELECTRIC, [
+ [ Species.ALOLA_GEODUDE, PokemonType.ROCK, PokemonType.ELECTRIC, [
[ Biome.ISLAND, BiomePoolTier.COMMON ]
]
],
- [ Species.ALOLA_GRAVELER, Type.ROCK, Type.ELECTRIC, [
+ [ Species.ALOLA_GRAVELER, PokemonType.ROCK, PokemonType.ELECTRIC, [
[ Biome.ISLAND, BiomePoolTier.COMMON ]
]
],
- [ Species.ALOLA_GOLEM, Type.ROCK, Type.ELECTRIC, [
+ [ Species.ALOLA_GOLEM, PokemonType.ROCK, PokemonType.ELECTRIC, [
[ Biome.ISLAND, BiomePoolTier.COMMON ],
[ Biome.ISLAND, BiomePoolTier.BOSS ]
]
],
- [ Species.ALOLA_GRIMER, Type.POISON, Type.DARK, [
+ [ Species.ALOLA_GRIMER, PokemonType.POISON, PokemonType.DARK, [
[ Biome.ISLAND, BiomePoolTier.COMMON ]
]
],
- [ Species.ALOLA_MUK, Type.POISON, Type.DARK, [
+ [ Species.ALOLA_MUK, PokemonType.POISON, PokemonType.DARK, [
[ Biome.ISLAND, BiomePoolTier.COMMON ],
[ Biome.ISLAND, BiomePoolTier.BOSS ]
]
],
- [ Species.ALOLA_EXEGGUTOR, Type.GRASS, Type.DRAGON, [
+ [ Species.ALOLA_EXEGGUTOR, PokemonType.GRASS, PokemonType.DRAGON, [
[ Biome.ISLAND, BiomePoolTier.UNCOMMON, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.ISLAND, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.ALOLA_MAROWAK, Type.FIRE, Type.GHOST, [
+ [ Species.ALOLA_MAROWAK, PokemonType.FIRE, PokemonType.GHOST, [
[ Biome.ISLAND, BiomePoolTier.UNCOMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.ISLAND, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.ETERNAL_FLOETTE, Type.FAIRY, -1, [
+ [ Species.ETERNAL_FLOETTE, PokemonType.FAIRY, -1, [
[ Biome.FAIRY_CAVE, BiomePoolTier.RARE ],
[ Biome.FAIRY_CAVE, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.GALAR_MEOWTH, Type.STEEL, -1, [
+ [ Species.GALAR_MEOWTH, PokemonType.STEEL, -1, [
[ Biome.CONSTRUCTION_SITE, BiomePoolTier.RARE, TimeOfDay.DUSK ]
]
],
- [ Species.GALAR_PONYTA, Type.PSYCHIC, -1, [
+ [ Species.GALAR_PONYTA, PokemonType.PSYCHIC, -1, [
[ Biome.JUNGLE, BiomePoolTier.RARE, TimeOfDay.DAWN ]
]
],
- [ Species.GALAR_RAPIDASH, Type.PSYCHIC, Type.FAIRY, [
+ [ Species.GALAR_RAPIDASH, PokemonType.PSYCHIC, PokemonType.FAIRY, [
[ Biome.JUNGLE, BiomePoolTier.RARE, TimeOfDay.DAWN ],
[ Biome.JUNGLE, BiomePoolTier.BOSS_RARE, TimeOfDay.DAWN ]
]
],
- [ Species.GALAR_SLOWPOKE, Type.PSYCHIC, -1, [
+ [ Species.GALAR_SLOWPOKE, PokemonType.PSYCHIC, -1, [
[ Biome.SWAMP, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.GALAR_SLOWBRO, Type.POISON, Type.PSYCHIC, [
+ [ Species.GALAR_SLOWBRO, PokemonType.POISON, PokemonType.PSYCHIC, [
[ Biome.SWAMP, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.SWAMP, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.GALAR_FARFETCHD, Type.FIGHTING, -1, [
+ [ Species.GALAR_FARFETCHD, PokemonType.FIGHTING, -1, [
[ Biome.DOJO, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.GALAR_WEEZING, Type.POISON, Type.FAIRY, [
+ [ Species.GALAR_WEEZING, PokemonType.POISON, PokemonType.FAIRY, [
[ Biome.SLUM, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.GALAR_MR_MIME, Type.ICE, Type.PSYCHIC, [
+ [ Species.GALAR_MR_MIME, PokemonType.ICE, PokemonType.PSYCHIC, [
[ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.GALAR_ARTICUNO, Type.PSYCHIC, Type.FLYING, [
+ [ Species.GALAR_ARTICUNO, PokemonType.PSYCHIC, PokemonType.FLYING, [
[ Biome.SNOWY_FOREST, BiomePoolTier.ULTRA_RARE ],
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.GALAR_ZAPDOS, Type.FIGHTING, Type.FLYING, [
+ [ Species.GALAR_ZAPDOS, PokemonType.FIGHTING, PokemonType.FLYING, [
[ Biome.DOJO, BiomePoolTier.ULTRA_RARE ],
[ Biome.DOJO, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.GALAR_MOLTRES, Type.DARK, Type.FLYING, [
+ [ Species.GALAR_MOLTRES, PokemonType.DARK, PokemonType.FLYING, [
[ Biome.ABYSS, BiomePoolTier.ULTRA_RARE ],
[ Biome.ABYSS, BiomePoolTier.BOSS_ULTRA_RARE ]
]
],
- [ Species.GALAR_SLOWKING, Type.POISON, Type.PSYCHIC, [
+ [ Species.GALAR_SLOWKING, PokemonType.POISON, PokemonType.PSYCHIC, [
[ Biome.SWAMP, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.GALAR_CORSOLA, Type.GHOST, -1, [
+ [ Species.GALAR_CORSOLA, PokemonType.GHOST, -1, [
[ Biome.SEABED, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.GALAR_ZIGZAGOON, Type.DARK, Type.NORMAL, [
+ [ Species.GALAR_ZIGZAGOON, PokemonType.DARK, PokemonType.NORMAL, [
[ Biome.SLUM, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.GALAR_LINOONE, Type.DARK, Type.NORMAL, [
+ [ Species.GALAR_LINOONE, PokemonType.DARK, PokemonType.NORMAL, [
[ Biome.SLUM, BiomePoolTier.RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.GALAR_DARUMAKA, Type.ICE, -1, [
+ [ Species.GALAR_DARUMAKA, PokemonType.ICE, -1, [
[ Biome.SNOWY_FOREST, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.GALAR_DARMANITAN, Type.ICE, -1, [
+ [ Species.GALAR_DARMANITAN, PokemonType.ICE, -1, [
[ Biome.SNOWY_FOREST, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.GALAR_YAMASK, Type.GROUND, Type.GHOST, [
+ [ Species.GALAR_YAMASK, PokemonType.GROUND, PokemonType.GHOST, [
[ Biome.RUINS, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.GALAR_STUNFISK, Type.GROUND, Type.STEEL, [
+ [ Species.GALAR_STUNFISK, PokemonType.GROUND, PokemonType.STEEL, [
[ Biome.SWAMP, BiomePoolTier.SUPER_RARE ],
[ Biome.SWAMP, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.HISUI_GROWLITHE, Type.FIRE, Type.ROCK, [
+ [ Species.HISUI_GROWLITHE, PokemonType.FIRE, PokemonType.ROCK, [
[ Biome.VOLCANO, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.HISUI_ARCANINE, Type.FIRE, Type.ROCK, [
+ [ Species.HISUI_ARCANINE, PokemonType.FIRE, PokemonType.ROCK, [
[ Biome.VOLCANO, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.HISUI_VOLTORB, Type.ELECTRIC, Type.GRASS, [
+ [ Species.HISUI_VOLTORB, PokemonType.ELECTRIC, PokemonType.GRASS, [
[ Biome.POWER_PLANT, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.HISUI_ELECTRODE, Type.ELECTRIC, Type.GRASS, [
+ [ Species.HISUI_ELECTRODE, PokemonType.ELECTRIC, PokemonType.GRASS, [
[ Biome.POWER_PLANT, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.HISUI_TYPHLOSION, Type.FIRE, Type.GHOST, [
+ [ Species.HISUI_TYPHLOSION, PokemonType.FIRE, PokemonType.GHOST, [
[ Biome.GRAVEYARD, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.HISUI_QWILFISH, Type.DARK, Type.POISON, [
+ [ Species.HISUI_QWILFISH, PokemonType.DARK, PokemonType.POISON, [
[ Biome.SEABED, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.HISUI_SNEASEL, Type.FIGHTING, Type.POISON, [
+ [ Species.HISUI_SNEASEL, PokemonType.FIGHTING, PokemonType.POISON, [
[ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.HISUI_SAMUROTT, Type.WATER, Type.DARK, [
+ [ Species.HISUI_SAMUROTT, PokemonType.WATER, PokemonType.DARK, [
[ Biome.ABYSS, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.HISUI_LILLIGANT, Type.GRASS, Type.FIGHTING, [
+ [ Species.HISUI_LILLIGANT, PokemonType.GRASS, PokemonType.FIGHTING, [
[ Biome.MEADOW, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.HISUI_ZORUA, Type.NORMAL, Type.GHOST, [
+ [ Species.HISUI_ZORUA, PokemonType.NORMAL, PokemonType.GHOST, [
[ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.HISUI_ZOROARK, Type.NORMAL, Type.GHOST, [
+ [ Species.HISUI_ZOROARK, PokemonType.NORMAL, PokemonType.GHOST, [
[ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]],
[ Biome.SNOWY_FOREST, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.HISUI_BRAVIARY, Type.PSYCHIC, Type.FLYING, [
+ [ Species.HISUI_BRAVIARY, PokemonType.PSYCHIC, PokemonType.FLYING, [
[ Biome.MOUNTAIN, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.HISUI_SLIGGOO, Type.STEEL, Type.DRAGON, [
+ [ Species.HISUI_SLIGGOO, PokemonType.STEEL, PokemonType.DRAGON, [
[ Biome.SWAMP, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.HISUI_GOODRA, Type.STEEL, Type.DRAGON, [
+ [ Species.HISUI_GOODRA, PokemonType.STEEL, PokemonType.DRAGON, [
[ Biome.SWAMP, BiomePoolTier.SUPER_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.SWAMP, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.HISUI_AVALUGG, Type.ICE, Type.ROCK, [
+ [ Species.HISUI_AVALUGG, PokemonType.ICE, PokemonType.ROCK, [
[ Biome.SNOWY_FOREST, BiomePoolTier.SUPER_RARE ]
]
],
- [ Species.HISUI_DECIDUEYE, Type.GRASS, Type.FIGHTING, [
+ [ Species.HISUI_DECIDUEYE, PokemonType.GRASS, PokemonType.FIGHTING, [
[ Biome.DOJO, BiomePoolTier.BOSS_RARE ]
]
],
- [ Species.PALDEA_TAUROS, Type.FIGHTING, -1, [
+ [ Species.PALDEA_TAUROS, PokemonType.FIGHTING, -1, [
[ Biome.PLAINS, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]],
[ Biome.PLAINS, BiomePoolTier.BOSS_RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ]]
]
],
- [ Species.PALDEA_WOOPER, Type.POISON, Type.GROUND, [
+ [ Species.PALDEA_WOOPER, PokemonType.POISON, PokemonType.GROUND, [
[ Biome.SWAMP, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ]]
]
],
- [ Species.BLOODMOON_URSALUNA, Type.GROUND, Type.NORMAL, [
+ [ Species.BLOODMOON_URSALUNA, PokemonType.GROUND, PokemonType.NORMAL, [
[ Biome.FOREST, BiomePoolTier.SUPER_RARE, TimeOfDay.NIGHT ],
[ Biome.FOREST, BiomePoolTier.BOSS_RARE, TimeOfDay.NIGHT ]
]
@@ -7677,7 +7678,7 @@ export function initBiomes() {
const traverseBiome = (biome: Biome, depth: number) => {
if (biome === Biome.END) {
- const biomeList = Object.keys(Biome).filter(key => !isNaN(Number(key)));
+ const biomeList = Object.keys(Biome).filter(key => !Number.isNaN(Number(key)));
biomeList.pop(); // Removes Biome.END from the list
const randIndex = Utils.randSeedInt(biomeList.length, 1); // Will never be Biome.TOWN
biome = Biome[biomeList[randIndex]];
@@ -7764,7 +7765,8 @@ export function initBiomes() {
treeIndex = t;
arrayIndex = es + 1;
break;
- } else if (speciesEvolutions && speciesEvolutions.find(se => se.speciesId === existingSpeciesId)) {
+ }
+ if (speciesEvolutions?.find(se => se.speciesId === existingSpeciesId)) {
treeIndex = t;
arrayIndex = es;
break;
@@ -7786,7 +7788,7 @@ export function initBiomes() {
for (const b of Object.keys(biomePokemonPools)) {
for (const t of Object.keys(biomePokemonPools[b])) {
- const tier = parseInt(t) as BiomePoolTier;
+ const tier = Number.parseInt(t) as BiomePoolTier;
for (const tod of Object.keys(biomePokemonPools[b][t])) {
const biomeTierTimePool = biomePokemonPools[b][t][tod];
for (let e = 0; e < biomeTierTimePool.length; e++) {
@@ -7799,7 +7801,7 @@ export function initBiomes() {
};
for (let s = 1; s < entry.length; s++) {
const speciesId = entry[s];
- const prevolution = entry.map(s => pokemonEvolutions[s]).flat().find(e => e && e.speciesId === speciesId);
+ const prevolution = entry.flatMap((s: string | number) => pokemonEvolutions[s]).find(e => e && e.speciesId === speciesId);
const level = prevolution.level - (prevolution.level === 1 ? 1 : 0) + (prevolution.wildDelay * 10) - (tier >= BiomePoolTier.BOSS ? 10 : 0);
if (!newEntry.hasOwnProperty(level)) {
newEntry[level] = [ speciesId ];
diff --git a/src/data/balance/egg-moves.ts b/src/data/balance/egg-moves.ts
index 35ec6f934a4..5829e3e10aa 100644
--- a/src/data/balance/egg-moves.ts
+++ b/src/data/balance/egg-moves.ts
@@ -1,4 +1,4 @@
-import { allMoves } from "#app/data/move";
+import { allMoves } from "#app/data/moves/move";
import * as Utils from "#app/utils";
import { Moves } from "#enums/moves";
import { Species } from "#enums/species";
@@ -46,7 +46,7 @@ export const speciesEggMoves = {
[Species.DROWZEE]: [ Moves.BADDY_BAD, Moves.STRENGTH_SAP, Moves.LUMINA_CRASH, Moves.DARK_VOID ],
[Species.KRABBY]: [ Moves.DIRE_CLAW, Moves.DRAGON_HAMMER, Moves.IVY_CUDGEL, Moves.JET_PUNCH ],
[Species.VOLTORB]: [ Moves.NASTY_PLOT, Moves.FUSION_FLARE, Moves.FROST_BREATH, Moves.ELECTRO_DRIFT ],
- [Species.EXEGGCUTE]: [ Moves.FICKLE_BEAM, Moves.APPLE_ACID, Moves.TRICK_ROOM, Moves.LUMINA_CRASH ],
+ [Species.EXEGGCUTE]: [ Moves.FICKLE_BEAM, Moves.APPLE_ACID, Moves.HEAT_WAVE, Moves.LUMINA_CRASH ],
[Species.CUBONE]: [ Moves.HEAD_SMASH, Moves.WOOD_HAMMER, Moves.SHADOW_SNEAK, Moves.BITTER_BLADE ],
[Species.LICKITUNG]: [ Moves.CRUSH_GRIP, Moves.FIRE_LASH, Moves.SLACK_OFF, Moves.MAGICAL_TORQUE ],
[Species.KOFFING]: [ Moves.SCALD, Moves.RECOVER, Moves.BODY_PRESS, Moves.MALIGNANT_CHAIN ],
@@ -59,7 +59,7 @@ export const speciesEggMoves = {
[Species.SCYTHER]: [ Moves.MIGHTY_CLEAVE, Moves.GEAR_GRIND, Moves.STORM_THROW, Moves.BITTER_BLADE ],
[Species.PINSIR]: [ Moves.HEADLONG_RUSH, Moves.LEECH_LIFE, Moves.CRUSH_GRIP, Moves.EXTREME_SPEED ],
[Species.TAUROS]: [ Moves.SWORDS_DANCE, Moves.FIRE_LASH, Moves.WICKED_TORQUE, Moves.COLLISION_COURSE ],
- [Species.MAGIKARP]: [ Moves.FLIP_TURN, Moves.ICE_SPINNER, Moves.DRAGON_ASCENT, Moves.SURGING_STRIKES ],
+ [Species.MAGIKARP]: [ Moves.FLIP_TURN, Moves.ICE_SPINNER, Moves.KNOCK_OFF, Moves.DRAGON_ASCENT ],
[Species.LAPRAS]: [ Moves.RECOVER, Moves.FREEZE_DRY, Moves.SCALD, Moves.SHELL_SMASH ],
[Species.DITTO]: [ Moves.MIMIC, Moves.SKETCH, Moves.METRONOME, Moves.IMPRISON ],
[Species.EEVEE]: [ Moves.WISH, Moves.NO_RETREAT, Moves.ZIPPY_ZAP, Moves.BOOMBURST ],
@@ -76,7 +76,7 @@ export const speciesEggMoves = {
[Species.CHIKORITA]: [ Moves.SAPPY_SEED, Moves.STONE_AXE, Moves.DRAGON_DANCE, Moves.SPORE ],
[Species.CYNDAQUIL]: [ Moves.NASTY_PLOT, Moves.EARTH_POWER, Moves.FIERY_DANCE, Moves.ELECTRO_DRIFT ],
- [Species.TOTODILE]: [ Moves.THUNDER_PUNCH, Moves.DRAGON_DANCE, Moves.TRIPLE_AXEL, Moves.SURGING_STRIKES ],
+ [Species.TOTODILE]: [ Moves.THUNDER_PUNCH, Moves.DRAGON_DANCE, Moves.PLAY_ROUGH, Moves.SURGING_STRIKES ],
[Species.SENTRET]: [ Moves.TIDY_UP, Moves.FAKE_OUT, Moves.NUZZLE, Moves.EXTREME_SPEED ],
[Species.HOOTHOOT]: [ Moves.CALM_MIND, Moves.ESPER_WING, Moves.AEROBLAST, Moves.BOOMBURST ],
[Species.LEDYBA]: [ Moves.POLLEN_PUFF, Moves.MAT_BLOCK, Moves.PARTING_SHOT, Moves.SPORE ],
@@ -159,7 +159,7 @@ export const speciesEggMoves = {
[Species.VOLBEAT]: [ Moves.BATON_PASS, Moves.STICKY_WEB, Moves.DECORATE, Moves.VICTORY_DANCE ],
[Species.ILLUMISE]: [ Moves.PARTING_SHOT, Moves.GLITZY_GLOW, Moves.POWDER, Moves.QUIVER_DANCE ],
[Species.GULPIN]: [ Moves.MALIGNANT_CHAIN, Moves.EARTH_POWER, Moves.CALM_MIND, Moves.STRENGTH_SAP ],
- [Species.CARVANHA]: [ Moves.THUNDER_FANG, Moves.SWORDS_DANCE, Moves.OBSTRUCT, Moves.SURGING_STRIKES ],
+ [Species.CARVANHA]: [ Moves.THUNDER_FANG, Moves.GUNK_SHOT, Moves.OBSTRUCT, Moves.SURGING_STRIKES ],
[Species.WAILMER]: [ Moves.TAKE_HEART, Moves.COMEUPPANCE, Moves.SLACK_OFF, Moves.STEAM_ERUPTION ],
[Species.NUMEL]: [ Moves.TRICK_ROOM, Moves.ENERGY_BALL, Moves.SLACK_OFF, Moves.BLUE_FLARE ],
[Species.TORKOAL]: [ Moves.MORNING_SUN, Moves.BURNING_BULWARK, Moves.BODY_PRESS, Moves.HYDRO_STEAM ],
@@ -235,7 +235,7 @@ export const speciesEggMoves = {
[Species.RIOLU]: [ Moves.THUNDEROUS_KICK, Moves.TACHYON_CUTTER, Moves.TRIPLE_AXEL, Moves.SUNSTEEL_STRIKE ],
[Species.HIPPOPOTAS]: [ Moves.SHORE_UP, Moves.STONE_AXE, Moves.BULK_UP, Moves.SALT_CURE ],
[Species.SKORUPI]: [ Moves.COIL, Moves.DIRE_CLAW, Moves.CRABHAMMER, Moves.WICKED_BLOW ],
- [Species.CROAGUNK]: [ Moves.DIRE_CLAW, Moves.ICE_SPINNER, Moves.THUNDEROUS_KICK, Moves.VICTORY_DANCE ],
+ [Species.CROAGUNK]: [ Moves.DIRE_CLAW, Moves.TRIPLE_AXEL, Moves.THUNDEROUS_KICK, Moves.VICTORY_DANCE ],
[Species.CARNIVINE]: [ Moves.STRENGTH_SAP, Moves.FIRE_LASH, Moves.COIL, Moves.SAPPY_SEED ],
[Species.FINNEON]: [ Moves.QUIVER_DANCE, Moves.SPLISHY_SPLASH, Moves.FREEZE_DRY, Moves.OBLIVION_WING ],
[Species.MANTYKE]: [ Moves.SPLISHY_SPLASH, Moves.FREEZY_FROST, Moves.NASTY_PLOT, Moves.OBLIVION_WING ],
@@ -267,7 +267,7 @@ export const speciesEggMoves = {
[Species.PANSEAR]: [ Moves.NASTY_PLOT, Moves.HYDRO_STEAM, Moves.EARTH_POWER, Moves.ERUPTION ],
[Species.PANPOUR]: [ Moves.NASTY_PLOT, Moves.ENERGY_BALL, Moves.EARTH_POWER, Moves.WATER_SPOUT ],
[Species.MUNNA]: [ Moves.COSMIC_POWER, Moves.AURA_SPHERE, Moves.LUNAR_BLESSING, Moves.MYSTICAL_POWER ],
- [Species.PIDOVE]: [ Moves.GUNK_SHOT, Moves.TIDY_UP, Moves.FLOATY_FALL, Moves.TRIPLE_ARROWS ],
+ [Species.PIDOVE]: [ Moves.SLASH, Moves.TIDY_UP, Moves.FLOATY_FALL, Moves.TRIPLE_ARROWS ],
[Species.BLITZLE]: [ Moves.HORN_LEECH, Moves.SWORDS_DANCE, Moves.FLARE_BLITZ, Moves.BOLT_STRIKE ],
[Species.ROGGENROLA]: [ Moves.BODY_PRESS, Moves.CURSE, Moves.SHORE_UP, Moves.DIAMOND_STORM ],
[Species.WOOBAT]: [ Moves.ESPER_WING, Moves.STORED_POWER, Moves.MYSTICAL_FIRE, Moves.OBLIVION_WING ],
@@ -282,7 +282,7 @@ export const speciesEggMoves = {
[Species.COTTONEE]: [ Moves.POLLEN_PUFF, Moves.PARTING_SHOT, Moves.SLEEP_POWDER, Moves.SEED_FLARE ],
[Species.PETILIL]: [ Moves.THUNDEROUS_KICK, Moves.SPARKLING_ARIA, Moves.FIERY_DANCE, Moves.FLOWER_TRICK ],
[Species.BASCULIN]: [ Moves.LAST_RESPECTS, Moves.CLOSE_COMBAT, Moves.SPLISHY_SPLASH, Moves.NO_RETREAT ],
- [Species.SANDILE]: [ Moves.DIRE_CLAW, Moves.HEADLONG_RUSH, Moves.FIRE_LASH, Moves.WICKED_BLOW ],
+ [Species.SANDILE]: [ Moves.DIRE_CLAW, Moves.SUCKER_PUNCH, Moves.FIRE_LASH, Moves.HEADLONG_RUSH ],
[Species.DARUMAKA]: [ Moves.DRAIN_PUNCH, Moves.ZIPPY_ZAP, Moves.HEADLONG_RUSH, Moves.PYRO_BALL ],
[Species.MARACTUS]: [ Moves.EARTH_POWER, Moves.QUIVER_DANCE, Moves.FIERY_DANCE, Moves.SEED_FLARE ],
[Species.DWEBBLE]: [ Moves.CRABHAMMER, Moves.STONE_AXE, Moves.LEECH_LIFE, Moves.MIGHTY_CLEAVE ],
@@ -327,8 +327,8 @@ export const speciesEggMoves = {
[Species.DEINO]: [ Moves.FIERY_WRATH, Moves.ESPER_WING, Moves.SLUDGE_BOMB, Moves.FICKLE_BEAM ],
[Species.LARVESTA]: [ Moves.THUNDERBOLT, Moves.DAZZLING_GLEAM, Moves.EARTH_POWER, Moves.HYDRO_STEAM ],
[Species.COBALION]: [ Moves.BEHEMOTH_BLADE, Moves.MIGHTY_CLEAVE, Moves.CEASELESS_EDGE, Moves.VICTORY_DANCE ],
- [Species.TERRAKION]: [ Moves.MIGHTY_CLEAVE, Moves.HEADLONG_RUSH, Moves.CEASELESS_EDGE, Moves.VICTORY_DANCE ],
- [Species.VIRIZION]: [ Moves.SAPPY_SEED, Moves.PSYBLADE, Moves.CEASELESS_EDGE, Moves.VICTORY_DANCE ],
+ [Species.TERRAKION]: [ Moves.MIGHTY_CLEAVE, Moves.HEADLONG_RUSH, Moves.KNOCK_OFF, Moves.VICTORY_DANCE ],
+ [Species.VIRIZION]: [ Moves.SAPPY_SEED, Moves.PSYBLADE, Moves.STONE_AXE, Moves.VICTORY_DANCE ],
[Species.TORNADUS]: [ Moves.SANDSEAR_STORM, Moves.PARTING_SHOT, Moves.SPLISHY_SPLASH, Moves.OBLIVION_WING ],
[Species.THUNDURUS]: [ Moves.SANDSEAR_STORM, Moves.HURRICANE, Moves.FROST_BREATH, Moves.ELECTRO_SHOT ],
[Species.RESHIRAM]: [ Moves.ENERGY_BALL, Moves.TAKE_HEART, Moves.FICKLE_BEAM, Moves.ERUPTION ],
@@ -342,7 +342,7 @@ export const speciesEggMoves = {
[Species.CHESPIN]: [ Moves.COMBAT_TORQUE, Moves.SYNTHESIS, Moves.CEASELESS_EDGE, Moves.SAPPY_SEED ],
[Species.FENNEKIN]: [ Moves.TWIN_BEAM, Moves.FIERY_DANCE, Moves.THUNDERBOLT, Moves.SPARKLY_SWIRL ],
[Species.FROAKIE]: [ Moves.MOONBLAST, Moves.SHELL_SIDE_ARM, Moves.FIERY_WRATH, Moves.STEAM_ERUPTION ],
- [Species.BUNNELBY]: [ Moves.DRAIN_PUNCH, Moves.TIDY_UP, Moves.FACADE, Moves.EXTREME_SPEED ],
+ [Species.BUNNELBY]: [ Moves.DRAIN_PUNCH, Moves.TIDY_UP, Moves.LANDS_WRATH, Moves.EXTREME_SPEED ],
[Species.FLETCHLING]: [ Moves.DRILL_RUN, Moves.BURNING_BULWARK, Moves.HEAD_SMASH, Moves.VOLT_TACKLE ],
[Species.SCATTERBUG]: [ Moves.FOCUS_BLAST, Moves.AFTER_YOU, Moves.DECORATE, Moves.BLIZZARD ],
[Species.LITLEO]: [ Moves.EARTH_POWER, Moves.NASTY_PLOT, Moves.BURNING_BULWARK, Moves.BLUE_FLARE ],
@@ -372,7 +372,7 @@ export const speciesEggMoves = {
[Species.NOIBAT]: [ Moves.AEROBLAST, Moves.OVERDRIVE, Moves.NASTY_PLOT, Moves.CLANGING_SCALES ],
[Species.XERNEAS]: [ Moves.EARTH_POWER, Moves.SPRINGTIDE_STORM, Moves.STRENGTH_SAP, Moves.TAIL_GLOW ],
[Species.YVELTAL]: [ Moves.SLUDGE_WAVE, Moves.POWER_TRIP, Moves.FIERY_WRATH, Moves.CLANGOROUS_SOUL ],
- [Species.ZYGARDE]: [ Moves.DRAGON_DARTS, Moves.HEAL_ORDER, Moves.CLANGOROUS_SOUL, Moves.DOUBLE_IRON_BASH ],
+ [Species.ZYGARDE]: [ Moves.DRAGON_DARTS, Moves.V_CREATE, Moves.CLANGOROUS_SOUL, Moves.HEAL_ORDER ],
[Species.DIANCIE]: [ Moves.MAGICAL_TORQUE, Moves.FIERY_DANCE, Moves.SHORE_UP, Moves.GEOMANCY ],
[Species.HOOPA]: [ Moves.PHOTON_GEYSER, Moves.SECRET_SWORD, Moves.FIERY_WRATH, Moves.SHELL_SMASH ],
[Species.VOLCANION]: [ Moves.HYDRO_STEAM, Moves.CALM_MIND, Moves.SEARING_SHOT, Moves.THUNDERCLAP ],
@@ -415,7 +415,7 @@ export const speciesEggMoves = {
[Species.JANGMO_O]: [ Moves.BODY_PRESS, Moves.SHELL_SIDE_ARM, Moves.SECRET_SWORD, Moves.GLAIVE_RUSH ],
[Species.TAPU_KOKO]: [ Moves.MAGICAL_TORQUE, Moves.TRIPLE_AXEL, Moves.SWORDS_DANCE, Moves.BOLT_STRIKE ],
[Species.TAPU_LELE]: [ Moves.MOONLIGHT, Moves.NASTY_PLOT, Moves.HEAT_WAVE, Moves.EXPANDING_FORCE ],
- [Species.TAPU_BULU]: [ Moves.SAPPY_SEED, Moves.DRAIN_PUNCH, Moves.MAGICAL_TORQUE, Moves.VICTORY_DANCE ],
+ [Species.TAPU_BULU]: [ Moves.SAPPY_SEED, Moves.LANDS_WRATH, Moves.MAGICAL_TORQUE, Moves.VICTORY_DANCE ],
[Species.TAPU_FINI]: [ Moves.SPRINGTIDE_STORM, Moves.EARTH_POWER, Moves.RECOVER, Moves.QUIVER_DANCE ],
[Species.COSMOG]: [ Moves.PHOTON_GEYSER, Moves.PRECIPICE_BLADES, Moves.SACRED_FIRE, Moves.ASTRAL_BARRAGE ],
[Species.NIHILEGO]: [ Moves.STRENGTH_SAP, Moves.MALIGNANT_CHAIN, Moves.EARTH_POWER, Moves.QUIVER_DANCE ],
@@ -505,7 +505,7 @@ export const speciesEggMoves = {
[Species.HISUI_VOLTORB]: [ Moves.FROST_BREATH, Moves.NASTY_PLOT, Moves.APPLE_ACID, Moves.ELECTRO_DRIFT ],
[Species.HISUI_QWILFISH]: [ Moves.CEASELESS_EDGE, Moves.KNOCK_OFF, Moves.RECOVER, Moves.FISHIOUS_REND ],
[Species.HISUI_SNEASEL]: [ Moves.DRAIN_PUNCH, Moves.KNOCK_OFF, Moves.PSYCHIC_FANGS, Moves.TRIPLE_AXEL ],
- [Species.HISUI_ZORUA]: [ Moves.MOONBLAST, Moves.HYPER_VOICE, Moves.PARTING_SHOT, Moves.BLOOD_MOON ],
+ [Species.HISUI_ZORUA]: [ Moves.MOONBLAST, Moves.SECRET_SWORD, Moves.PARTING_SHOT, Moves.BLOOD_MOON ],
[Species.SPRIGATITO]: [ Moves.FIRE_LASH, Moves.TRIPLE_AXEL, Moves.SUCKER_PUNCH, Moves.WICKED_BLOW ],
[Species.FUECOCO]: [ Moves.ALLURING_VOICE, Moves.SLACK_OFF, Moves.OVERDRIVE, Moves.MOONGEIST_BEAM ],
@@ -538,7 +538,7 @@ export const speciesEggMoves = {
[Species.CYCLIZAR]: [ Moves.PARTING_SHOT, Moves.FIRE_LASH, Moves.MAGICAL_TORQUE, Moves.GLAIVE_RUSH ],
[Species.ORTHWORM]: [ Moves.SIZZLY_SLIDE, Moves.COIL, Moves.BODY_PRESS, Moves.SHORE_UP ],
[Species.GLIMMET]: [ Moves.CALM_MIND, Moves.GIGA_DRAIN, Moves.FIERY_DANCE, Moves.MALIGNANT_CHAIN ],
- [Species.GREAVARD]: [ Moves.SHADOW_BONE, Moves.YAWN, Moves.SHORE_UP, Moves.COLLISION_COURSE ],
+ [Species.GREAVARD]: [ Moves.SHADOW_BONE, Moves.SIZZLY_SLIDE, Moves.SHORE_UP, Moves.COLLISION_COURSE ],
[Species.FLAMIGO]: [ Moves.THUNDEROUS_KICK, Moves.TRIPLE_AXEL, Moves.FLOATY_FALL, Moves.VICTORY_DANCE ],
[Species.CETODDLE]: [ Moves.ZING_ZAP, Moves.HIGH_HORSEPOWER, Moves.SLACK_OFF, Moves.DRAGON_DANCE ],
[Species.VELUZA]: [ Moves.PSYBLADE, Moves.LEAF_BLADE, Moves.CEASELESS_EDGE, Moves.BITTER_BLADE ],
@@ -550,7 +550,7 @@ export const speciesEggMoves = {
[Species.FLUTTER_MANE]: [ Moves.MOONLIGHT, Moves.NASTY_PLOT, Moves.EARTH_POWER, Moves.MOONGEIST_BEAM ],
[Species.SLITHER_WING]: [ Moves.MIGHTY_CLEAVE, Moves.THUNDEROUS_KICK, Moves.FIRE_LASH, Moves.VICTORY_DANCE ],
[Species.SANDY_SHOCKS]: [ Moves.MORNING_SUN, Moves.ICE_BEAM, Moves.NASTY_PLOT, Moves.THUNDERCLAP ],
- [Species.IRON_TREADS]: [ Moves.FUSION_BOLT, Moves.BULK_UP, Moves.SHORE_UP, Moves.SUNSTEEL_STRIKE ],
+ [Species.IRON_TREADS]: [ Moves.FUSION_BOLT, Moves.SHIFT_GEAR, Moves.SHORE_UP, Moves.SUNSTEEL_STRIKE ],
[Species.IRON_BUNDLE]: [ Moves.EARTH_POWER, Moves.SPLISHY_SPLASH, Moves.VOLT_SWITCH, Moves.NASTY_PLOT ],
[Species.IRON_HANDS]: [ Moves.DRAIN_PUNCH, Moves.BULK_UP, Moves.PLASMA_FISTS, Moves.ICE_HAMMER ],
[Species.IRON_JUGULIS]: [ Moves.FIERY_WRATH, Moves.ROOST, Moves.NASTY_PLOT, Moves.OBLIVION_WING ],
@@ -562,7 +562,7 @@ export const speciesEggMoves = {
[Species.CHIEN_PAO]: [ Moves.KNOCK_OFF, Moves.PARTING_SHOT, Moves.TRIPLE_AXEL, Moves.BITTER_BLADE ],
[Species.TING_LU]: [ Moves.SHORE_UP, Moves.CEASELESS_EDGE, Moves.SAPPY_SEED, Moves.PRECIPICE_BLADES ],
[Species.CHI_YU]: [ Moves.FIERY_WRATH, Moves.HYDRO_STEAM, Moves.MORNING_SUN, Moves.BLUE_FLARE ],
- [Species.ROARING_MOON]: [ Moves.FIRE_LASH, Moves.DRAGON_HAMMER, Moves.SUCKER_PUNCH, Moves.WICKED_BLOW ],
+ [Species.ROARING_MOON]: [ Moves.FIRE_LASH, Moves.DRAGON_HAMMER, Moves.METEOR_MASH, Moves.DRAGON_ASCENT ],
[Species.IRON_VALIANT]: [ Moves.PLASMA_FISTS, Moves.NO_RETREAT, Moves.SECRET_SWORD, Moves.MAGICAL_TORQUE ],
[Species.KORAIDON]: [ Moves.SUNSTEEL_STRIKE, Moves.SOLAR_BLADE, Moves.DRAGON_DARTS, Moves.BITTER_BLADE ],
[Species.MIRAIDON]: [ Moves.ICE_BEAM, Moves.CLANGOROUS_SOUL, Moves.CORE_ENFORCER, Moves.RISING_VOLTAGE ],
@@ -577,7 +577,7 @@ export const speciesEggMoves = {
[Species.RAGING_BOLT]: [ Moves.NASTY_PLOT, Moves.FLAMETHROWER, Moves.MORNING_SUN, Moves.ELECTRO_DRIFT ],
[Species.IRON_BOULDER]: [ Moves.PSYBLADE, Moves.KOWTOW_CLEAVE, Moves.STONE_AXE, Moves.BITTER_BLADE ],
[Species.IRON_CROWN]: [ Moves.NASTY_PLOT, Moves.SECRET_SWORD, Moves.PSYSTRIKE, Moves.ELECTRO_DRIFT ],
- [Species.TERAPAGOS]: [ Moves.MOONBLAST, Moves.RECOVER, Moves.ICE_BEAM, Moves.SHELL_SMASH ],
+ [Species.TERAPAGOS]: [ Moves.MOONBLAST, Moves.NASTY_PLOT, Moves.ASTRAL_BARRAGE, Moves.RECOVER ],
[Species.PECHARUNT]: [ Moves.TAKE_HEART, Moves.BODY_PRESS, Moves.SAPPY_SEED, Moves.ASTRAL_BARRAGE ],
[Species.PALDEA_TAUROS]: [ Moves.NO_RETREAT, Moves.BLAZING_TORQUE, Moves.AQUA_STEP, Moves.THUNDEROUS_KICK ],
[Species.PALDEA_WOOPER]: [ Moves.STONE_AXE, Moves.RECOVER, Moves.BANEFUL_BUNKER, Moves.BARB_BARRAGE ],
@@ -591,7 +591,7 @@ function parseEggMoves(content: string): void {
const speciesValues = Utils.getEnumValues(Species);
const lines = content.split(/\n/g);
- lines.forEach((line, l) => {
+ for (const line of lines) {
const cols = line.split(",").slice(0, 5);
const moveNames = allMoves.map(m => m.name.replace(/ \([A-Z]\)$/, "").toLowerCase());
const enumSpeciesName = cols[0].toUpperCase().replace(/[ -]/g, "_");
@@ -612,7 +612,7 @@ function parseEggMoves(content: string): void {
if (eggMoves.find(m => m !== Moves.NONE)) {
output += `[Species.${Species[species]}]: [ ${eggMoves.map(m => `Moves.${Moves[m]}`).join(", ")} ],\n`;
}
- });
+ }
console.log(output);
}
diff --git a/src/data/balance/passives.ts b/src/data/balance/passives.ts
index df347909d49..c613be0137b 100644
--- a/src/data/balance/passives.ts
+++ b/src/data/balance/passives.ts
@@ -555,7 +555,7 @@ export const starterPassiveAbilities: StarterPassiveAbilities = {
[Species.FLUTTER_MANE]: { 0: Abilities.DAZZLING },
[Species.SLITHER_WING]: { 0: Abilities.SCRAPPY },
[Species.SANDY_SHOCKS]: { 0: Abilities.ELECTRIC_SURGE },
- [Species.IRON_TREADS]: { 0: Abilities.STEELY_SPIRIT },
+ [Species.IRON_TREADS]: { 0: Abilities.DAUNTLESS_SHIELD },
[Species.IRON_BUNDLE]: { 0: Abilities.SNOW_WARNING },
[Species.IRON_HANDS]: { 0: Abilities.IRON_FIST },
[Species.IRON_JUGULIS]: { 0: Abilities.LIGHTNING_ROD },
@@ -567,7 +567,7 @@ export const starterPassiveAbilities: StarterPassiveAbilities = {
[Species.CHIEN_PAO]: { 0: Abilities.INTIMIDATE },
[Species.TING_LU]: { 0: Abilities.STAMINA },
[Species.CHI_YU]: { 0: Abilities.BERSERK },
- [Species.ROARING_MOON]: { 0: Abilities.TOUGH_CLAWS },
+ [Species.ROARING_MOON]: { 0: Abilities.INTIMIDATE },
[Species.IRON_VALIANT]: { 0: Abilities.NEUROFORCE },
[Species.KORAIDON]: { 0: Abilities.OPPORTUNIST },
[Species.MIRAIDON]: { 0: Abilities.OPPORTUNIST },
@@ -582,7 +582,7 @@ export const starterPassiveAbilities: StarterPassiveAbilities = {
[Species.RAGING_BOLT]: { 0: Abilities.BEAST_BOOST },
[Species.IRON_BOULDER]: { 0: Abilities.SHARPNESS },
[Species.IRON_CROWN]: { 0: Abilities.SHARPNESS },
- [Species.TERAPAGOS]: { 0: Abilities.SOUL_HEART },
+ [Species.TERAPAGOS]: { 0: Abilities.SHIELD_DUST },
[Species.PECHARUNT]: { 0: Abilities.TOXIC_CHAIN },
[Species.PALDEA_TAUROS]: { 0: Abilities.ADAPTABILITY },
[Species.PALDEA_WOOPER]: { 0: Abilities.THICK_FAT },
diff --git a/src/data/balance/pokemon-evolutions.ts b/src/data/balance/pokemon-evolutions.ts
index 0e101c7155b..c34bc229bd7 100644
--- a/src/data/balance/pokemon-evolutions.ts
+++ b/src/data/balance/pokemon-evolutions.ts
@@ -2,7 +2,7 @@ import { globalScene } from "#app/global-scene";
import { Gender } from "#app/data/gender";
import { PokeballType } from "#enums/pokeball";
import type Pokemon from "#app/field/pokemon";
-import { Type } from "#enums/type";
+import { PokemonType } from "#enums/pokemon-type";
import * as Utils from "#app/utils";
import { WeatherType } from "#enums/weather-type";
import { Nature } from "#enums/nature";
@@ -92,7 +92,7 @@ export class SpeciesFormEvolution {
public item: EvolutionItem | null;
public condition: SpeciesEvolutionCondition | null;
public wildDelay: SpeciesWildEvolutionDelay;
- public description: string = "";
+ public description = "";
constructor(speciesId: Species, preFormKey: string | null, evoFormKey: string | null, level: number, item: EvolutionItem | null, condition: SpeciesEvolutionCondition | null, wildDelay?: SpeciesWildEvolutionDelay) {
this.speciesId = speciesId;
@@ -206,7 +206,7 @@ class FriendshipTimeOfDayEvolutionCondition extends SpeciesEvolutionCondition {
super(p => p.friendship >= amount && (globalScene.arena.getTimeOfDay() === TimeOfDay.DUSK || globalScene.arena.getTimeOfDay() === TimeOfDay.NIGHT));
this.timesOfDay = [ TimeOfDay.DUSK, TimeOfDay.NIGHT ];
} else {
- super(p => false);
+ super(_p => false);
this.timesOfDay = [];
}
this.amount = amount;
@@ -216,12 +216,12 @@ class FriendshipTimeOfDayEvolutionCondition extends SpeciesEvolutionCondition {
class FriendshipMoveTypeEvolutionCondition extends SpeciesEvolutionCondition {
public amount: number;
- public type: Type;
- constructor(amount: number, type: Type) {
+ public type: PokemonType;
+ constructor(amount: number, type: PokemonType) {
super(p => p.friendship >= amount && !!p.getMoveset().find(m => m?.getMove().type === type));
this.amount = amount;
this.type = type;
- this.description = i18next.t("pokemonEvolutions:friendshipMoveType", { type: i18next.t(`pokemonInfo:Type.${Type[this.type]}`) });
+ this.description = i18next.t("pokemonEvolutions:friendshipMoveType", { type: i18next.t(`pokemonInfo:Type.${PokemonType[this.type]}`) });
}
}
@@ -233,11 +233,11 @@ class ShedinjaEvolutionCondition extends SpeciesEvolutionCondition {
}
class PartyTypeEvolutionCondition extends SpeciesEvolutionCondition {
- public type: Type;
- constructor(type: Type) {
+ public type: PokemonType;
+ constructor(type: PokemonType) {
super(() => !!globalScene.getPlayerParty().find(p => p.getTypes(false, false, true).indexOf(type) > -1));
this.type = type;
- this.description = i18next.t("pokemonEvolutions:partyType", { type: i18next.t(`pokemonInfo:Type.${Type[this.type]}`) });
+ this.description = i18next.t("pokemonEvolutions:partyType", { type: i18next.t(`pokemonInfo:Type.${PokemonType[this.type]}`) });
}
}
@@ -260,11 +260,11 @@ class WeatherEvolutionCondition extends SpeciesEvolutionCondition {
}
class MoveTypeEvolutionCondition extends SpeciesEvolutionCondition {
- public type: Type;
- constructor(type: Type) {
+ public type: PokemonType;
+ constructor(type: PokemonType) {
super(p => p.moveset.filter(m => m?.getMove().type === type).length > 0);
this.type = type;
- this.description = i18next.t("pokemonEvolutions:moveType", { type: i18next.t(`pokemonInfo:Type.${Type[this.type]}`) });
+ this.description = i18next.t("pokemonEvolutions:moveType", { type: i18next.t(`pokemonInfo:Type.${PokemonType[this.type]}`) });
}
}
@@ -1103,7 +1103,7 @@ export const pokemonEvolutions: PokemonEvolutions = {
new SpeciesEvolution(Species.GOGOAT, 32, null, null)
],
[Species.PANCHAM]: [
- new SpeciesEvolution(Species.PANGORO, 32, null, new PartyTypeEvolutionCondition(Type.DARK), SpeciesWildEvolutionDelay.MEDIUM)
+ new SpeciesEvolution(Species.PANGORO, 32, null, new PartyTypeEvolutionCondition(PokemonType.DARK), SpeciesWildEvolutionDelay.MEDIUM)
],
[Species.ESPURR]: [
new SpeciesFormEvolution(Species.MEOWSTIC, "", "female", 25, null, new GenderEvolutionCondition(Gender.FEMALE)),
@@ -1519,8 +1519,8 @@ export const pokemonEvolutions: PokemonEvolutions = {
new SpeciesEvolution(Species.STARMIE, 1, EvolutionItem.WATER_STONE, null, SpeciesWildEvolutionDelay.LONG)
],
[Species.EEVEE]: [
- new SpeciesFormEvolution(Species.SYLVEON, "", "", 1, null, new FriendshipMoveTypeEvolutionCondition(120, Type.FAIRY), SpeciesWildEvolutionDelay.LONG),
- new SpeciesFormEvolution(Species.SYLVEON, "partner", "", 1, null, new FriendshipMoveTypeEvolutionCondition(120, Type.FAIRY), SpeciesWildEvolutionDelay.LONG),
+ new SpeciesFormEvolution(Species.SYLVEON, "", "", 1, null, new FriendshipMoveTypeEvolutionCondition(120, PokemonType.FAIRY), SpeciesWildEvolutionDelay.LONG),
+ new SpeciesFormEvolution(Species.SYLVEON, "partner", "", 1, null, new FriendshipMoveTypeEvolutionCondition(120, PokemonType.FAIRY), SpeciesWildEvolutionDelay.LONG),
new SpeciesFormEvolution(Species.ESPEON, "", "", 1, null, new FriendshipTimeOfDayEvolutionCondition(120, "day"), SpeciesWildEvolutionDelay.LONG),
new SpeciesFormEvolution(Species.ESPEON, "partner", "", 1, null, new FriendshipTimeOfDayEvolutionCondition(120, "day"), SpeciesWildEvolutionDelay.LONG),
new SpeciesFormEvolution(Species.UMBREON, "", "", 1, null, new FriendshipTimeOfDayEvolutionCondition(120, "night"), SpeciesWildEvolutionDelay.LONG),
@@ -1758,7 +1758,7 @@ export const pokemonEvolutions: PokemonEvolutions = {
new SpeciesEvolution(Species.GENGAR, 1, EvolutionItem.LINKING_CORD, null, SpeciesWildEvolutionDelay.VERY_LONG)
],
[Species.ONIX]: [
- new SpeciesEvolution(Species.STEELIX, 1, EvolutionItem.LINKING_CORD, new MoveTypeEvolutionCondition(Type.STEEL), SpeciesWildEvolutionDelay.VERY_LONG)
+ new SpeciesEvolution(Species.STEELIX, 1, EvolutionItem.LINKING_CORD, new MoveTypeEvolutionCondition(PokemonType.STEEL), SpeciesWildEvolutionDelay.VERY_LONG)
],
[Species.RHYDON]: [
new SpeciesEvolution(Species.RHYPERIOR, 1, EvolutionItem.PROTECTOR, null, SpeciesWildEvolutionDelay.VERY_LONG)
@@ -1767,7 +1767,7 @@ export const pokemonEvolutions: PokemonEvolutions = {
new SpeciesEvolution(Species.KINGDRA, 1, EvolutionItem.DRAGON_SCALE, null, SpeciesWildEvolutionDelay.VERY_LONG)
],
[Species.SCYTHER]: [
- new SpeciesEvolution(Species.SCIZOR, 1, EvolutionItem.LINKING_CORD, new MoveTypeEvolutionCondition(Type.STEEL), SpeciesWildEvolutionDelay.VERY_LONG),
+ new SpeciesEvolution(Species.SCIZOR, 1, EvolutionItem.LINKING_CORD, new MoveTypeEvolutionCondition(PokemonType.STEEL), SpeciesWildEvolutionDelay.VERY_LONG),
new SpeciesEvolution(Species.KLEAVOR, 1, EvolutionItem.BLACK_AUGURITE, null, SpeciesWildEvolutionDelay.VERY_LONG)
],
[Species.ELECTABUZZ]: [
@@ -1898,7 +1898,7 @@ export function initPokemonPrevolutions(): void {
if (ev.evoFormKey && megaFormKeys.indexOf(ev.evoFormKey) > -1) {
continue;
}
- pokemonPrevolutions[ev.speciesId] = parseInt(pk) as Species;
+ pokemonPrevolutions[ev.speciesId] = Number.parseInt(pk) as Species;
}
});
}
diff --git a/src/data/balance/starters.ts b/src/data/balance/starters.ts
index dcf0766d005..3468163c988 100644
--- a/src/data/balance/starters.ts
+++ b/src/data/balance/starters.ts
@@ -290,7 +290,7 @@ export const speciesStarterCosts = {
[Species.SHAYMIN]: 6,
[Species.ARCEUS]: 9,
- [Species.VICTINI]: 7,
+ [Species.VICTINI]: 6,
[Species.SNIVY]: 3,
[Species.TEPIG]: 3,
[Species.OSHAWOTT]: 3,
@@ -461,7 +461,7 @@ export const speciesStarterCosts = {
[Species.GUZZLORD]: 6,
[Species.NECROZMA]: 8,
[Species.MAGEARNA]: 7,
- [Species.MARSHADOW]: 7,
+ [Species.MARSHADOW]: 8,
[Species.POIPOLE]: 8,
[Species.STAKATAKA]: 6,
[Species.BLACEPHALON]: 7,
@@ -611,7 +611,7 @@ export const speciesStarterCosts = {
[Species.RAGING_BOLT]: 7,
[Species.IRON_BOULDER]: 7,
[Species.IRON_CROWN]: 7,
- [Species.TERAPAGOS]: 8,
+ [Species.TERAPAGOS]: 9,
[Species.PECHARUNT]: 6,
[Species.PALDEA_TAUROS]: 5,
[Species.PALDEA_WOOPER]: 3,
diff --git a/src/data/battle-anims.ts b/src/data/battle-anims.ts
index a179f3a3e9b..86060ef4bfc 100644
--- a/src/data/battle-anims.ts
+++ b/src/data/battle-anims.ts
@@ -1,7 +1,8 @@
import { globalScene } from "#app/global-scene";
-import { AttackMove, BeakBlastHeaderAttr, DelayedAttackAttr, MoveFlags, SelfStatusMove, allMoves } from "./move";
+import { AttackMove, BeakBlastHeaderAttr, DelayedAttackAttr, SelfStatusMove, allMoves } from "./moves/move";
+import { MoveFlags } from "#enums/MoveFlags";
import type Pokemon from "../field/pokemon";
-import * as Utils from "../utils";
+import { type nil, getFrameMs, getEnumKeys, getEnumValues, animationFileName } from "../utils";
import type { BattlerIndex } from "../battle";
import type { Element } from "json-stable-stringify";
import { Moves } from "#enums/moves";
@@ -11,99 +12,99 @@ import Phaser from "phaser";
import { EncounterAnim } from "#enums/encounter-anims";
export enum AnimFrameTarget {
- USER,
- TARGET,
- GRAPHIC
+ USER,
+ TARGET,
+ GRAPHIC,
}
enum AnimFocus {
- TARGET = 1,
- USER,
- USER_TARGET,
- SCREEN
+ TARGET = 1,
+ USER,
+ USER_TARGET,
+ SCREEN,
}
enum AnimBlendType {
- NORMAL,
- ADD,
- SUBTRACT
+ NORMAL,
+ ADD,
+ SUBTRACT,
}
export enum ChargeAnim {
- FLY_CHARGING = 1000,
- BOUNCE_CHARGING,
- DIG_CHARGING,
- FUTURE_SIGHT_CHARGING,
- DIVE_CHARGING,
- SOLAR_BEAM_CHARGING,
- SHADOW_FORCE_CHARGING,
- SKULL_BASH_CHARGING,
- FREEZE_SHOCK_CHARGING,
- SKY_DROP_CHARGING,
- SKY_ATTACK_CHARGING,
- ICE_BURN_CHARGING,
- DOOM_DESIRE_CHARGING,
- RAZOR_WIND_CHARGING,
- PHANTOM_FORCE_CHARGING,
- GEOMANCY_CHARGING,
- SHADOW_BLADE_CHARGING,
- SOLAR_BLADE_CHARGING,
- BEAK_BLAST_CHARGING,
- METEOR_BEAM_CHARGING,
- ELECTRO_SHOT_CHARGING
+ FLY_CHARGING = 1000,
+ BOUNCE_CHARGING,
+ DIG_CHARGING,
+ FUTURE_SIGHT_CHARGING,
+ DIVE_CHARGING,
+ SOLAR_BEAM_CHARGING,
+ SHADOW_FORCE_CHARGING,
+ SKULL_BASH_CHARGING,
+ FREEZE_SHOCK_CHARGING,
+ SKY_DROP_CHARGING,
+ SKY_ATTACK_CHARGING,
+ ICE_BURN_CHARGING,
+ DOOM_DESIRE_CHARGING,
+ RAZOR_WIND_CHARGING,
+ PHANTOM_FORCE_CHARGING,
+ GEOMANCY_CHARGING,
+ SHADOW_BLADE_CHARGING,
+ SOLAR_BLADE_CHARGING,
+ BEAK_BLAST_CHARGING,
+ METEOR_BEAM_CHARGING,
+ ELECTRO_SHOT_CHARGING,
}
export enum CommonAnim {
- USE_ITEM = 2000,
- HEALTH_UP,
- TERASTALLIZE,
- POISON = 2010,
- TOXIC,
- PARALYSIS,
- SLEEP,
- FROZEN,
- BURN,
- CONFUSION,
- ATTRACT,
- BIND,
- WRAP,
- CURSE_NO_GHOST,
- LEECH_SEED,
- FIRE_SPIN,
- PROTECT,
- COVET,
- WHIRLPOOL,
- BIDE,
- SAND_TOMB,
- QUICK_GUARD,
- WIDE_GUARD,
- CURSE,
- MAGMA_STORM,
- CLAMP,
- SNAP_TRAP,
- THUNDER_CAGE,
- INFESTATION,
- ORDER_UP_CURLY,
- ORDER_UP_DROOPY,
- ORDER_UP_STRETCHY,
- RAGING_BULL_FIRE,
- RAGING_BULL_WATER,
- SALT_CURE,
- POWDER,
- SUNNY = 2100,
- RAIN,
- SANDSTORM,
- HAIL,
- SNOW,
- WIND,
- HEAVY_RAIN,
- HARSH_SUN,
- STRONG_WINDS,
- MISTY_TERRAIN = 2110,
- ELECTRIC_TERRAIN,
- GRASSY_TERRAIN,
- PSYCHIC_TERRAIN,
- LOCK_ON = 2120
+ USE_ITEM = 2000,
+ HEALTH_UP,
+ TERASTALLIZE,
+ POISON = 2010,
+ TOXIC,
+ PARALYSIS,
+ SLEEP,
+ FROZEN,
+ BURN,
+ CONFUSION,
+ ATTRACT,
+ BIND,
+ WRAP,
+ CURSE_NO_GHOST,
+ LEECH_SEED,
+ FIRE_SPIN,
+ PROTECT,
+ COVET,
+ WHIRLPOOL,
+ BIDE,
+ SAND_TOMB,
+ QUICK_GUARD,
+ WIDE_GUARD,
+ CURSE,
+ MAGMA_STORM,
+ CLAMP,
+ SNAP_TRAP,
+ THUNDER_CAGE,
+ INFESTATION,
+ ORDER_UP_CURLY,
+ ORDER_UP_DROOPY,
+ ORDER_UP_STRETCHY,
+ RAGING_BULL_FIRE,
+ RAGING_BULL_WATER,
+ SALT_CURE,
+ POWDER,
+ SUNNY = 2100,
+ RAIN,
+ SANDSTORM,
+ HAIL,
+ SNOW,
+ WIND,
+ HEAVY_RAIN,
+ HARSH_SUN,
+ STRONG_WINDS,
+ MISTY_TERRAIN = 2110,
+ ELECTRIC_TERRAIN,
+ GRASSY_TERRAIN,
+ PSYCHIC_TERRAIN,
+ LOCK_ON = 2120,
}
export class AnimConfig {
@@ -115,7 +116,7 @@ export class AnimConfig {
public hue: number;
constructor(source?: any) {
- this.frameTimedEvents = new Map;
+ this.frameTimedEvents = new Map();
if (source) {
this.id = source.id;
@@ -147,7 +148,7 @@ export class AnimConfig {
timedEvent && timedEvents.push(timedEvent);
}
- this.frameTimedEvents.set(parseInt(fte), timedEvents);
+ this.frameTimedEvents.set(Number.parseInt(fte), timedEvents);
}
this.position = source.position;
@@ -205,9 +206,34 @@ class AnimFrame {
public priority: number;
public focus: AnimFocus;
- constructor(x: number, y: number, zoomX: number, zoomY: number, angle: number, mirror: boolean, visible: boolean, blendType: AnimBlendType, pattern: number,
- opacity: number, colorR: number, colorG: number, colorB: number, colorA: number, toneR: number, toneG: number, toneB: number, toneA: number,
- flashR: number, flashG: number, flashB: number, flashA: number, locked: boolean, priority: number, focus: AnimFocus, init?: boolean) {
+ constructor(
+ x: number,
+ y: number,
+ zoomX: number,
+ zoomY: number,
+ angle: number,
+ mirror: boolean,
+ visible: boolean,
+ blendType: AnimBlendType,
+ pattern: number,
+ opacity: number,
+ colorR: number,
+ colorG: number,
+ colorB: number,
+ colorA: number,
+ toneR: number,
+ toneG: number,
+ toneB: number,
+ toneA: number,
+ flashR: number,
+ flashG: number,
+ flashB: number,
+ flashA: number,
+ locked: boolean,
+ priority: number,
+ focus: AnimFocus,
+ init?: boolean,
+ ) {
this.x = !init ? ((x || 0) - 128) * 0.5 : x;
this.y = !init ? ((y || 0) - 224) * 0.5 : y;
if (zoomX) {
@@ -259,19 +285,19 @@ class AnimFrame {
this.opacity = 0;
}
if (colorR || colorG || colorB || colorA) {
- this.color = [ colorR || 0, colorG || 0, colorB || 0, colorA || 0 ];
+ this.color = [colorR || 0, colorG || 0, colorB || 0, colorA || 0];
} else if (init) {
- this.color = [ 0, 0, 0, 0 ];
+ this.color = [0, 0, 0, 0];
}
if (toneR || toneG || toneB || toneA) {
- this.tone = [ toneR || 0, toneG || 0, toneB || 0, toneA || 0 ];
+ this.tone = [toneR || 0, toneG || 0, toneB || 0, toneA || 0];
} else if (init) {
- this.tone = [ 0, 0, 0, 0 ];
+ this.tone = [0, 0, 0, 0];
}
if (flashR || flashG || flashB || flashA) {
- this.flash = [ flashR || 0, flashG || 0, flashB || 0, flashA || 0 ];
+ this.flash = [flashR || 0, flashG || 0, flashB || 0, flashA || 0];
} else if (init) {
- this.flash = [ 0, 0, 0, 0 ];
+ this.flash = [0, 0, 0, 0];
}
if (locked) {
this.locked = locked;
@@ -289,10 +315,37 @@ class AnimFrame {
class ImportedAnimFrame extends AnimFrame {
constructor(source: any) {
- const color: number[] = source.color || [ 0, 0, 0, 0 ];
- const tone: number[] = source.tone || [ 0, 0, 0, 0 ];
- const flash: number[] = source.flash || [ 0, 0, 0, 0 ];
- super(source.x, source.y, source.zoomX, source.zoomY, source.angle, source.mirror, source.visible, source.blendType, source.graphicFrame, source.opacity, color[0], color[1], color[2], color[3], tone[0], tone[1], tone[2], tone[3], flash[0], flash[1], flash[2], flash[3], source.locked, source.priority, source.focus, true);
+ const color: number[] = source.color || [0, 0, 0, 0];
+ const tone: number[] = source.tone || [0, 0, 0, 0];
+ const flash: number[] = source.flash || [0, 0, 0, 0];
+ super(
+ source.x,
+ source.y,
+ source.zoomX,
+ source.zoomY,
+ source.angle,
+ source.mirror,
+ source.visible,
+ source.blendType,
+ source.graphicFrame,
+ source.opacity,
+ color[0],
+ color[1],
+ color[2],
+ color[3],
+ tone[0],
+ tone[1],
+ tone[2],
+ tone[3],
+ flash[0],
+ flash[1],
+ flash[2],
+ flash[3],
+ source.locked,
+ source.priority,
+ source.focus,
+ true,
+ );
this.target = source.target;
this.graphicFrame = source.graphicFrame;
}
@@ -307,14 +360,14 @@ abstract class AnimTimedEvent {
this.resourceName = resourceName;
}
- abstract execute(battleAnim: BattleAnim, priority?: number): number;
+ abstract execute(battleAnim: BattleAnim, priority?: number): number;
- abstract getEventType(): string;
+ abstract getEventType(): string;
}
class AnimTimedSoundEvent extends AnimTimedEvent {
- public volume: number = 100;
- public pitch: number = 100;
+ public volume = 100;
+ public pitch = 100;
constructor(frameIndex: number, resourceName: string, source?: any) {
super(frameIndex, resourceName);
@@ -325,8 +378,8 @@ class AnimTimedSoundEvent extends AnimTimedEvent {
}
}
- execute(battleAnim: BattleAnim, priority?: number): number {
- const soundConfig = { rate: (this.pitch * 0.01), volume: (this.volume * 0.01) };
+ execute(battleAnim: BattleAnim): number {
+ const soundConfig = { rate: this.pitch * 0.01, volume: this.volume * 0.01 };
if (this.resourceName) {
try {
globalScene.playSound(`battle_anims/${this.resourceName}`, soundConfig);
@@ -334,9 +387,8 @@ class AnimTimedSoundEvent extends AnimTimedEvent {
console.error(err);
}
return Math.ceil((globalScene.sound.get(`battle_anims/${this.resourceName}`).totalDuration * 1000) / 33.33);
- } else {
- return Math.ceil((battleAnim.user!.cry(soundConfig).totalDuration * 1000) / 33.33); // TODO: is the bang behind user correct?
}
+ return Math.ceil((battleAnim.user!.cry(soundConfig).totalDuration * 1000) / 33.33); // TODO: is the bang behind user correct?
}
getEventType(): string {
@@ -345,14 +397,14 @@ class AnimTimedSoundEvent extends AnimTimedEvent {
}
abstract class AnimTimedBgEvent extends AnimTimedEvent {
- public bgX: number = 0;
- public bgY: number = 0;
- public opacity: number = 0;
+ public bgX = 0;
+ public bgY = 0;
+ public opacity = 0;
/*public colorRed: number = 0;
public colorGreen: number = 0;
public colorBlue: number = 0;
public colorAlpha: number = 0;*/
- public duration: number = 0;
+ public duration = 0;
/*public flashScope: number = 0;
public flashRed: number = 0;
public flashGreen: number = 0;
@@ -360,7 +412,7 @@ abstract class AnimTimedBgEvent extends AnimTimedEvent {
public flashAlpha: number = 0;
public flashDuration: number = 0;*/
- constructor(frameIndex: number, resourceName: string, source: any) {
+ constructor(frameIndex: number, resourceName: string, source?: any) {
super(frameIndex, resourceName);
if (source) {
@@ -383,26 +435,28 @@ abstract class AnimTimedBgEvent extends AnimTimedEvent {
}
class AnimTimedUpdateBgEvent extends AnimTimedBgEvent {
- constructor(frameIndex: number, resourceName: string, source?: any) {
- super(frameIndex, resourceName, source);
- }
-
+ // biome-ignore lint/correctness/noUnusedVariables: seems intentional
execute(moveAnim: MoveAnim, priority?: number): number {
const tweenProps = {};
if (this.bgX !== undefined) {
- tweenProps["x"] = (this.bgX * 0.5) - 320;
+ tweenProps["x"] = this.bgX * 0.5 - 320;
}
if (this.bgY !== undefined) {
- tweenProps["y"] = (this.bgY * 0.5) - 284;
+ tweenProps["y"] = this.bgY * 0.5 - 284;
}
if (this.opacity !== undefined) {
tweenProps["alpha"] = (this.opacity || 0) / 255;
}
if (Object.keys(tweenProps).length) {
- globalScene.tweens.add(Object.assign({
- targets: moveAnim.bgSprite,
- duration: Utils.getFrameMs(this.duration * 3)
- }, tweenProps));
+ globalScene.tweens.add(
+ Object.assign(
+ {
+ targets: moveAnim.bgSprite,
+ duration: getFrameMs(this.duration * 3),
+ },
+ tweenProps,
+ ),
+ );
}
return this.duration * 2;
}
@@ -413,10 +467,6 @@ class AnimTimedUpdateBgEvent extends AnimTimedBgEvent {
}
class AnimTimedAddBgEvent extends AnimTimedBgEvent {
- constructor(frameIndex: number, resourceName: string, source?: any) {
- super(frameIndex, resourceName, source);
- }
-
execute(moveAnim: MoveAnim, priority?: number): number {
if (moveAnim.bgSprite) {
moveAnim.bgSprite.destroy();
@@ -437,7 +487,7 @@ class AnimTimedAddBgEvent extends AnimTimedBgEvent {
globalScene.tweens.add({
targets: moveAnim.bgSprite,
- duration: Utils.getFrameMs(this.duration * 3)
+ duration: getFrameMs(this.duration * 3),
});
return this.duration * 2;
@@ -455,14 +505,17 @@ export const encounterAnims = new Map();
export function initCommonAnims(): Promise {
return new Promise(resolve => {
- const commonAnimNames = Utils.getEnumKeys(CommonAnim);
- const commonAnimIds = Utils.getEnumValues(CommonAnim);
+ const commonAnimNames = getEnumKeys(CommonAnim);
+ const commonAnimIds = getEnumValues(CommonAnim);
const commonAnimFetches: Promise